Personnalisation d'une architecture déployable IBM Cloud pour construire votre propre infrastructure
Ce tutoriel vous guide dans la création d'une architecture déployable personnalisée basée sur une architecture déployable IBM Cloud® existante afin de répondre aux besoins de votre entreprise. En terminant ce tutoriel, vous avez appris à télécharger les fichiers Terraform, à mettre à jour les variables, puis à tester l'architecture mise à jour.
En commençant par une architecture déployable sur IBM Cloud, vous n'avez pas à vous préoccuper de la création d'une architecture d'infrastructure à partir de zéro. Vous pouvez obtenir un démarrage en utilisant une architecture déployable IBM Cloud et en la configurant pour répondre à vos besoins spécifiques.
Imaginez que vous êtes un professionnel de l'ingénierie de l'automatisation de l'informatique en nuage pour Example Corp, une entreprise fictive. Votre architecte d'infrastructure a parcouru le catalogue IBM Cloud et a découvert Cloud automation for Code Engine, une architecture déployable qui répond à la plupart de vos exigences. Cependant, votre architecte d'infrastructure a besoin que vous apportiez les modifications suivantes pour répondre aux besoins de votre entreprise :
- Supprimer les variables non désirées.
- Limiter les régions IBM Cloud aux régions de déploiement des États-Unis.
- Mettre à jour l'architecture déployable pour faire référence à l'application d'IA d'Example Corp.
Ce tutoriel utilise un scénario fictif pour vous aider à apprendre et à comprendre quelques-unes des options de configuration d'une architecture déployable. Il explique comment personnaliser une architecture déployable pour automatiser le déploiement
d'une application conteneurisée sur IBM Cloud Code Engine. L'image de conteneur existante à l'adresse icr.io/codeengine/helloworld est utilisée comme exemple d'application. Au fur et à mesure que vous complétez le tutoriel, adaptez
chaque étape aux besoins de votre organisation.
Avant de commencer
-
Pour construire une architecture, vous devez être familier avec Terraform.
-
Assurez-vous d'utiliser un compte Paiement à la carte ou Abonnement en accédant à Gérer > Compte > Paramètres de compte dans la console IBM Cloud.
-
Créez un référentiel pour stocker votre architecture déployable. Pour les besoins de ce tutoriel, GitHub est utilisé. Pour plus d'informations, voir Création d'un référentiel.
-
Installez un éditeur de votre choix, par exemple, Visual Studio Code.
-
Vérifiez que les rôles suivants vous ont été attribués : IBM Cloud Identity and Access Management (IAM):
- Administrateur de tous les services de gestion des comptes IAM, de tous les services de gestion des comptes et de tous les services d'identité et d'accès.
- Editeur sur le service de gestion de catalogue.
- Rôle d'accès au service Manager pour Schematics.
- Autres rôles requis pour des ressources spécifiques dans votre architecture déployable. L'automatisation du cloud pour Code Engine nécessite le rôle d'accès au service Writer qui est limité à toutes les ressources du service Code Engine.
Pour plus d'informations, voir Attribution de l'accès aux services de gestion des comptes et Gestion de l'accès aux ressources.
Téléchargement des fichiers d'architecture déployables
Pour commencer, vous devez télécharger les fichiers d'architecture déployables. Les fichiers comprennent un fichier main.tf qui invoque le module Terraform racine.
-
Dans la console IBM Cloud, cliquez sur Catalogue.
-
Saisissez
Cloud automation for Code Enginedans la barre de recherche et sélectionnez l'architecture dans la liste des résultats de la recherche. -
Sélectionnez v4.2.2 comme version du produit.
Ce tutoriel a été créé sur la base de la version 4.2.2 de Cloud automation pour Code Engine. Cependant, vous pouvez sélectionner une autre version de l'architecture déployable si vous le souhaitez.
-
Assurez-vous que la variation New Code Engine apps est sélectionnée.
-
Cliquez sur Review deployment options dans le panneau récapitulatif.
-
Sélectionnez Utiliser le code > Télécharger le bundle pour télécharger le bundle.
-
Ouvrez le bundle téléchargé sur votre ordinateur local.
-
Extrayez le paquet
.tar.gzpour accéder aux fichiers d'un dossier et les modifier. Renommé le dossier extraitExample-corp-infrastructurepour faciliter la recherche et l'utilisation.Après avoir téléchargé et extrait le bundle, vous verrez les fichiers et dossiers suivants:
automation folderibm_catalog.jsonmain.tfoutputs.tfprovider.tfREADME.mdvariables.tfversion.tf
Edition de votre liste de variables
Lorsque votre architecte d'infrastructure a fait des recherches sur IBM Cloud Code Engine, il a décidé de modifier la région et la clé d'API IBM Cloud. Les autres variables incluses dans l'architecture ne sont pas nécessaires pour vos besoins, et vous devez donc les supprimer en utilisant votre éditeur favori Visual Studio Code.
-
Dans Visual Studio Code, ouvrez le fichier
variables.tf. -
Déplacez les variables suivantes au début du fichier
variables.tf.ibmcloud_api_keyprefixexisting_resource_group_nameregion
L'ordre des variables n'a pas d'importance.
-
Supprimez toutes les autres variables et sauvegardez le fichier.
Mise à jour du fichier main.tf
Maintenant que vous avez mis à jour le fichier variables.tf, assurez-vous que les informations de configuration du fichier main.tf sont correctes. Comme vous souhaitez utiliser Code Engine pour exécuter une application
créée par Example Corp, vous devez fournir des informations sur votre application.
-
Ouvrez le fichier
main.tf. -
Mettez à jour la variable
app_nameet saisissez"example-corp-ai-app"comme nom de l'application. -
Mettez à jour la variable
image_referenceet entrez"icr.io/codeengine/helloworld", qui est l'image docker de votre application. -
Ajoutez la variable
project_nameet entrez"example-corp-ce-project"comme nom pour votre projet Code Engine. -
Ajoutez la variable
provider_visibilityet fixez-la à"public". -
Confirmez que les variables
ibmcloud_api_key,prefix, etregionsont incluses comme indiqué dans l'exemple suivant :module "deploy-arch-ibm-code-engine" { source = "https://cm.globalcatalog.cloud.ibm.com/api/v1-beta/offering/source/archive//solutions/apps?archive=tgz&catalogID=7a4d68b4-cf8b-40cd-a3d1-f49aff526eb3&flavor=apps&installType=fullstack&kind=terraform&name=deploy-arch-ibm-code-engine&version=v4.2.2" ibmcloud_api_key = var.ibmcloud_api_key prefix = var.prefix existing_resource_group_name = var.existing_resource_group_name region = var.region app_name = "example-corp-ai-app" image_reference = "icr.io/codeengine/helloworld" project_name = "example-corp-ce-project" provider_visibility = "public" } -
Sauvegardez le fichier.
Votre architecture est maintenant codée en dur pour faire référence à votre application AI d'Example Corp et configurée pour utiliser les variables pour la clé API IBM Cloud, le préfixe et la région.
Mise à jour du fichier ibm_catalog.json
Le fichier ibm_catalog.json est un fichier JSON manifeste qui est utilisé pour importer automatiquement les informations de version lorsque vous embarquez une architecture déployable dans un catalogue privé. Parce que vous avez
modifié l'architecture déployable, vous avez créé une toute nouvelle architecture pour vos besoins. Mettez à jour les informations suivantes dans le fichier ibm_catalog.json pour refléter vos modifications.
Pour plus d'informations sur le fichier manifeste et sur ce qu'il contient, voir Edition locale du manifeste de catalogue.
Mise à jour des informations produit
Maintenant que vous avez mis à jour la configuration et créé votre propre architecture, vous devez également mettre à jour le nom et le nom programmatique de l'architecture déployable.
-
Ouvrez le fichier
ibm_catalog.json. -
Recherchez la zone
labelet mettez à jour le nom de votre architecture déployable dansExample Corp's infrastructure. -
Recherchez la zone
nameet mettez à jour le nom programmatique de votre architecture dansdeploy-arch-example-corp. -
Recherchez la zone
versionet entrez0.0.1pour mettre à jour le numéro de version. Si le champ est manquant, ajoutez-le sur une nouvelle ligne immédiatement après le champname, par exemple :"label": "Example Corp's infrastructure", "name": "deploy-arch-example-corp", "version": "0.0.1", -
Dans la section
flavors, trouvez le champlabelet mettez à jour le nom de cette variante de votre architecture déployable enDeploy Example Corp AI app on IBM Cloud Code Engine. Ce faisant, vous identifiez l'objectif de cette variante de votre architecture déployable et ce qu'elle accomplit. -
Sauvegardez le fichier.
Mise à jour des informations de configuration
Vous voulez maintenant vous assurer que les utilisateurs de votre architecture déployable ne peuvent la déployer que dans les régions des États-Unis. Pour ce faire, mettez à jour les informations de variable dans la section de configuration
du fichier ibm_catalog.json.
-
Dans la section
configurationdu fichieribm_catalog.json, recherchez les variables suivantes et placez-les au début de la section de configuration :ibmcloud_api_keyprefixexisting_resource_group_nameregion
-
Pour limiter les régions aux seules régions américaines, vous devez ajouter chaque région en tant qu'option pour la variable
region, supprimer les sections inutiles et définirregioncomme une variable obligatoire.{ "key": "region", "type": "string", "default_value": "us-south", "description": "The region in which to provision all resources created by this solution.", "required": true, "options": [ { "displayname": "us-east", "value": "us-east" }, { "displayname": "us-south", "value": "us-south" } ], "virtual": false } -
Supprimez le reste des variables dans la section de configuration.
Lorsque les utilisateurs déploient votre architecture, ils peuvent choisir entre les options de région que vous avez répertoriées. Pour obtenir la liste des régions disponibles, voir Régions.
-
Enregistrez le fichier
ibm_catalog.json.
Test de votre architecture déployable
Avant d'intégrer votre architecture déployable configurée à un catalogue privé et de la rendre disponible, testez votre configuration pour vous assurer que l'architecture fonctionne comme prévu. Pour tester votre architecture à l'aide de la ligne de commande Terraform, procédez comme suit:
-
Créer ou mettre à jour un fichier
.netrcqui est nécessaire pour utiliser les modules Terraform de IBM Cloud. Pour plus d'informations, voir ibmcloud catalog utility netrc.ibmcloud catalog utility netrc -
Initialisez l'interface de ligne de commande de Terraform. Pour plus d'informations, voir Initialisation des répertoires de travail.
terraform init -
Mettez à disposition les ressources. Pour plus d'informations, voir Mise à disposition d'une infrastructure avec Terraform.
-
Exécutez
terraform planpour générer un plan d'exécution Terraform afin de prévisualiser les actions proposées.terraform plan -
Exécutez
terraform applypour créer les ressources définies dans le plan.terraform apply
-
Etapes suivantes
Si votre architecture déployable a fonctionné comme prévu, vous avez créé avec succès votre propre architecture déployable à partir de Cloud automation for Code Engine. Vous êtes maintenant prêt à déplacer vos fichiers mis à jour vers le référentiel GitHub que vous avez créé et à intégrer votre produit dans un catalogue privé.
Après avoir intégré Example Corp's infrastructure à un catalogue privé, vous pouvez le partager avec votre entreprise. Si vous n'êtes pas prêt à partager
votre architecture déployable, ou si vous ne faites pas partie d'une entreprise, vous pouvez ne pas la partager et passer au tutoriel suivant, déployer Example Corp's infrastructure en utilisant un projet.