Utilizza Terraform

Per configurare Terraform nel tuo ambiente air-gapped Google Distributed Cloud (GDC), devi scaricarlo e configurarlo per gestire le risorse Kubernetes.

Questo documento è destinato a tutti i gruppi di pubblico che devono configurare Terraform per gestire i workflow hardware e software air-gapped. Per saperne di più, consulta Pubblico per la documentazione GDC con air gap.

Prima di iniziare

Configura Terraform

Per configurare Terraform nel tuo ambiente GDC, completa i seguenti passaggi:

  1. Nel modulo Terraform o nella raccolta di file Terraform sulla workstation, crea il file main.tf e aggiungi la seguente configurazione:

    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"
      }
    }
    

    Sostituisci quanto segue:

    • BUCKET_FQN: il nome completo della risorsa personalizzata Bucket.

    • TF_STATE_PATH: il percorso del file di stato Terraform da archiviare nel bucket di archiviazione.

    • BUCKET_ENDPOINT: l'endpoint della risorsa personalizzata Bucket.

    • ACCESS_KEY: la chiave di accesso acquisita dal secret contenente le credenziali di accesso. Per saperne di più su come acquisire la chiave di accesso, consulta Ottenere le credenziali di accesso al bucket.

    • SECRET_KEY: la chiave segreta acquisita dal secret contenente le credenziali di accesso. Per saperne di più su come acquisire la chiave segreta, consulta Ottenere le credenziali di accesso al bucket.

  2. Inizializza il file di stato Terraform nel bucket di archiviazione che hai specificato nel passaggio precedente:

    terraform init
    

    Terraform potrebbe richiedere una regione AWS come input obbligatorio, ma il valore non viene utilizzato perché stai utilizzando l'object storage GDC. Inserisci una regione AWS qualsiasi per soddisfare il requisito.

  3. Esegui il deployment della risorsa del ruolo del cluster crd-viewer e associa il ruolo al tuo account utente:

    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
    EOF
    

    Sostituisci quanto segue:

    • KUBECONFIG: il file kubeconfig del server API o del cluster che ospita le risorse che stai gestendo con Terraform.

    • USER_EMAIL: l'indirizzo email dell'utente a cui associare il ruolo.

    Esegui il deployment del ruolo crd-viewer su ogni server API o cluster per cui vuoi utilizzare Terraform.

  4. Nel file main.tf, inserisci il seguente blocco required_providers:

    terraform {
      required_providers {
        kubernetes = {
          source = "hashicorp/kubernetes"
          version = ">=2.24.0"
        }
      }
    }
    

    Questa configurazione installa il provider Kubernetes per eseguire il provisioning e gestire le risorse Kubernetes nel tuo ambiente GDC.

  5. Inizializza la directory di lavoro di Terraform per installare il provider:

    terraform init
    

Passaggi successivi