Configura credenziali preparate per un cluster di amministrazione

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

Con le credenziali preparate, puoi archiviare quelle per il cluster di amministrazione in un secret nel cluster di amministrazione. Questo fornisce un elemento di sicurezza, perché non è necessario tenere le password e le 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. Se vuoi, puoi modificare il nome e la posizione di questo file.

Acquisisci familiarità con il file di configurazione leggendo il documento File di configurazione dei secret. Ti consigliamo di tenere il documento aperto in una scheda o una finestra separata.

Ecco un esempio di file di configurazione dei 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 campi seguenti. Questi campi non sono necessari, poiché Google Distributed Cloud otterrà le credenziali e le chiavi dai 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 ne è stato specificato uno.

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. Poi sostituisci le chiavi dell'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: vSphere, f5bigip, privateregistry, componenteaccess, register, 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

Per aggiornare un cluster di amministrazione che utilizza credenziali preparate, in molti casi puoi seguire le istruzioni riportate in Aggiornare un cluster.

Tuttavia, se vuoi abilitare Cloud Logging e Cloud Monitoring o Cloud Audit Logs come parte 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