Pour configurer Terraform dans votre environnement Google Distributed Cloud (GDC) isolé, vous devez le télécharger et le configurer pour qu'il gère les ressources Kubernetes.
Ce document s'adresse à tous les groupes d'audience qui doivent configurer Terraform pour gérer leurs workflows matériels et logiciels isolés. Pour en savoir plus, consultez Audiences pour la documentation GDC sous air gap.
Avant de commencer
Téléchargez Terraform sur votre poste de travail en suivant la documentation fournie par HashiCorp : https://developer.hashicorp.com/terraform/install.
Vérifiez que vous disposez d'un bucket de stockage GDC existant. Si vous n'avez pas de bucket de stockage, créez-en un. Pour en savoir plus, consultez Créer des buckets de stockage.
Installez gdcloud CLI. Pour en savoir plus, consultez Utiliser la gdcloud CLI.
Générez le fichier kubeconfig pour le serveur d'API ou le cluster qui héberge les ressources que vous souhaitez gérer avec Terraform. Pour en savoir plus, consultez Obtenir un fichier kubeconfig.
Configurer Terraform
Pour configurer Terraform dans votre environnement GDC, procédez comme suit :
Dans votre module Terraform ou votre collection de fichiers Terraform sur votre poste de travail, créez le fichier
main.tfet ajoutez la configuration suivante :terraform { backend "s3" { bucket = "BUCKET_FQN" key = "TF_STATE_PATH" endpoint = "BUCKET_ENDPOINT" skip_credentials_validation = true force_path_style = true access_key = "ACCESS_KEY" secret_key = "SECRET_KEY" } }Remplacez les éléments suivants :
BUCKET_FQN: nom complet de la ressource personnaliséeBucket.TF_STATE_PATH: chemin d'accès au fichier d'état Terraform à stocker dans le bucket de stockage.BUCKET_ENDPOINT: point de terminaison de la ressource personnaliséeBucket.ACCESS_KEY: clé d'accès obtenue à partir du secret contenant vos identifiants d'accès. Pour savoir comment obtenir la clé d'accès, consultez Obtenir les identifiants d'accès au bucket.SECRET_KEY: clé secrète obtenue à partir du secret contenant vos identifiants d'accès. Pour savoir comment obtenir la clé secrète, consultez Obtenir les identifiants d'accès au bucket.
Initialisez votre fichier d'état Terraform dans le bucket de stockage que vous avez spécifié à l'étape précédente :
terraform initTerraform peut demander une région AWS comme entrée obligatoire, mais la valeur n'est pas utilisée, car vous utilisez le stockage d'objets GDC. Saisissez n'importe quelle région AWS pour répondre à l'exigence.
Déployez la ressource de rôle de cluster
crd-vieweret associez-la à votre compte utilisateur :kubectl apply --kubeconfig KUBECONFIG -f - <<EOF apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole metadata: name: crd-viewer rules: - apiGroups: ["apiextensions.k8s.io"] resources: ["customresourcedefinitions"] verbs: ["get", "list", "watch"] --- apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRoleBinding metadata: name: crd-viewer-binding subjects: - kind: User name: USER_EMAIL roleRef: kind: ClusterRole name: crd-viewer apiGroup: rbac.authorization.k8s.io EOFRemplacez les éléments suivants :
KUBECONFIG: fichier kubeconfig du serveur d'API ou du cluster qui héberge les ressources que vous gérez avec Terraform.USER_EMAIL: adresse e-mail de l'utilisateur auquel attribuer le rôle.
Déployez le rôle
crd-viewersur chaque serveur ou cluster d'API que vous souhaitez utiliser avec Terraform.Dans le fichier
main.tf, insérez le blocrequired_providerssuivant :terraform { required_providers { kubernetes = { source = "hashicorp/kubernetes" version = ">=2.24.0" } } }Cette configuration installe le fournisseur Kubernetes pour provisionner et gérer les ressources Kubernetes dans votre environnement GDC.
Initialisez votre répertoire de travail Terraform pour installer le fournisseur :
terraform init
Étapes suivantes
- Accéder aux zones avec vos outils
- Hiérarchie des ressources
- Se connecter à un fournisseur d'identité