Per ruotare le chiavi degli account di servizio in Google Distributed Cloud, aggiorna le credenziali del cluster esistenti con il comando bmctl
. La rotazione della chiave dell'account di servizio potrebbe far parte dei normali processi di aggiornamento delle credenziali o in risposta a una potenziale esposizione delle chiavi. Quando aggiorni le credenziali del cluster, le nuove informazioni vengono passate ai cluster di amministrazione o ibridi o instradate automaticamente ai cluster utente interessati gestiti da un cluster di amministrazione.
Credenziali del cluster che possono essere aggiornate
I cluster Google Distributed Cloud richiedono più credenziali quando vengono creati. Puoi impostare le credenziali nella configurazione del cluster quando crei un cluster di amministrazione, autonomo o ibrido. I cluster utente, come indicato in precedenza, sono gestiti da un cluster di amministrazione (o da un cluster ibrido che funge da amministratore) e riutilizzeranno le stesse credenziali del cluster di amministrazione.
Per saperne di più sulla creazione di cluster e sui diversi tipi di cluster, consulta Panoramica dell'installazione: scelta di un modello di deployment.
Puoi aggiornare le seguenti credenziali e i secret corrispondenti
nei cluster Google Distributed Cloud con il comando bmctl
:
- Chiave privata SSH: utilizzata per l'accesso al nodo.
- Chiave di Container Registry (
anthos-baremetal-gcr
): chiave dell'account di servizio utilizzata per l'autenticazione con Container Registry per il pull delle immagini. - Chiave dell'account di servizio dell'agente
(
anthos-baremetal-connect
): chiave dell'account di servizio utilizzata dai pod degli agenti. - Connetti chiave dell'account di servizio del registry
(
anthos-baremetal-register
): chiave dell'account di servizio utilizzata per l'autenticazione con Hub durante la registrazione o l'annullamento della registrazione di un cluster. - Chiave dell'account di servizio delle operazioni cloud (
anthos-baremetal-cloud-ops
): chiave dell'account di servizio per l'autenticazione con le API Google Cloud Observability (logging e monitoraggio).
Aggiorna le credenziali con bmctl
Quando crei i cluster, Google Distributed Cloud crea secret di Kubernetes in base alle tue chiavi delle credenziali. Se generi nuove chiavi, devi aggiornare i secret corrispondenti come descritto nei passaggi seguenti. Se il nome o il percorso delle chiavi cambiano, devi aggiornare anche il file di configurazione del cluster corrispondente.
Prepara i nuovi valori per le credenziali che vuoi aggiornare:
Puoi generare nuove chiavi degli account di servizio Google tramite Google Cloud CLI o la console Google Cloud.
Genera una nuova chiave privata SSH sulla workstation di amministrazione e assicurati che le macchine dei nodi cluster abbiano la chiave pubblica corrispondente.
Aggiorna la sezione delle credenziali del file di configurazione del cluster con i percorsi delle nuove chiavi.
Aggiorna i secret del cluster corrispondenti con il comando
bmctl update credentials
, aggiungendo i flag appropriati.L'esempio seguente aggiorna le credenziali per una nuova chiave privata SSH:
bmctl update credentials --kubeconfig ADMIN_KUBECONFIG \ --cluster CLUSTER_NAME \ --ssh-private-key-path SSH_KEY_PATH
Sostituisci quanto segue:
ADMIN_KUBECONFIG
: il percorso del file kubeconfig del cluster di amministrazione o autogestito.CLUSTER_NAME
: il nome del cluster per cui stai aggiornando la chiave SSH.SSH_KEY_PATH
: il percorso del file della chiave SSH. Per impostazione predefinita,bmctl
controlla i file delle chiavi SSH e dell'account di servizio specificati nel file di configurazione del cluster. Sebmctl
trova un file di chiave scaduto, il comando non riesce. Se il nuovo file di chiave valido si trova in una posizione diversa da quella specificata nel file di configurazione, includi il flag--ignore-validation-errors
per evitare questo errore.
Per un elenco completo dei flag che puoi utilizzare con il comando
bmctl update credentials
, consulta la sezione relativa alle credenziali di aggiornamento nel riferimento per i comandibmctl
.