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_instancesl'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_instancesl'API REST.
Autres méthodes pour créer une instance de service
- Depuis le client Web. Pour plus d'informations, consultez la section « Création d'une instance de service pour Watson OpenScale à partir du client Web ».
- En utilisant la
cpd-cli service-instance createcommande. Pour plus d'informations, consultez la section Création d'une instance de service pour Watson OpenScale à l'aide de la commande cpd-cli service-instance create.
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.
- Si vous ne disposez pas du script qui définit les variables d'environnement, consultez la section « Configuration des variables d'environnement d'installation ».
- Pour utiliser les variables d'environnement depuis le script, vous devez les charger avant d'exécuter les commandes de cette tâche. Par exemple, exécutez :
source ./cpd_vars.sh
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 ( |
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 :
Création d'une instance de service
Pour créer une instance de service :
- 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.
- Définissez les variables d'environnement utilisées pour remplir la charge utile JSON de l'instance du service :
- Définissez la variable
INSTANCE_NAMEd'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
stringet 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 commandeexportprécédente. - Définissez la variable
INSTANCE_VERSIONd'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
- Définissez la variable
- Créez le fichier
openscale-instance.jsonde 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": {} } } EOFLes 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}
- Définissez la variable
PAYLOAD_FILEd'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> - 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 :
- Définissez la variable
CPD_ROUTEd'environnement :export CPD_ROUTE=$(oc get route cpd -n ${PROJECT_CPD_INST_OPERANDS} -o jsonpath={".spec.host"})La commande utilise la
PROJECT_CPD_INST_OPERANDSvariable, qui est déjà définie dans le script des variables d'environnement de votre installation. - Définissez la variable
API_KEYd'environnement avec la clé API que vous avez créée :export API_KEY=<your_api_key>
- Définissez la variable
- 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 :
- Définissez la variable
INSTANCE_IDd'environnement sur l'ID renvoyé par la commandePOSTcURL :export INSTANCE_ID=<ID-from-response> - 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 : 200Recherchez le
provision_statusparamè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 podszen-watcheret pour identifierzen-core-apiles causes possibles.
- Si la valeur est
- Si la requête a échoué, utilisez le code de réponse « HTTP » pour en déterminer la cause.
- Si la requête a abouti, la commande renvoie le code de réponse suivant de l' HTTP : 200
Etape suivante
L'instance du service est prête à l'emploi.