Création d'une instance de service pour l' Watson OpenScale par programmation

Lorsque vous installez Watson OpenScale, une instance de service est créée automatiquement. Vous pouvez, si vous le souhaitez, créer d'autres instances de service dans le projet « operands ». Si vous êtes un IBM® Software Hub utilisateur, vous pouvez utiliser l'appel à /v3/service_instances l'API REST pour créer des instances de service par programmation.

Qui doit s'acquitter de cette tâche?
Pour créer une instance de service par programmation à l'aide d'un appel à /v3/service_instances l'API REST, vous devez disposer de l'autorisation « Créer des instances de service (can_provision) » dans IBM Software Hub.
Quand devez-vous effectuer cette tâche?
N'effectuez cette tâche que si vous souhaitez créer une instance de service par programmation à l'aide d'un appel à /v3/service_instances l'API REST.
Autres méthodes pour créer une instance de service

Informations nécessaires à l'exécution de cette tâche

Veuillez prendre connaissance des informations suivantes avant de créer une instance de service pour Watson OpenScale :

Version requise

Tous les composants associés à une instance de IBM Software Hub doivent être installés ou créés au cours de la même version. Par exemple, si Watson OpenScale est installé avec la version 5.3.1, vous devez créer l'instance de service avec la version 5.3.1.

Important : Watson OpenScale utilise un numéro de version différent de celui de IBM Software Hub. Cette rubrique comprend un tableau indiquant la version d' Watson OpenScale pour chaque mise à jour de IBM Software Hub. Utilisez ce tableau pour trouver la version appropriée en fonction de la version IBM Software Hub installée.
Variables d'environnement

Les commandes de cette tâche utilisent des variables d'environnement afin que vous puissiez les exécuter exactement telles qu'elles sont écrites.

Avant de commencer

Cette tâche suppose que les conditions préalables suivantes sont remplies :

Prérequis Où trouver des informations supplémentaires
Watson OpenScale est installé. Si cette tâche n'est pas terminée, consultez la section « Installation d' Watson OpenScale ».
Vous avez généré une clé API.

La clé API doit être associée à un utilisateur disposant de l'autorisation « Créer des instances de service (can_provision) » dans IBM Software Hub.

Si cette tâche n'est pas terminée, consultez la section « Génération d'un jeton d'autorisation API ».

Procédure

Effectuez les opérations suivantes pour créer une instance de service :

  1. Création d'une instance de service
  2. Vérification de la création de l'instance de service
  3. Que faire ensuite?

Création d'une instance de service

Pour créer une instance de service :

  1. Accédez au répertoire de votre poste de travail dans lequel vous souhaitez créer le fichier JSON définissant la charge utile de l'instance de service.
  2. Définissez les variables d'environnement utilisées pour remplir la charge utile JSON de l'instance du service :
    1. Définissez la variable INSTANCE_NAME d'environnement sur le nom unique que vous souhaitez utiliser comme nom d'affichage pour l'instance du service :
      export INSTANCE_NAME="<display-name>"

      Ce nom s'affiche sur la page « Instances » du client IBM Software Hub Web.

      Le nom d'affichage est un string et peut contenir des caractères alphanumériques (a-z, A-Z, 0-9), des espaces ( ), des tirets (-), des traits de soulignement (_) et des points (.). Veillez à placer le nom d'affichage entre guillemets, comme indiqué dans la commande export précédente.

    2. Définissez la variable INSTANCE_VERSION d'environnement sur la version correspondant à celle de IBM Software Hub sur votre cluster :
      export INSTANCE_VERSION=<version>

      Utilisez le tableau suivant pour déterminer la valeur appropriée :

      IBM Software Hubversion Version d'instance de service
      5.3.1 5.3.1
      5.3.0 5.3.0
  3. Créez le fichier openscale-instance.json de données utiles.
    cat << EOF > ./openscale-instance.json
    {
        "addon_type": "aios",
        "display_name": "${INSTANCE_NAME}",
        "namespace": "${PROJECT_CPD_INST_OPERANDS}",
        "addon_version": "${INSTANCE_VERSION}",
        "create_arguments": {
            "description": "IBM Watson OpenScale",
            "metadata": {},
            "parameters": {}
        }
    }
    EOF
    Les variables d'environnement suivantes utilisent les valeurs déjà définies dans le script des variables d'environnement de votre installation :
    • ${PROJECT_CPD_INST_OPERANDS}
  4. Définissez la variable PAYLOAD_FILE d'environnement sur le nom complet du fichier de données JSON présent sur votre poste de travail :
    export PAYLOAD_FILE=<fully-qualified-JSON-file-name>
  5. Définissez les variables d'environnement utilisées pour se connecter à l'instance sur IBM Software Hub laquelle vous souhaitez créer l'instance de service :
    1. Définissez la variable CPD_ROUTE d'environnement :
      export CPD_ROUTE=$(oc get route cpd -n ${PROJECT_CPD_INST_OPERANDS} -o jsonpath={".spec.host"})

      La commande utilise la PROJECT_CPD_INST_OPERANDS variable, qui est déjà définie dans le script des variables d'environnement de votre installation.

    2. Définissez la variable API_KEY d'environnement avec la clé API que vous avez créée :
      export API_KEY=<your_api_key>
  6. Créez l'instance du service à partir du fichier de données utiles.

    La commande à exécuter dépend du fait que l'instance sur IBM Software Hub laquelle vous souhaitez créer l'instance de service utilise un certificat auto-signé ou un certificat signé par une autorité de certification de confiance.


    L'instance utilise un certificat signé par une autorité de certification de confiance
    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'instance utilise un certificat auto-signé (par défaut)
    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}

    Si la requête a abouti, la commande renvoie l'un des codes de réponse suivants de l' HTTP :
    • 200 - La requête a été traitée avec succès et l'instance du service a été provisionnée.
    • 202 - La demande a été envoyée avec succès. L'instance du service est en cours de provisionnement.

    Si la requête a échoué, utilisez le code de réponse « HTTP » pour en déterminer la cause.

Vérification de la création de l'instance de service

Pour vérifier que l'instance du service a bien été créée :

  1. Définissez la variable INSTANCE_ID d'environnement sur l'ID renvoyé par la commande POSTcURL :
    export INSTANCE_ID=<ID-from-response>
  2. Obtenir l'état de l'instance du service.

    La commande à exécuter dépend du fait que l'instance sur IBM Software Hub laquelle vous souhaitez créer l'instance de service utilise un certificat auto-signé ou un certificat signé par une autorité de certification de confiance.


    L'instance utilise un certificat signé par une autorité de certification de confiance
    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'instance utilise un certificat auto-signé (par défaut)
    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'

    • Si la requête a abouti, la commande renvoie le code de réponse suivant de l' HTTP : 200
      Recherchez le provision_status paramètre dans la réponse JSON.
      • Si la valeur est PROVISIONED, l'instance du service a été créée avec succès.
      • Si la valeur est PROVISION_IN_PROGRESS, attendez quelques minutes, puis relancez la commande.
      • Si la valeur est FAILED, consultez les journaux des pods zen-watcher et pour identifier zen-core-api les causes possibles.
    • Si la requête a échoué, utilisez le code de réponse « HTTP » pour en déterminer la cause.

Etape suivante

L'instance du service est prête à l'emploi.