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 cluster di amministrazione. Questo fornisce un elemento di sicurezza, perché non devi conservare le password e le chiavi degli account di servizio sulla workstation di amministrazione.

Tieni presente la seguente limitazione con i cluster avanzati:

  • Versione 1.31: le credenziali preparate non sono supportate nei cluster avanzati.
  • Versione 1.32 e successive: le credenziali preparate sono supportate nei cluster avanzati.

Panoramica della procedura

  1. Compila un file di configurazione dei secret.

  2. Nel file di configurazione del cluster di amministrazione, imposta enabled 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.

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

Ecco un esempio di file di configurazione dei secret. Il gruppo di secret ha valori per le credenziali di vCenter e quattro chiavi degli 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 i valori per i seguenti campi. Questi campi non sono necessari, perché Google Distributed Cloud recupererà 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 e invia le immagini container a 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, devi avere un file di configurazione dei secret. Esistono due approcci:

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

  • Genera un file di configurazione dei secret dal cluster di amministrazione. Poi sostituisci le chiavi degli account di servizio selezionati con quelle 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 di 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 valori: vsphere, f5bigip, privateregistry, componentaccess, 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

Aggiorna

Per aggiornare un cluster di amministrazione che utilizza le 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 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 entrambi.

  3. Aggiorna il cluster:

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