Configuration de Terraform pour Container Registry
Terraform on IBM Cloud® permet une mise à disposition prévisible et cohérente des services IBM Cloud afin que vous puissiez générer rapidement des environnements de cloud complexes et à plusieurs niveaux qui suivent les principes de l'infrastructure en tant que code (IaC). Tout comme l'interface de ligne de commande (CLI) IBM Cloud ou l'API et les SDK, vous pouvez automatiser le provisionnement, la mise à jour et la suppression de vos instances IBM Cloud® Container Registry en utilisant le langage de configuration HashiCorp (HCL).
Êtes-vous à la recherche d'un Terraform géré sur une solution IBM Cloud ? Essayez IBM Cloud Schematics. Avec Schematics, vous pouvez utiliser le langage de script Terraform qui vous est familier, mais vous n'avez pas à vous soucier de la configuration et de la maintenance de l'interface de ligne de commande Terraform et du plug-in IBM Cloud Provider. Schematics fournit également des modèles Terraform prédéfinis que vous pouvez installer à partir du catalogue IBM Cloud.
Installation de Terraform et création d'un espace de nom Container Registry
Avant de commencer, vérifiez que vous disposez de l'accès requis pour créer et utiliser les ressources IBM Cloud Container Registry.
-
Pour installer l'interface de ligne de commande de Terraform et configurer le plug-in du fournisseur IBM Cloud pour Terraform, suivez le tutoriel d'initiation à Terraform on IBM Cloud. Le plug-in extrait les API IBM Cloud utilisées pour fournir, mettre à jour ou supprimer des ressources Container Registry.
-
Créez un fichier de configuration Terraform nommé
main.tf. Ajoutez la configuration pour créer un Container Registry espace de noms et pour attribuer à un utilisateur un IAM Politique d'accèsMéthode permettant d'octroyer l'accès aux ressources d'un compte à des utilisateurs, des ID de service et des groupes d'accès. Une règle d'accès comprend un sujet, une cible et un rôle. dans Cloud Identity and Access Management (IAM) pour cet espace de noms en utilisant HashiCorp Langage de configuration (HCL). Pour plus d'informations, voir la documentation sur le langage Terraform.L'exemple suivant crée un espace de noms dans le groupe de ressourcesEnvironnement, et contraintes, auxquels les instances de ressource contenues adhèrent. Un utilisateur peut être associé à un groupe de ressources pour activer la collaboration. par défaut avec un nom de votre choix et attache une politique de conservation d'images à cet espace de noms qui conserve 10 images. Pour extraire l'ID du groupe de ressources par défaut, la source de données
ibm_resource_groupest utilisée. Ensuite, l'utilisateuruser@ibm.comest assigné au rôle Manager dans la politique d'accès IAM pour l'espace de noms d'une région particulière. La région est extraite du fichierterraform.tfvarsque vous avez créé à l'étape 1.data "ibm_resource_group" "group" { name = "default" } resource "ibm_cr_namespace" "cr_namespace" { name = "<namespace_name>" resource_group_id = data.ibm_resource_group.group.id } resource "ibm_cr_retention_policy" "cr_retention_policy" { namespace = ibm_cr_namespace.cr_namespace.id images_per_repo = 10 } resource "ibm_iam_user_policy" "policy" { ibm_id = "user@ibm.com" roles = ["Manager"] resources { service = "container-registry" resource = ibm_cr_namespace.cr_namespace.id resource_type = "namespace" region = var.region } }La mise à jour d'un espace de nom à l'aide de Terraform n'est pas prise en charge. Vous pouvez utiliser Terraform pour créer et supprimer des espaces de nom seulement.
-
Initialisez l'interface de ligne de commande de Terraform.
terraform init -
Créez un plan d'exécution Terraform. Le plan d'exécution Terraform récapitule toutes les actions à exécuter pour créer l'espace de nom Container Registry et la règle d'accès IAM dans votre compte.
terraform plan -
Créez l'espace de nom Container Registry et la règle d'accès IAM dans IBM Cloud.
terraform apply -
Sur la page de présentation de l'espace de noms Container Registry, vérifiez que votre espace de noms a bien été créé.
-
Vérifiez que la règle d'accès IAM a été correctement affectée. Pour plus d'informations, voir Vérification de l'accès affecté à la console.
Etapes suivantes
Maintenant que vous avez créé votre premier espace de nom Container Registry avec Terraform sur IBM Cloud, vous pouvez choisir entre les tâches suivantes :
- Apprenez à ajouter des images à votre espace de nom.
- Explorez les autres arguments et attributs pris en charge pour les ressources et sources de données Container Registry Terraform utilisées dans cet exemple.