Création d'une architecture déployable à partir d'une offre existante

Vous pouvez tirer parti d'un bundle de personnalisation IBM®pour étendre et personnaliser une architecture déployableAutomatisation cloud pour déployer un modèle d'architecture commun combinant une ou plusieurs ressources cloud, conçue pour faciliter le déploiement, l'évolutivité et la modularité. IBM Cloud®. Chaque architecture déployable fournit son propre bundle de personnalisation. Avec le bundle, vous pouvez éditer l'architecture déployable sur votre ordinateur local, utiliser vos propres pipelines pour effectuer des tests et étendre vos propres produits en fonction des besoins de votre entreprise. Pour personnaliser une architecture, vous devez connaître Terraform.

Le bundle de personnalisation inclut également un répertoire automation qui inclut des scripts de démarrage pour vous aider à gérer le cycle de vie de votre architecture déployable personnalisée depuis l'intégration et la validation jusqu'à sa publication dans un catalogue privé sur IBM Cloud. Actuellement, deux méthodes de pipeline sont incluses dans ce répertoire: des actions GitHub ou une chaîne d'outils de IBM Cloud.

Les conseils suivants fournissent une présentation du bundle de personnalisation et quelques exemples de personnalisation que vous pouvez effectuer. Ce n'est pas tout à fait inclusif et vous pouvez apporter les changements dont vous avez besoin. Après avoir modifié l'architecture, vous pouvez l'ajouter à un catalogue privé et utiliser les outils de IBMpour vérifier les vulnérabilités, garantir la sécurité et la conformité et partager l'architecture avec votre entreprise. Pour une présentation plus détaillée, voir Utilisation des architectures déployables IBM Cloud pour générer une architecture déployable.

En fonction de vos modifications, IBM Cloud risque de ne pas prendre en charge l'architecture déployable. Les composants de l'architecture fournis dans le bundle sont pris en charge par IBM Cloud, mais tout code modifié utilisé pour l'extension ne l'est pas.

Avant de commencer

  1. Créez un référentiel pour stocker l'architecture déployable personnalisée, par exemple, un référentiel GitHub. Pour plus d'informations, voir Création d'un nouveau référentiel.
  2. Vérifiez que vous disposez d'un éditeur de votre choix pour modifier l'architecture déployable, par exemple, Visual Studio Code. Pour plus d'informations, voir Visual Studio Code.
  3. Assurez-vous de disposer des outils de votre choix pour tester votre architecture déployable et vous assurer qu'elle fonctionne. Par exemple, vous pouvez utiliser l'environnement d'exécution Terraform, qui fournit la ligne de commande Terraform.

Recherche d'une architecture déployable

IBM Cloud fournit plusieurs architectures déployables que vous pouvez utiliser telles qu'elles sont ou que vous pouvez personnaliser. Pour trouver une architecture, procédez comme suit:

  1. Dans le catalogueIBM Cloud, sélectionnez une architecture déployable.
  2. Téléchargez le bundle de personnalisation en sélectionnant Passer en revue les options de déploiement > Utiliser le code > Télécharger le bundle.

Personnalisation de l'architecture déployable

Lorsque vous téléchargez le bundle, vous recevez un ensemble de fichiers conçus pour vous aider à vous initier à la personnalisation.

ibm_catalog.json

Le fichier ibm_catalog.json est un fichier JSON de manifeste qui est utilisé pour importer automatiquement les informations de version dans un catalogue privé. Avec un fichier manifeste de catalogue, vous pouvez éviter d'entrer manuellement des métadonnées de version via la console. Pour savoir comment configurer un fichier ibm_catalog.json et les valeurs que vous pouvez inclure, voir Edition locale du manifeste de catalogue.

main.tf

Le fichier main.tf contient les informations de configuration relatives à chaque architecture déployable que vous souhaitez utiliser. En fonction de l'architecture déployable, vous pouvez utiliser ce fichier pour spécifier des régions, des clés d'API et des emplacements de code source spécifiques. Vous pouvez également utiliser ce fichier pour ajouter d'autres modules et mettre à jour les paramètres Terraform de l'architecture.

Exemple de main.tf avec des spécifications

L'exemple suivant illustre l'infrastructure sécurisée sur VPC pour les secteurs d'activité réglementés utilisant une région spécifique, us-south:

module "landing-zone" {
  source           = "https://cm.globalcatalog.cloud.ibm.com/api/v1-beta/offering/source//examples/power-sap?archive=tgz&catalogID=7df1e4ca-d54c-4fd0-82ce-3d13247308cd&flavor=power&kind=terraform&name=slz-vpc-with-vsis&version=0.0.22"
  ibmcloud_api_key = var.ibmcloud_api_key
  ssh_public_key   = var.ssh_public_key
  region           = "us-south"
  prefix           = "slz"
}

outputs.tf

Le fichier outputs.tf contient les valeurs de sortie disponibles que vous pouvez inclure dans votre architecture déployable. Les valeurs sont mises en commentaire, mais vous pouvez les inclure en supprimant le symbole # de la valeur. Vous pouvez également ajouter d'autres variables de sortie au fichier. Pour inclure certaines valeurs, procédez comme suit.

  1. Ouvrez le fichier outputs.tf.
  2. Supprimez les # de toute valeur de sortie que vous souhaitez inclure.

exemple de outputs.tf

L'exemple suivant inclut la valeur vsi_names et exclut la valeur transit_gateway_name:

output "vsi_names" {
  value       = var.vsi_names
  description = "A list of the vsis names provisioned within the VPCs"
}
#output "transit_gateway_name" {
#  value       = var.transit_gateway_name
#  description = "The name of the transit gateway"
#}

provider.tf

Le fichier provider.tf contient les informations requises sur le fournisseur, la clé d'API et la région que les utilisateurs doivent utiliser.

Ces informations sont extraites du fichier variables.tf. Si vous devez apporter des modifications, mettez à jour le fichier variables.tf.

Exemple de fichier provider.tf

L'exemple suivant répertorie IBM comme fournisseur:

provider "ibm" {
  ibmcloud_api_key = var.ibmcloud_api_key
  region           = var.region
}

README.md

Le fichier Readme contient des informations d'arrière-plan et d'utilisation sur l'architecture déployable. Vous pouvez personnaliser le fichier Readme pour aider les membres de votre entreprise à utiliser l'architecture déployable.

variables.tf

Le fichier variables.tf inclut les variables requises pour l'architecture déployable. Vous pouvez ajouter les variables supplémentaires dont vous avez besoin.

version.tf

Le fichier version.tf stocke des informations sur la version Terraform et la version de fournisseur nécessaires à l'exécution de l'architecture déployable. Si vous exécutez l'architecture déployable telle qu'elle est, aucune mise à jour n'est nécessaire. Votre configuration peut vous obliger à mettre à jour ce fichier. Si vous devez spécifier une version particulière de Terraform ou de fournisseur, procédez comme suit:

  1. Ouvrez le fichier versions.tf.
  2. Mettez à jour required_version vers la version Terrafrom que les utilisateurs doivent utiliser.
  3. Mettez à jour version vers la version de fournisseur que les utilisateurs doivent utiliser.

Test de votre architecture déployable

Avant d'intégrer votre architecture déployable à un catalogue privé, testez votre personnalisation et assurez-vous que l'architecture s'exécute comme prévu. Pour tester votre architecture à l'aide de la ligne de commande Terraform, procédez comme suit:

  1. Après avoir personnalisé l'architecture, initialisez l'interface de ligne de commande Terraform. Pour plus d'informations, voir Initialisation des répertoires de travail.

    terraform init
    
  2. Mettez à disposition les ressources. Pour plus d'informations, voir Mise à disposition d'une infrastructure avec Terraform.

    1. Exécutez terraform plan pour générer un plan d'exécution Terraform afin de prévisualiser les actions proposées.

      terraform plan
      
    2. Exécutez terraform apply pour créer les ressources définies dans le plan.

      terraform apply
      

Création d'une édition

Si vos tests ont abouti, vous pouvez préparer l'intégration de votre architecture à un catalogue privé en vous assurant que vos fichiers se trouvent dans le référentiel et en créant une édition. Pour plus d'informations, voir Création d'une édition.

Optimisation de l'automatisation pour le partage dans un catalogue privé

Le bundle de personnalisation possède un répertoire automation qui inclut quelques options pour les pipelines de démarrage. Ces pipelines peuvent être utilisés pour automatiser le cycle de vie de vos produits personnalisés que vous partagez à l'aide d'un catalogue privé sur IBM Cloud. Cela inclut la gestion de l'intégration, de la validation et du partage de la version de l'architecture déployable dans un catalogue privé. Les fichiers README sont inclus pour chaque option de pipeline qui fournit des détails sur la façon de l'optimiser. Pour plus d'informations sur chacun d'eux, voir ActionsGitHub et Création d'une chaîne d'outils.

Utilisation de la console pour l'intégration à un catalogue privé

Si vous souhaitez utiliser la console pour intégrer votre architecture déployable, voir Intégration de votre architecture déployable personnalisée à un catalogue privé pour obtenir des conseils étape par étape.

Etapes suivantes

Les scripts fournis dans le bundle de personnalisation vous aident à automatiser le processus d'intégration à un catalogue privé pour le partage de votre produit avec d'autres utilisateurs. Toutefois, si vous souhaitez utiliser la console ou l'interface de ligne de commande pour intégrer votre architecture déployable, voir Intégration de votre architecture déployable personnalisée à un catalogue privé pour obtenir des conseils étape par étape. En utilisant des catalogues privés, les membres de votre entreprise doivent utiliser des architectures approuvées qu'ils peuvent déployer à l'aide de projets.