Création d'une instance de service pour DataStage par programmation
Lorsque vous installez DataStage, une instance de service est créée automatiquement. Vous pouvez éventuellement créer d'autres instances de service dans le projet operands. Si vous êtes un IBM® Software
Hub utilisateur, vous pouvez utiliser l'appel API /v3/service_instances REST pour créer des instances de service par programmation.
- Qui doit accomplir cette tâche?
- Pour créer une instance de service par programmation à l'aide de l'appel
/v3/service_instancesAPI REST, vous devez disposer de l'autorisation Créer des instances de service (can_provision) dans IBM Software Hub.
- Quand devez-vous terminer cette tâche?
- Effectuez cette tâche uniquement si vous souhaitez créer une instance de service par programmation à l'aide de l'appel
/v3/service_instancesAPI REST.
Méthodes alternatives pour créer une instance de service
- Depuis le client Web. Pour plus d'informations, consultez Création d'une instance de service pour DataStage à partir du client Web.
- En utilisant la
cpd-cli service-instance createcommande. Pour plus d'informations, consultez Création d'une instance de service pour DataStage à l'aide de la commande cpd-cli service-instance create. - En utilisant la
cpd-cli manage apply-crcommande. Pour plus d'informations, consultez Création d'une instance de service pour DataStage à l'aide de la commande cpd-cli manage apply-cr.
Informations nécessaires à l'exécution de cette tâche
Vérifiez les informations suivantes avant de créer une instance de service pour DataStage :
- Version requise
Tous les composants associés à une instance de IBM Software Hub doivent être installés ou créés lors de la même version. Par exemple, si DataStage est installé en version 5.3.1, vous devez créer l'instance de service en version 5.3.1.
- 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 à partir du 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 |
|---|---|
| DataStage est installé. | Si cette tâche n'est pas terminée, consultez la section Installation DataStage. |
| 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 tâches 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 qui définit la charge utile de l'instance de service.
- Définissez les variables d'environnement utilisées pour remplir la charge utile JSON pour l'instance de service :
- Définissez la variable
INSTANCE_NAMEd'environnement sur le nom unique que vous souhaitez utiliser comme nom d'affichage pour l'instance de 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 à mettre le nom d'affichage entre guillemets, comme indiqué dans la commandeexportprécédente. - Définissez la variable
INSTANCE_DESCRIPTIONd'environnement sur la description que vous souhaitez utiliser pour l'instance de service :export INSTANCE_DESCRIPTION="<description>"Cette description s'affiche sur la page Instances du client IBM Software Hub Web.
La description est un
stringet peut contenir des caractères alphanumériques, des espaces, des tirets, des traits de soulignement et des points. Veillez à mettre le nom d'affichage entre guillemets, comme indiqué dans la commandeexportprécédente. - Définissez le
INSTANCE_VERSIONsur la version qui correspond à la version 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 d'environnement
INSTANCE_SIZE. La taille détermine les ressources allouées à l'instance de service.export INSTANCE_SIZE=<size>Les valeurs valides sont :smallmediumlarge
Pour plus d'informations sur les ressources associées à chaque taille, consultez le guide PDF sur la mise à l'échelle des composants, que vous pouvez télécharger à partir du IBM Entitled Registry.
- Définissez la variable
- Créez le
datastage-instance.jsonfichier de charge utile :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": {} } EOFLes variables d'environnement suivantes utilisent les valeurs déjà définies dans votre script de variables d'environnement d'installation :${PROJECT_CPD_INST_OPERANDS}${STG_CLASS_FILE}
- Définissez la variable
PAYLOAD_FILEd'environnement sur le nom complet du fichier de charge utile JSON sur votre poste de travail :export PAYLOAD_FILE=<fully-qualified-JSON-file-name> - Définissez les variables d'environnement utilisées pour vous connecter à l'instance où vous souhaitez créer IBM Software
Hub 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 votre script de variables d'environnement d'installation. - Définissez la variable
API_KEYd'environnement sur la clé API que vous avez créée :export API_KEY=<your_api_key>
- Définissez la variable
- Créez l'instance de service à partir du fichier de charge utile.
La commande que vous exécutez dépend du type de certificat utilisé par l'instance où vous souhaitez créer IBM Software Hub l'instance de service : 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 HTTP suivants :- 200 - La demande a été traitée avec succès et l'instance de service a été provisionnée.
- 202 - La demande a été envoyée avec succès. L'instance de service est en cours de provisionnement.
Si la demande n'a pas abouti, utilisez le code HTTP de réponse pour déterminer la raison.
Vérification de la création de l'instance de service
Pour vérifier que l'instance de service a bien été créée :
- Définissez la variable
INSTANCE_IDd'environnement sur l'ID renvoyé par laPOSTcURL commande :export INSTANCE_ID=<ID-from-response> - Obtenir l'état de l'instance de service.
La commande que vous exécutez dépend du type de certificat utilisé par l'instance où vous souhaitez créer IBM Software Hub l'instance de service : 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 HTTP suivant : 200Recherchez le
provision_statusparamètre dans la réponse JSON.- Si la valeur est
PROVISIONED, l'instance de service a été créée avec succès. - Si la valeur est
PROVISION_IN_PROGRESS, attendez quelques minutes et relancez la commande. - Si la valeur est
FAILED, consultez les journaux des podszen-watcheret pour trouverzen-core-apiles causes possibles.
- Si la valeur est
- Si la demande n'a pas abouti, utilisez le code HTTP de réponse pour déterminer la raison.
- Si la requête a abouti, la commande renvoie le code de réponse HTTP suivant : 200
Etape suivante
Vous devez donner aux utilisateurs l'accès à l'instance du service. Pour plus d'informations, consultez Création d'une instance de service pour DataStage.