Affectation de l'accès au cluster à l'aide de Terraform pour Red Hat OpenShift on IBM Cloud
Terraform sur 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, à la suite des principes IaC (Infrastructure as Code). Comme pour l'utilisation de IBM Cloud CLI ou API et SDK, vous pouvez automatiser le provisionnement, la mise à jour et la suppression de vos ressources Red Hat OpenShift on IBM Cloud en utilisant HashiCorp Configuration Language (HCL).
Vous recherchez une solution Terraform on IBM Cloud® gérée ? 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 la ligne de commande Terraform ou du plug-in IBM Cloud® Provider. Schematics fournit également des modèles Terraform prédéfinis que vous pouvez facilement installer à partir du catalogue IBM Cloud®.
Création d'un cluster Red Hat OpenShift à l'aide de Terraform
Avant de pouvoir attribuer l'accès au cluster à l'aide de Terraform, suivez les étapes pour créer un cluster Red Hat OpenShift à l'aide de Terraform. Si vous disposez déjà d'un cluster, voir Affectation d'accès utilisateur IAM.
Avant de commencer, vérifiez que vous disposez de l'accès requis pour créer et utiliser des ressources Red Hat OpenShift on IBM Cloud.
-
Suivez le tutoriel d'initiation à Terraform on IBM Cloud® pour installer l'interface de ligne de commande de Terraform et configurer le plug-in IBM Cloud® Provider pour Terraform. Le plug-in extrait les API IBM Cloud® utilisées pour la mise à disposition, la mise à jour ou la suppression des instances de service et des ressources Red Hat OpenShift.
-
Suivez le tutoriel pour créer des clusters à zone unique et à zones multiples avec Terraform.
-
Facultatif: utilisez Terraform pour configurer des règles d'accès utilisateur IAM pour votre cluster Red Hat OpenShift.
Affectation de l'accès utilisateur IAM aux clusters Red Hat OpenShift
Vous pouvez utiliser Terraform pour attribuer un accès utilisateur IAM aux clusters Red Hat OpenShift dans un compte IBM Cloud. Pour plus d'informations sur l'utilisation de Terraform avec les politiques IAM, voir la documentation Terraform du fournisseur IBM Cloud.
-
Dans votre répertoire Terraform, créez un fichier de configuration nommé
iam.tf. Dans votre fichieriam.tf, ajoutez les paramètres de configuration pour créer une règle d'accès utilisateur IAM pour un cluster Red Hat OpenShift à l'aide du langage HCL ( HashiCorp Configuration Language). L'exemple de configuration suivant crée leibm_iam_user_policy, puis affecte la règle à un cluster spécifié. Pour plus d'informations, voir la documentation de Terraform.resource "ibm_iam_user_policy" "cluster" { ibm_id = "<ibm_id>" roles = ["<access_role_1>, <access_role_2>"] resources { service = "containers-kubernetes" resource_instance_id = "<cluster_name>" } }Configuration de règles d'accès IAM avec Terraform Ressource Description ibm_idL'ID ou l'adresse électronique IBM Cloud de l'utilisateur pour lequel vous souhaitez créer la règle d'accès IAM. rolesListe séparée par des virgules des rôles d'accès que vous souhaitez affecter à l'utilisateur. serviceLe type de service auquel s'applique la politique d'accès. Entrez "openshift"pour les clusters Red Hat OpenShift. Pour obtenir la liste complète des types de service applicables, exécutezibmcloud oc catalog service-marketplace.resource_instance_idID ou nom du cluster. Exemple de fichier de configuration:
resource "ibm_iam_user_policy" "test_policy" { ibm_id = "ibm_id@ibm.com" roles = ["Viewer", "Editor", "Administrator"] resources { service = "containers-kubernetes" resource_instance_id = "my-cluster" } } -
Initialisez l'interface de ligne de commande de Terraform.
terraform init -
Créez un plan d'exécution Terraform et examinez la sortie. Le plan d'exécution Terraform résume toutes les actions exécutées pour créer le cluster Red Hat OpenShift dans votre compte. Notez la section
Plande la sortie. L'exemple de sortie indiquePlan: 1 to add, 0 to change, 0 to destroycar le fichier de configuration crée une règle d'accès utilisateur IAM.Terraform used the selected providers to generate the following execution plan. Resource actions are indicated with the following symbols: + create Terraform will perform the following actions: # ibm_iam_user_policy.test_policy will be created + resource "ibm_iam_user_policy" "test_policy" { + account_management = false + ibm_id = "ibm_id@ibm.com" + id = (known after apply) + roles = [ + "Viewer", + "Editor", + "Administrator", ] + resources { + service = "containers-kubernetes" } } Plan: 1 to add, 0 to change, 0 to destroy. -
Appliquez le fichier de configuration pour créer la règle d'accès. L'opération peut prendre quelques secondes. Dans la sortie, notez le numéro d'ID de règle après l'adresse électronique IBM de l'utilisateur.
terraform applyExemple de sortie :
ibm_iam_user_policy.test_policy: Creating... ibm_iam_user_policy.test_policy: Creation complete after 2s [id=ibm_id@ibm.com/f81b161f-e1db-4084-8b28-cfcbe88fec72] -
Vérifiez que la règle d'accès IAM a été créée en exécutant la commande et en recherchant l'ID de règle que vous avez précédemment noté.
ibmcloud iam user-policies ibm_id@ibm.comExemple de sortie :
Policy ID: f81b161f-e1db-4084-8b28-cfcbe88fec72 Roles: Viewer, Editor, Administrator Resources: Service Name containers-kubernetes Service Instance my-cluster