Configura le credenziali preparate per un cluster di amministrazione

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

Con le credenziali preparate, puoi archiviare le credenziali per il tuo cluster di amministrazione in un segreto nel cluster di amministrazione. Questo fornisce un elemento di sicurezza, perché non devi conservare password e chiavi degli account di servizio sulla tua workstation dell'amministratore.

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 Secrets:

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 segreti. Ti consigliamo di tenere aperto questo documento in una scheda o una finestra distinta.

Ecco un esempio di file di configurazione di Secrets. Il gruppo Secret contiene i valori per le credenziali di 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 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 ed esegui il push delle immagini dei container in un registry 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 di Secrets

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 di Secrets

Ruota le credenziali

Per ruotare le credenziali, devi avere un file di configurazione Secrets. Puoi adottare due approcci:

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

  • Genera un file di configurazione di Secrets dal cluster di amministrazione. Poi sostituisci le chiavi degli account di servizio selezionati con quelle nuove.

    Per generare un file di configurazione di Secrets 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: 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 Secrets

Aggiorna

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

Tuttavia, se vuoi attivare Cloud Logging e Cloud Monitoring o Audit log di Cloud nell'ambito dell'aggiornamento, segui questi passaggi:

  1. Genera un file di configurazione dei segreti.

  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