Création d'une instance de service pour Data Virtualization avec la cpd-cli
service-instance
create commande
Après l'installation Data Virtualization, vous devez créer au moins une instance Data Virtualization de service. Chaque instance de service doit se trouver dans un projet Red Hat®
OpenShift® Container Platform différent. Vous pouvez créer une instance de service dans le projet operands ou dans un projet lié au projet operands. Si vous êtes un IBM® Software
Hub utilisateur, vous pouvez utiliser la cpd-cli
service-instance
create commande pour créer un script du processus de création d'instances de service.
- Qui doit accomplir cette tâche?
- Pour créer une instance de service à l'aide de
cpd-cli, 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?
- N'effectuez cette tâche que si vous souhaitez créer une instance de service à partir du
cpd-clià l'aide de lacpd-cli service-instance createcommande.
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 Data Virtualization à partir du client Web.
- En utilisant l'appel API
/v3/service_instancesREST. Pour plus d'informations, consultez Création d'une instance de service pour Data Virtualization par programmation.
Informations nécessaires à l'exécution de cette tâche
Vérifiez les informations suivantes avant de créer une instance de service pour Data Virtualization :
- 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 Data Virtualization est installé en version 5.3.1, vous devez créer l'instance de service en version 5.3.1.
Important : Data Virtualization utilise un numéro de version différent de IBM Software Hub. Cette rubrique comprend un tableau qui indique la Data Virtualization version pour chaque actualisation de IBM Software Hub. Utilisez ce tableau pour trouver la version correcte en fonction de la version de IBM Software Hub qui est 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 à 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 |
|---|---|
| Data Virtualization est installé. | Si cette tâche n'est pas terminée, consultez la section Installation Data Virtualization. |
L'interface cpd-cli de ligne de commande est installée sur le poste de travail à partir duquel vous allez créer l'instance de service. |
Si cette tâche n'est pas terminée, consultez la section Configuration d'un poste de travail client. |
| Vous avez créé un IBM Software
Hub profil utilisateur sur le poste de travail à partir duquel vous allez créer l'instance de service. Le profil doit être associé à un utilisateur disposant de l'autorisation Créer des instances de service ( |
Si cette tâche n'est pas terminée, consultez Création d'un profil pour utiliser les commandes de gestion cpd-cli. |
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_SHORT_NAMEd'environnement sur le nom unique que vous souhaitez utiliser pour identifier l'instance de service :export INSTANCE_SHORT_NAME="<display-name>"Le nom court est un
stringet peut contenir des caractères alphanumériques (a-z, A-Z, 0-9), des tirets (-) et des traits de soulignement (_). - Définissez le
INSTANCE_PROJECTsur le projet dans lequel vous souhaitez créer l'instance de service :
Créer l'instance de service dans le projet operands
export INSTANCE_PROJECT=${PROJECT_CPD_INST_OPERANDS}La commande utilise la
PROJECT_CPD_INST_OPERANDSvariable, qui est déjà définie dans votre script de variables d'environnement d'installation.
Créer l'instance de service dans un projet lié
Important : si plusieurs projets liés sont associés à cette instance de IBM Software Hub, assurez-vous que la variable${PROJECT_CPD_INSTANCE_TETHERED}d'environnement est définie sur le nom de projet correct avant d'exécuter laexportcommande :echo $PROJECT_CPD_INSTANCE_TETHEREDexport INSTANCE_PROJECT=${PROJECT_CPD_INSTANCE_TETHERED}
Rappel : vous ne pouvez créer qu'une seule instance de service dans chaque projet. - Définissez la variable
INSTANCE_NAMEd'environnement :export INSTANCE_NAME="watson-query-${INSTANCE_PROJECT}-${INSTANCE_SHORT_NAME}" - 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 la variable
INSTANCE_VERSIONd'environnement sur 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 3.3.1 5.3.0 3.3.0 - Définissez la variable
INSTANCE_AUTOSCALINGd'environnement base selon que vous souhaitez que l'instance s'adapte automatiquement en augmentant ou en diminuant le nombre de pods en fonction de la consommation du processeur ou de la mémoire.- Mise à l'échelle automatique de l'instance
- Si vous souhaitez mettre à l'échelle automatiquement l'instance de service, exécutez :
export INSTANCE_AUTOSCALING=trueImportant : si vous dimensionnez automatiquement le service, vous devez utiliser une taille prédéfinie pour la variableINSTANCE_PREDEFINED_SIZEd'environnement. - Utilisation exclusive des ressources spécifiées
- Si vous ne souhaitez pas que l'instance de service s'adapte automatiquement, exécutez :
export INSTANCE_AUTOSCALING=false
- Définissez la variable d'environnement
INSTANCE_PREDEFINED_SIZE.- Utilisation des paramètres personnalisés
- Si vous souhaitez utiliser des paramètres personnalisés plutôt qu'une taille prédéfinie, exécutez :
export INSTANCE_PREDEFINED_SIZE="" - Utilisation d'une taille prédéfinie
- Si vous souhaitez utiliser une taille prédéfinie pour l'instance, exécutez :
export INSTANCE_PREDEFINED_SIZE=<size>Les valeurs valides sont :
extrasmallsmallmediumlarge
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 registre intitulé « IBM ».
Important : vous devez définir les variables d'environnementINSTANCE_CPUINSTANCE_MEMORYet même si vous souhaitez utiliser une taille prédéfinie. Si vous ne spécifiez pas de valeur pour ces variables d'environnement, le provisionnement de l'instance de service échouera.
- Définissez la variable
INSTANCE_CPUd'environnement sur la quantité de CPU à allouer à l'instance de service :export INSTANCE_CPU=<integer>Spécifiez une valeur comprise entre 4 et 64.
Conseil : si vous utilisez une taille d'instance prédéfinie, définissez ce paramètre sur 4.Dimensionnez l'instance en fonction de votre charge de travail. Pour plus d'informations sur le nombre de CPU à allouer à l'instance de service, 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
INSTANCE_MEMORYd'environnement sur la quantité de mémoire à allouer à l'instance de service :export INSTANCE_MEMORY=<integer>Spécifiez une valeur comprise entre 16 Gio et 512 Gio. Spécifiez la valeur sous forme d'entier. Omettre l'unité de mesure.
Conseil : si vous utilisez une taille d'instance prédéfinie, définissez ce paramètre sur 16.Dimensionnez l'instance en fonction de votre charge de travail. Pour plus d'informations sur la quantité de mémoire à allouer à l'instance de service, 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
INSTANCE_WORKERSd'environnement sur le nombre de nœuds de travail sur lesquels exécuter l'instance de service :export INSTANCE_WORKERS=<integer>Le nombre maximal de travailleurs que vous pouvez spécifier dépend de la Db2U configuration pour fonctionner avec des privilèges élevés :- Si Db2U est configuré pour s'exécuter avec des privilèges limités, vous pouvez spécifier une valeur comprise entre 1 et le nombre total de nœuds de travail sur le cluster.
- Si Db2U est configuré pour s'exécuter avec des privilèges élevés, vous pouvez spécifier une valeur comprise entre 1 et 999.
La plupart des charges de travail peuvent être exécutées sur 1 à 3 nœuds. Pour plus d'informations sur le nombre de nœuds recommandé en fonction de votre charge de travail, 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
PV_SIZEd'environnement sur la quantité de stockage que vous souhaitez allouer à l'instance de service :export PV_SIZE=<integer>Spécifiez une valeur comprise entre 50 Gio et 10240 Gio. La recommandation par défaut est de 50 Gi. Spécifiez la valeur sous forme d'entier. Omettre l'unité de mesure.
Dimensionnez le volume en fonction de la taille des requêtes que vous prévoyez d'exécuter. Pour plus d'informations, 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
PV_SIZE_CACHEd'environnement sur la quantité de stockage que vous souhaitez allouer à la mise en cache pour l'instance de service :export PV_SIZE_CACHE=<integer>Spécifiez une valeur comprise entre 100 Gio et 10240 Gio. La recommandation par défaut est de 100 Gi. Spécifiez la valeur sous forme d'entier. Omettre l'unité de mesure.
Dimensionnez le volume en fonction de la taille du cache de données. Pour plus d'informations, 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
PV_SIZE_AUDITINGd'environnement sur la quantité de stockage que vous souhaitez allouer aux journaux d'audit pour l'instance de service :export PV_SIZE_AUDITING=<integer>Spécifiez une valeur comprise entre 1 Gio et 10240 Gio. La recommandation par défaut est de 30 Gi. Spécifiez la valeur sous forme d'entier. Omettre l'unité de mesure.
Dimensionnez le volume en fonction du nombre d'événements auditables enregistrés. Pour plus d'informations, 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
data-virtualization-instance.jsonfichier de charge utile.La commande que vous devez exécuter dépend du type de stockage utilisé dans votre cluster.
Stockage Portworx
cat << EOF > ./data-virtualization-instance.json{ "addon_type": "dv", "display_name": "${INSTANCE_NAME}", "addon_version": "${INSTANCE_VERSION}", "namespace": "${INSTANCE_PROJECT}", "create_arguments": { "description": "${INSTANCE_DESCRIPTION}", "metaData": {}, "parameters" : { "autoscaling": ${INSTANCE_AUTOSCALING}, "tshirtsize": "${INSTANCE_PREDEFINED_SIZE}", "resources.dv.requests.cpu": "${INSTANCE_CPU}", "resources.dv.requests.memory": "${INSTANCE_MEMORY}Gi", "image.pullPolicy": "IfNotPresent", "workerCount": "${INSTANCE_WORKERS}", "persistence.storageClass": "portworx-db2-rwo-sc", "persistence.size": "${PV_SIZE}Gi", "persistence.cachingpv.storageClass": "portworx-db2-rwx-sc", "persistence.cachingpv.size": "${PV_SIZE_CACHE}Gi", "persistence.auditpv.storageClass": "portworx-db2-rwx-sc", "persistence.auditpv.size": "${PV_SIZE_AUDITING}Gi" }, "resources": { "cpu": "$(( (${INSTANCE_WORKERS} + 1) * ${INSTANCE_CPU} ))", "memory": "$(( (${INSTANCE_WORKERS} + 1) * ${INSTANCE_MEMORY} ))" }, "transientFields": {} } } EOF
Stockage élastique Amazon
cat << EOF > ./data-virtualization-instance.json{ "addon_type": "dv", "display_name": "${INSTANCE_NAME}", "addon_version": "${INSTANCE_VERSION}", "namespace": "${INSTANCE_PROJECT}", "create_arguments": { "description": "${INSTANCE_DESCRIPTION}", "metaData": {}, "parameters" : { "autoscaling": ${INSTANCE_AUTOSCALING}, "tshirtsize": "${INSTANCE_PREDEFINED_SIZE}", "resources.dv.requests.cpu": "${INSTANCE_CPU}", "resources.dv.requests.memory": "${INSTANCE_MEMORY}Gi", "image.pullPolicy": "IfNotPresent", "workerCount": "${INSTANCE_WORKERS}", "persistence.storageClass": "${STG_CLASS_FILE}", "persistence.size": "${PV_SIZE}Gi", "persistence.cachingpv.storageClass": "${STG_CLASS_FILE}", "persistence.cachingpv.size": "${PV_SIZE_CACHE}Gi", "persistence.auditpv.storageClass": "${STG_CLASS_FILE}", "persistence.auditpv.size": "${PV_SIZE_AUDITING}Gi" }, "resources": { "cpu": "$(( (${INSTANCE_WORKERS} + 1) * ${INSTANCE_CPU} ))", "memory": "$(( (${INSTANCE_WORKERS} + 1) * ${INSTANCE_MEMORY} ))" }, "transientFields": {} } } EOFLes variables d'environnement suivantes utilisent les valeurs déjà définies dans votre script de variables d'environnement d'installation :${STG_CLASS_FILE}
Tout autre stockage
cat << EOF > ./data-virtualization-instance.json{ "addon_type": "dv", "display_name": "${INSTANCE_NAME}", "addon_version": "${INSTANCE_VERSION}", "namespace": "${INSTANCE_PROJECT}", "create_arguments": { "description": "${INSTANCE_DESCRIPTION}", "metaData": {}, "parameters" : { "autoscaling": ${INSTANCE_AUTOSCALING}, "tshirtsize": "${INSTANCE_PREDEFINED_SIZE}", "resources.dv.requests.cpu": "${INSTANCE_CPU}", "resources.dv.requests.memory": "${INSTANCE_MEMORY}Gi", "image.pullPolicy": "IfNotPresent", "workerCount": "${INSTANCE_WORKERS}", "persistence.storageClass": "${STG_CLASS_BLOCK}", "persistence.size": "${PV_SIZE}Gi", "persistence.cachingpv.storageClass": "${STG_CLASS_BLOCK}", "persistence.cachingpv.size": "${PV_SIZE_CACHE}Gi", "persistence.auditpv.storageClass": "${STG_CLASS_FILE}", "persistence.auditpv.size": "${PV_SIZE_AUDITING}Gi" }, "resources": { "cpu": "$(( (${INSTANCE_WORKERS} + 1) * ${INSTANCE_CPU} ))", "memory": "$(( (${INSTANCE_WORKERS} + 1) * ${INSTANCE_MEMORY} ))" }, "transientFields": {} } } EOFLes variables d'environnement suivantes utilisent les valeurs déjà définies dans votre script de variables d'environnement d'installation :${STG_CLASS_BLOCK}${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> - Créez l'instance de service à partir du fichier de charge utile :
cpd-cli service-instance create \ --profile=${CPD_PROFILE_NAME} \ --from-source=${PAYLOAD_FILE}
Vérification de la création de l'instance de service
Pour vérifier que l'instance de service a bien été créée, exécutez la commande suivante :
cpd-cli service-instance status ${INSTANCE_NAME} \
--profile=${CPD_PROFILE_NAME} \
--output=json
- Si la commande renvoie
PROVISIONED, l'instance de service a été créée avec succès. - Si la commande renvoie
PROVISION_IN_PROGRESS, attendez quelques minutes et relancez la commande. - Si la commande renvoie
FAILED, consultez les journaux des podszen-watcheret pour trouverzen-core-apiles causes possibles.
Etape suivante
- Pour vous connecter au Data Virtualization service, utilisez le JDBCURL fourni dans la page Configurer la connexion pour le service. De plus, si vous possédez un équilibreur de charge, ouvrez le port dans votre équilibreur de charge et dans votre pare-feu. Pour plus d'informations, consultez la section Configuration des exigences réseau pour l' Data Virtualization.
- Facultatif : configurez des nœuds de OpenShift travail dédiés.
- Effectuez les tâches d'administration post-installation pour configurer les instances de service.
- Attribuez le rôle d'utilisateur Data Virtualization administrateur pour la configuration du service. Lorsque vous provisionnez le Data Virtualization service, le rôle Data Virtualization Admin vous est automatiquement attribué. Après avoir provisionné le service, vous devez attribuer le rôle Data Virtualization Admin à au moins un autre utilisateur afin de configurer les fonctionnalités du Data Virtualization service. Vous pouvez également accomplir ces tâches vous-même.