Creazione di un'istanza di servizio per DataStage programmazione

Quando si esegue l'installazione DataStage, viene creata automaticamente un'istanza di servizio. È possibile creare ulteriori istanze di servizio nel progetto operands. Se sei un IBM® Software Hub utente, puoi utilizzare la /v3/service_instances chiamata API REST per creare istanze di servizio in modo programmatico.

Chi deve completare questo compito?
Per creare un'istanza di servizio a livello di programmazione utilizzando la /v3/service_instances chiamata API REST, è necessario disporre dell'autorizzazione Crea istanze di servizio (can_provision) in IBM Software Hub.
Quando devi completare questo compito?
Completa questa operazione solo se desideri creare un'istanza di servizio a livello di programmazione utilizzando la chiamata /v3/service_instances API REST.
Metodi alternativi per creare un'istanza di servizio

Informazioni necessarie per completare questa attività

Prima di creare un'istanza di servizio per DataStage :, rivedere le seguenti informazioni

Requisiti di versione

Tutti i componenti associati a un'istanza di IBM Software Hub devono essere installati o creati nella stessa versione. Ad esempio, se DataStage è installato nella versione 5.3.1, è necessario creare l'istanza del servizio nella versione 5.3.1.

Variabili di ambiente

I comandi in questa attività utilizzano variabili di ambiente in modo da poter eseguire i comandi esattamente come sono scritti.

  • Se non disponi dello script che definisce le variabili di ambiente, consulta Configurazione delle variabili di ambiente di installazione.
  • Per utilizzare le variabili di ambiente dallo script, è necessario caricare le variabili di ambiente prima di eseguire i comandi in questa attività. Ad esempio, eseguire:
    source ./cpd_vars.sh

Prima di iniziare

Questo compito presuppone che siano soddisfatti i seguenti prerequisiti:

Prerequisito Dove trovare ulteriori informazioni
DataStage è installato. Se questa operazione non è stata completata, consultare Installazione DataStage.
Hai generato una chiave API.

La chiave API deve essere associata a un utente che dispone dell'autorizzazione Crea istanze di servizio (can_provision) in IBM Software Hub.

Se questa operazione non è stata completata, consultare Generazione di un token di autorizzazione API.

Procedura

Per creare un'istanza di servizio, completare le seguenti operazioni:

  1. Creazione di un'istanza di servizio
  2. Conferma della creazione dell'istanza del servizio
  3. Cosa fare dopo

Creazione di un'istanza del servizio

Per creare un'istanza di servizio:

  1. Passa alla directory della workstation in cui desideri creare il file JSON che definisce il payload dell'istanza del servizio.
  2. Imposta le variabili di ambiente utilizzate per popolare il payload JSON per l'istanza del servizio:
    1. Imposta la variabile INSTANCE_NAME di ambiente con il nome univoco che desideri utilizzare come nome visualizzato per l'istanza del servizio:
      export INSTANCE_NAME="<display-name>"

      Questo nome viene visualizzato nella pagina Istanze del client IBM Software Hub web.

      Il nome visualizzato è un string e può contenere caratteri alfanumerici (a-z, A-Z, 0-9), spazi ( ), trattini (-), caratteri di sottolineatura (_) e punti (.). Assicurarsi di racchiudere il nome visualizzato tra virgolette, come mostrato nel comando export precedente.

    2. Imposta la variabile INSTANCE_DESCRIPTION di ambiente con la descrizione che desideri utilizzare per l'istanza del servizio:
      export INSTANCE_DESCRIPTION="<description>"

      Questa descrizione viene visualizzata nella pagina Istanze del client IBM Software Hub web.

      La descrizione è un string e può contenere caratteri alfanumerici, spazi, trattini, caratteri di sottolineatura e punti. Assicurarsi di racchiudere il nome visualizzato tra virgolette, come mostrato nel comando export precedente.

    3. Imposta INSTANCE_VERSION sulla versione corrispondente alla versione di IBM Software Hub sul tuo cluster:
      export INSTANCE_VERSION=<version>

      Utilizzare la tabella seguente per determinare il valore appropriato:

      IBM Software Hub Versione Versione istanza servizio
      5.3.1 5.3.1
      5.3.0 5.3.0
    4. Impostare la variabile di ambiente INSTANCE_SIZE. La dimensione determina le risorse assegnate all'istanza del servizio.
      export INSTANCE_SIZE=<size>
      I valori validi sono:
      • small
      • medium
      • large

      Per ulteriori informazioni sulle risorse associate a ciascuna dimensione, consultare la guida al ridimensionamento dei componenti in formato PDF, scaricabile dal sito IBM Entitled Registry.

  3. Crea il file datastage-instance.json di payload:
    cat << EOF > ./datastage-instance.json
    {
        "display_name": "${INSTANCE_NAME}",
        "namespace": "${PROJECT_CPD_INST_OPERANDS}",
        "addon_type": "datastage",
        "addon_version": "${INSTANCE_VERSION}",
        "create_arguments": {
            "description": "${INSTANCE_DESCRIPTION}",
            "metadata": {
                "storageClass": "${STG_CLASS_FILE}",
                "scaleConfig": "${INSTANCE_SIZE}"
            },
            "owner_username": "admin",
            "parameters": {
                "storageClass": "${STG_CLASS_FILE}",
                "scaleConfig": "${INSTANCE_SIZE}"
            },
            "resources": {}
        },
        "preExistingOwner": "false",
        "transientFields": {}
    }
    EOF
    Le seguenti variabili d'ambiente utilizzano i valori già definiti nello script delle variabili d'ambiente dell'installazione:
    • ${PROJECT_CPD_INST_OPERANDS}
    • ${STG_CLASS_FILE}
  4. Imposta la variabile PAYLOAD_FILE di ambiente con il nome completo del file JSON payload sulla tua workstation:
    export PAYLOAD_FILE=<fully-qualified-JSON-file-name>
  5. Imposta le variabili di ambiente utilizzate per connettersi all'istanza di IBM Software Hub in cui desideri creare l'istanza del servizio:
    1. Imposta la variabile CPD_ROUTE di ambiente:
      export CPD_ROUTE=$(oc get route cpd -n ${PROJECT_CPD_INST_OPERANDS} -o jsonpath={".spec.host"})

      Il comando utilizza la PROJECT_CPD_INST_OPERANDS variabile, che è già definita nello script delle variabili di ambiente dell'installazione.

    2. Imposta la variabile API_KEY di ambiente con la chiave API che hai creato:
      export API_KEY=<your_api_key>
  6. Crea l'istanza del servizio dal file di payload.

    Il comando da eseguire dipende dal fatto che l'istanza in IBM Software Hub cui si desidera creare l'istanza del servizio utilizzi un certificato autofirmato o un certificato firmato da un'autorità di certificazione attendibile.


    L'istanza utilizza un certificato firmato da un'autorità di certificazione attendibile
    curl --request POST \
    --url "https://${CPD_ROUTE}/zen-data/v3/service_instances" \
    --header "Authorization: ZenApiKey ${API_KEY}" \
    --header 'Content-Type: application/json' \
    --data @${PAYLOAD_FILE}

    L'istanza utilizza un certificato autofirmato (impostazione predefinita)
    curl -k --request POST \
    --url "https://${CPD_ROUTE}/zen-data/v3/service_instances" \
    --header "Authorization: ZenApiKey ${API_KEY}" \
    --header 'Content-Type: application/json' \
    --data @${PAYLOAD_FILE}

    Se la richiesta ha avuto esito positivo, il comando restituisce uno dei seguenti HTTP codici di risposta:
    • 200 - La richiesta è stata completata con successo e l'istanza del servizio è stata fornita.
    • 202 - La richiesta è stata inviata con successo. L'istanza del servizio è in fase di provisioning.

    Se la richiesta non ha avuto esito positivo, utilizzare il HTTP codice di risposta per determinarne il motivo.

Conferma della creazione dell'istanza del servizio

Per verificare che l'istanza del servizio sia stata creata:

  1. Imposta la variabile INSTANCE_ID di ambiente sull'ID restituito dal comando POSTcURL :
    export INSTANCE_ID=<ID-from-response>
  2. Ottieni lo stato dell'istanza del servizio.

    Il comando da eseguire dipende dal fatto che l'istanza in IBM Software Hub cui si desidera creare l'istanza del servizio utilizzi un certificato autofirmato o un certificato firmato da un'autorità di certificazione attendibile.


    L'istanza utilizza un certificato firmato da un'autorità di certificazione attendibile
    curl --request GET \
      --url "https://${CPD_ROUTE}/zen-data/v3/service_instances/${INSTANCE_ID}" \
      --header "Authorization: ZenApiKey ${API_KEY}" \
      --header 'Content-Type: application/json'

    L'istanza utilizza un certificato autofirmato (impostazione predefinita)
    curl -k --request GET \
      --url "https://${CPD_ROUTE}/zen-data/v3/service_instances/${INSTANCE_ID}" \
      --header "Authorization: ZenApiKey ${API_KEY}" \
      --header 'Content-Type: application/json'

    • Se la richiesta ha avuto esito positivo, il comando restituisce il seguente HTTP codice di risposta: 200
      Trova il provision_status parametro nella risposta JSON.
      • Se il valore è PROVISIONED, l'istanza del servizio è stata creata correttamente.
      • Se il valore è PROVISION_IN_PROGRESS, attendere qualche minuto e rieseguire il comando.
      • Se il valore è FAILED, controlla i log dei pod e per zen-watcher individuare zen-core-api le possibili cause.
    • Se la richiesta non ha avuto esito positivo, utilizzare il HTTP codice di risposta per determinarne il motivo.

Cosa fare successivamente

È necessario concedere agli utenti l'accesso all'istanza del servizio. Per ulteriori informazioni, vedere Creazione di un'istanza di servizio per DataStage.