Questa pagina descrive come ruotare le chiavi per i seguenti service account:
Per ruotare le chiavi dell'account di servizio:
Crea una directory per archiviare un backup dei tuoi segreti attuali:
mkdir backup
Prendi nota delle seguenti informazioni per il account di servizio pertinente:
Accesso ai componenti
Cluster Secret Spazio dei nomi Amministratore admin-cluster-creds kube-system Amministratore user-cluster-creds CLUSTER_NAME-gke-onprem-mgmt Amministratore private-registry-creds kube-system Utente private-registry-creds kube-system - Se non utilizzi un
registro privato,
il secret
private-registry-creds
contiene la chiave per l'account di servizio di accesso ai componenti. - Se utilizzi un registro privato, il secret
private-registry-creds
contiene le credenziali per il tuo registro privato, non la chiave dell'account di servizio di accesso ai componenti.
Connect-register
Cluster Secret Spazio dei nomi Amministratore admin-cluster-creds kube-system Amministratore user-cluster-creds CLUSTER_NAME-gke-onprem-mgmt Logging-monitoring
Cluster Secret Spazio dei nomi Amministratore admin-cluster-creds kube-system Amministratore user-cluster-creds CLUSTER_NAME-gke-onprem-mgmt Utente google-cloud-credentials kube-system Utente stackdriver-service-account-key knative-serving Audit logging
Cluster Secret Spazio dei nomi Amministratore admin-cluster-creds kube-system Amministratore user-cluster-creds CLUSTER_NAME-gke-onprem-mgmt Amministratore kube-apiserver CLUSTER_NAME Stackdriver
Cluster Secret Spazio dei nomi Amministratore admin-cluster-creds kube-system Amministratore user-cluster-creds CLUSTER_NAME-gke-onprem-mgmt Utente google-cloud-credentials kube-system Utente stackdriver-service-account-key knative-serving - Se non utilizzi un
registro privato,
il secret
Crea un backup di ogni secret utilizzando il seguente comando:
kubectl get secret SECRET --namespace NAMESPACE \ --kubeconfig KUBECONFIG -o json > backup/SECRET-NAMESPACE.json
Sostituisci quanto segue:
NAMESPACE
: lo spazio dei nomi in cui si trova il secret. Ad esempio,kube-system
.KUBECONFIG
: il percorso del file kubeconfig per il cluster di amministrazione o utente.SECRET
: il nome del secret. Ad esempio,admin-cluster-creds
.
Ad esempio, esegui i seguenti comandi per l'account di servizio di audit logging:
kubectl get secret admin-cluster-creds --namespace kube-system \ --kubeconfig KUBECONFIG -o json > backup/admin-cluster-creds-kube-system.json kubectl get secret user-cluster-creds --namespace NAMESPACE \ --kubeconfig KUBECONFIG -o json > backup/user-cluster-creds-NAMESPACE.json kubectl get secret kube-apiserver --namespace NAMESPACE \ --kubeconfig KUBECONFIG -o json > backup/kube-apiserver-NAMESPACE.json
Per creare un nuovo file di chiavi dell'account di servizio, esegui questo comando:
gcloud iam service-accounts keys create NEW_KEY_FILE --iam-account IAM_ACCOUNT
Sostituisci quanto segue:
NEW_KEY_FILE
: il nome del nuovo file della chiave del account di servizioIAM_ACCOUNT
: l'indirizzo email del account di servizio
Nel file di configurazione del cluster di amministrazione, individua il campo
componentAccessServiceAccountKeyPath
, la sezionegkeConnect
, la sezionestackdriver
e la sezionecloudAuditLogging
. In questi punti, sostituisci i percorsi dei file delle chiavi delaccount di serviziot.Nel file di configurazione del cluster utente, individua il campo
componentAccessServiceAccountKeyPath
, la sezionegkeConnect
, la sezionestackdriver
e la sezionecloudAudigLogging
. In questi punti, sostituisci i percorsi dei file delle chiavi dell'account di servizio.Salva le modifiche apportate eseguendo i seguenti comandi:
Puoi ruotare le chiavi per un componente alla volta oppure puoi ruotare tutte le chiavi contemporaneamente impostando il componente su
sakeys
.gkectl update credentials COMPONENT \ --kubeconfig ADMIN_CLUSTER_KUBECONFIG \ --config ADMIN_CLUSTER_CONFIG \ --admin-cluster gkectl update credentials COMPONENT \ --kubeconfig ADMIN_CLUSTER_KUBECONFIG \ --config USER_CLUSTER_CONFIG
Sostituisci quanto segue:
COMPONENT
: un elemento tra:componentaccess
register
cloudauditlogging
stackdriver
sakeys
(ruota tutte le chiavi dei componenti)
ADMIN_CLUSTER_KUBECONFIG
: il percorso del file kubeconfig per il cluster di amministrazione.ADMIN_CLUSTER_CONFIG
: il percorso del file di configurazione del cluster di amministrazione.USER_CLUSTER_CONFIG
: il percorso del file di configurazione del cluster utente.
Ricreazione del nodo
Alcune rotazioni delle chiavi del account di servizio potrebbero richiedere più tempo perché è necessaria la ricreazione del nodo:
Service account | È necessaria la ricreazione dei nodi |
---|---|
Accesso ai componenti | Se utilizzi Artifact Registry: Sì Se utilizzi un registro privato: No |
Audit logging | Cluster di amministrazione: sì, ma solo nodi del control plane Cluster utente che utilizza kubeception: no Cluster utente che utilizza Controlplane V2: sì, ma solo nodi del control plane |
Logging-monitoring | No |
Connetti-registra | No |
Per una rotazione della chiave che richiede la ricreazione dei nodi, questi vengono sostituiti in un processo di aggiornamento in sequenza, ovvero vengono ricreati uno alla volta.
Il possibile tempo di inattività durante una rotazione della chiave è simile a quello di un upgrade del cluster. Per maggiori dettagli, vedi Tempo di inattività durante gli upgrade.
Ripristino dei backup
Se devi ripristinare i backup dei secret che hai creato in precedenza, esegui il seguente comando:
kubectl apply -f backup/
Differenze avanzate del cluster per la rotazione delle chiavi del account di servizio
Il comando gkectl update credentials
è supportato solo parzialmente per i cluster avanzati. La tabella seguente elenca le varianti di comando supportate e non supportate:
Comando | Descrizione | Assistenza |
---|---|---|
gkectl update credentials certificate-authorities rotate |
Ruota le autorità di certificazione. | Supportato |
gkectl update credentials certificate-authorities status |
(Anteprima) Visualizza lo stato di rotazione delle autorità di certificazione. | Supportato |
gkectl update credentials certificate-authorities update-kubeconfig |
Scarica un file kubeconfig con il certificato client più recente. | Supportato |
gkectl update credentials cloudauditlogging |
Aggiorna le credenziali di Cloud Audit Logs. | Non supportato |
gkectl update credentials componentaccess |
Aggiorna le credenziali della chiave del account di servizio di accesso ai componenti per i cluster creati con Google Distributed Cloud per VMware. | Supportato |
gkectl update credentials f5bigip |
Aggiorna le credenziali del bilanciatore del carico F5 BIG-IP. | Non necessario |
gkectl update credentials ksa-signing-key rotate |
Ruota la chiave di firma del token del account di servizio Kubernetes (KSA). | Non supportato |
gkectl update credentials ksa-signing-key status |
Visualizza lo stato di una rotazione della chiave di firma del token KSA in corso. | Non supportato |
gkectl update credentials |
Aggiorna le credenziali del cluster. | Supportato |
gkectl update credentials privateregistry |
Aggiorna le credenziali del registro privato per un cluster. | Supportato |
gkectl update credentials register |
Aggiorna le credenziali della chiave del account di servizio di registrazione. | Supportato |
gkectl update credentials sakeys |
Aggiorna le credenziali delle chiavi del account di servizio per un cluster. | Supportato |
gkectl update credentials stackdriver |
(Anteprima) Aggiorna le credenziali di Google Cloud Observability. | Supportato |
gkectl update credentials vsphere |
Aggiorna le credenziali vSphere per un cluster. | Supportato |
Per un elenco completo delle funzionalità e delle capacità di Google Distributed Cloud per VMware supportate o non supportate per i cluster avanzati, consulta Differenze durante l'esecuzione di cluster avanzati.