HashiCorp Terraform est un outil IaC (Infrastructure as Code) qui vous permet de provisionner et de gérer l'infrastructure cloud. Terraform fournit des plug-ins appelés fournisseurs qui vous permettent d'interagir avec des fournisseurs cloud et d'autres API. Vous pouvez utiliser le fournisseur Terraform pour Google Cloud pour provisionner et gérer les ressources Google Cloud , y compris Config Sync.
Cette page vous présente l'utilisation de Terraform avec Config Sync, y compris une présentation du fonctionnement de Terraform et des ressources pour vous aider à commencer à utiliser Terraform avec Google Cloud. Vous trouverez également des liens vers la documentation de référence Terraform pour Config Sync, des exemples de code et des guides sur l'utilisation de Terraform pour provisionner des ressources Config Sync.
Pour savoir comment commencer à utiliser Terraform pour Google Cloud, consultez Installer et configurer Terraform ou la présentation rapide Terraform pour Google Cloud .
Fonctionnement de Terraform
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 Google Cloud . 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 Config Sync.
Les étapes suivantes expliquent le fonctionnement de Terraform :
- Vous devez décrire l'infrastructure que vous souhaitez provisionner dans un fichier de configuration Terraform. Vous n'avez pas besoin d'écrire de code décrivant comment provisionner l'infrastructure. Terraform provisionne l'infrastructure pour vous.
- Vous exécutez la commande
terraform plan
, qui évalue votre configuration et génère un plan d'exécution. Vous pouvez examiner le plan et apporter les modifications nécessaires. -
Vous exécutez la commande
terraform apply
, qui effectue les actions suivantes :- Il provisionne votre infrastructure en fonction de votre plan d'exécution en appelant les API Config Sync correspondantes en arrière-plan.
- Il crée un fichier d'état Terraform, qui est un fichier JSON qui mappe les ressources de votre fichier de configuration avec les ressources de l'infrastructure réelle. Terraform utilise ce fichier pour conserver un enregistrement de l'état le plus récent de votre infrastructure et pour déterminer quand créer, mettre à jour et détruire des ressources.
-
Lorsque vous exécutez
terraform apply
, Terraform utilise le mappage dans le fichier d'état pour comparer l'infrastructure existante au code et effectuer les mises à jour si nécessaire :- Si un objet de ressource est défini dans le fichier de configuration, mais n'existe pas dans le fichier d'état, Terraform le crée.
- Si un objet de ressource existe dans le fichier d'état, mais possède une configuration différente de celle contenue dans votre fichier de configuration, Terraform met à jour la ressource en fonction de votre fichier de configuration.
- Si un objet de ressource dans le fichier d'état correspond à votre fichier de configuration, Terraform laisse la ressource telle quelle.
Ressources Terraform pour Config Sync
Les ressources sont les éléments fondamentaux du langage Terraform. Chaque bloc de ressources décrit un ou plusieurs objets d'infrastructure, tels que des réseaux virtuels ou des instances de calcul.
Le tableau suivant répertorie les ressources Terraform disponibles pour Config Sync:
Service | Ressources Terraform |
---|---|
GKEHub |
Guides basés sur Terraform pour Config Sync
Le tableau suivant répertorie les guides d'utilisation et tutoriels basés sur Terraform pour Config Sync:
Guide | Détails |
---|---|
Installer Config Sync | Ce guide fournit des instructions pour configurer Config Sync avec Terraform. |
Gérer les ressources d'équipe dans votre parc | Ce guide explique comment utiliser Config Sync et Terraform pour créer de manière dynamique des ressources au niveau de l'équipe sur un parc de clusters. |
Étape suivante
- Exemples de code Terraform pour Config Sync
- Documentation Terraform sur Google Cloud
- Documentation du fournisseurGoogle Cloud dans HashiCorp
- Infrastructure as Code pour Google Cloud