Compatibilité de Terraform avec GKE


Terraform est un outil IaC (Infrastructure as Code) qui vous permet de provisionner des ressources et des autorisations pour plusieurs services Google Cloud, y compris Google Kubernetes Engine (GKE).

Terraform possède une syntaxe déclarative et axée sur la configuration qui vous permet de décrire l'infrastructure que vous souhaitez provisionner dans votre projet GKE. Après avoir créé cette configuration dans un ou plusieurs fichiers de configuration Terraform, vous pouvez utiliser la CLI Terraform pour appliquer cette configuration à vos ressources GKE.

Installation à l'aide de Terraform

Imaginons que vous souhaitiez appliquer une configuration standardisée à plusieurs ressources GKE d'un type spécifique. Avec Terraform, vous pouvez optimiser l'ensemble du processus comme suit :

  • Décrivez l'infrastructure souhaitée dans un fichier de configuration Terraform. Vous n'avez pas besoin de créer de code décrivant comment provisionner cette configuration à l'aide d'objets et de méthodes de l'API GKE.
  • Utilisez Terraform pour évaluer votre configuration Terraform et générer un plan d'exécution. Sur la base de cette configuration, Terraform indique les modifications qu'il prévoit d'apporter à votre infrastructure GKE.
  • Utilisez Terraform pour appliquer les modifications dans le plan d'exécution. Terraform appelle l'API GKE pour exécuter les modifications planifiées en arrière-plan.
    • Si une ressource GKE ou un objet d'infrastructure défini dans la configuration Terraform n'existe pas, Terraform le crée.
    • Si une ressource GKE ou un objet d'infrastructure existe, mais possède une configuration différente, Terraform le met à jour en fonction de votre configuration Terraform.
    • Si une ressource GKE ou un objet d'infrastructure correspond à votre configuration Terraform, Terraform le laisse en l'état.

Pour commencer à utiliser Terraform pour GKE, consultez la page Créer un cluster GKE et déployer une charge de travail à l'aide de Terraform.

Ressources Terraform disponibles pour GKE

Les ressources Terraform représentent des objets d'infrastructure. Le tableau suivant répertorie certaines des ressources Terraform disponibles pour GKE :

Produit ou service GKE Ressource Terraform
Google Kubernetes Engine (GKE), édition Standard google_container_cluster
google_container_node_pool
Google Kubernetes Engine (GKE), édition Enterprise google_gke_hub_feature
google_gke_hub_feature_iam
google_gke_hub_feature_membership
google_gke_hub_fleet
google_gke_hub_membership
google_gke_hub_membership_binding
google_gke_hub_membership_iam
google_gke_hub_membership_rbac_role_binding
google_gke_hub_namespace
google_gke_hub_namespace
google_gke_hub_scope
google_gke_hub_scope_iam
google_gke_hub_scope_rbac_role_binding
Sauvegarde pour GKE google_gke_backup_backup_plan
google_gke_backup_backup_plan_iam
google_gke_backup_restore_plan
google_gke_backup_restore_plan_iam

En savoir plus sur Terraform

Étapes suivantes

  • Consultez des exemples de configuration rigoureuses dans le dépôt GitHub du module Terraform GKE.