Configura le credenziali preparate per un cluster di amministrazione

Questo documento mostra come configurare le credenziali preparate per un cluster di amministrazione in Google Distributed Cloud.

Con le credenziali preparate, puoi archiviare le credenziali per il cluster di amministrazione in un secret nel tuo cluster di amministrazione. Ciò fornisce un elemento di sicurezza, perché non è necessario conservare password e chiavi degli account di servizio sulla workstation di amministrazione.

Panoramica della procedura

  1. Compila un file di configurazione dei secret.

  2. Nel file di configurazione del cluster di amministrazione, imposta abilitata su true.

  3. Esegui gkectl prepare

  4. Crea il cluster di amministrazione.

Compila il file di configurazione dei secret

Genera un modello per un file di configurazione dei secret:

gkectl create-config secrets

Il comando precedente genera un file denominato secrets.yaml. Puoi modificare il nome e la posizione di questo file, se vuoi.

Per acquisire familiarità con il file di configurazione, leggi il documento sul file di configurazione dei secret. Puoi tenere aperto il documento in una scheda o finestra separata.

Ecco un esempio di file di configurazione di Secret. L'unico gruppo di secret contiene valori per le credenziali vCenter e quattro chiavi dell'account di servizio:

apiVersion: v1
kind: ClusterSecrets
secretGroups:
- secrets
  vCenter:
    username: "my-vcenter-account"
      password: "U$icUKEW#INE"
    componentAccessServiceAccount:
      serviceAccountKeyPath: "my-key-folder/component-access-key.json"
    registerServiceAccount:
      serviceAccountKeyPath: "my-key-folder/connect-register-key.json"
    stackdriverServiceAccount:
      serviceAccountKeyPath: "my-key-folder/log-mon-key.json"
    cloudAuditLoggingServiceAccount:
      serviceAccountKeyPath: "my-key-folder/audit-log-key.json"

File di configurazione del cluster di amministrazione

Crea un file di configurazione del cluster di amministrazione come descritto in Creare un cluster di amministrazione.

Nel file di configurazione del cluster di amministrazione, imposta preparedSecrets.enabled su true:

preparedsecrets:
  enabled: true

Nel file di configurazione del cluster di amministrazione, non specificare valori per i seguenti campi. Questi campi non sono necessari, perché Google Distributed Cloud riceverà le credenziali e le chiavi dai tuoi secret preparati.

  • vCenter.credentials.fileRef.path
  • componentAccessServiceAccountKeyPath
  • loadBalancer.f5BigIP.credentials.fileRef.path
  • gkeConnect.registerServiceAccountKeyPath
  • stackdriver.serviceAccountKeyPath
  • cloudAuditLogging.serviceAccountKeyPath
  • privateRegistry.credentials.fileRef.path

inizializza l'ambiente

Importa le immagini del sistema operativo in vSphere ed esegui il push delle immagini container in un registro privato, se specificato:

gkectl prepare --config ADMIN_CLUSTER_CONFIG --secret-config SECRETS_CONFIG

Sostituisci quanto segue:

  • ADMIN_CLUSTER_CONFIG: il percorso del file di configurazione del cluster di amministrazione

  • SECRETS_CONFIG: il percorso del file di configurazione dei secret

Crea il cluster di amministrazione

Crea il cluster di amministrazione:

gkectl create admin --config ADMIN_CLUSTER_CONFIG --secret-config SECRETS_CONFIG

Sostituisci quanto segue:

  • ADMIN_CLUSTER_CONFIG: il percorso del file di configurazione del cluster di amministrazione

  • SECRETS_CONFIG: il percorso del file di configurazione dei secret

Ruota le credenziali

Per ruotare le credenziali, è necessario un file di configurazione dei secret. Puoi scegliere tra due approcci:

  • Esegui gkectl create-config secrets per generare un nuovo file di configurazione dei secret. Compila il file con le nuove chiavi dell'account di servizio.

  • Genera un file di configurazione dei secret dal cluster di amministrazione. Quindi, sostituisci le chiavi degli account di servizio selezionate con altre nuove.

    Per generare un file di configurazione dei secret dal cluster di amministrazione:

    gkectl get-config admin --export-secrets-config \
      --bundle-path BUNDLE \
      --kubeconfig ADMIN_CLUSTER_KUBECONFIG
    

    Sostituisci quanto segue:

    • BUNDLE: il percorso del file del bundle Google Distributed Cloud

    • ADMIN_CLUSTER_KUBECONFIG: il percorso del file kubeconfig del cluster di amministrazione

Ruota le credenziali:

gkectl update credentials CREDENTIAL_TYPE \
    --config ADMIN_CLUSTER_CONFIG \
    --kubeconfig ADMIN_CLUSTER_KUBECONFIG \
    --secret-config SECRETS_CONFIG \
    --admin-cluster

Sostituisci quanto segue:

  • CREDENTIAL_TYPE: uno dei seguenti: vSfera, f5bigip, privateregistry, componenteaccess, registry, stackdriver, cloudauditlogging.

  • ADMIN_CLUSTER_CONFIG: il percorso del file di configurazione del cluster di amministrazione

  • ADMIN_CLUSTER_KUBECONFIG: il percorso del file kubeconfig del cluster di amministrazione

  • SECRETS_CONFIG: il percorso del file di configurazione dei secret

Aggiornamento

In molti casi, per aggiornare un cluster di amministrazione che utilizza credenziali preparate puoi seguire le istruzioni riportate in Aggiornamento di un cluster.

Tuttavia, se vuoi abilitare Cloud Logging e Cloud Monitoring o Cloud Audit Logs nell'ambito dell'aggiornamento, segui questi passaggi:

  1. Genera un file di configurazione dei secret.

  2. Nel file di configurazione dei secret, fornisci i valori per stackdriverServiceAccount.serviceAccountKeyPath e cloudAuditLoggingServiceAccount.serviceAccountKeyPath o per entrambi.

  3. Aggiorna il cluster:

    gkectl update admin --kubeconfig ADMIN_CLUSTER_KUBECONFIG \
      --config ADMIN_CLUSTER_CONFIG \
      --secret-config SECRETS_CONFIG