Utilizza Terraform

Per configurare Terraform nel tuo ambiente air-gap 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 propri flussi di lavoro hardware e software con air gap. Per saperne di più, consulta la documentazione relativa ai segmenti di pubblico per GDC air-gapped.

Prima di iniziare

Configura Terraform

Per configurare Terraform nel tuo ambiente GDC, completa quanto segue:

  1. All'interno del modulo Terraform o della raccolta di file Terraform sulla tua 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 tue 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 di Terraform nel bucket di archiviazione specificato nel passaggio precedente:

    terraform init
    

    Terraform potrebbe richiedere una regione AWS come input obbligatorio, ma il valore non viene utilizzato perché utilizzi 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 associala 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 gestisci con Terraform.

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

    Esegui il deployment del ruolo crd-viewer su ogni server API o cluster che vuoi utilizzare per 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