Ruotare le autorità di certificazione

Google Distributed Cloud utilizza certificati e chiavi private per autenticare e criptare le connessioni tra i componenti di sistema nei cluster. L'autorità di certificazione (CA) del cluster gestisce questi certificati e queste chiavi. Quando esegui il comando bmctl update credentials certificate-authorities rotate, Google Distributed Cloud esegue le seguenti azioni:

  • Crea e carica nuove autorità di certificazione (CA) del cluster per la CA del cluster, la CA etcd e la CA front-proxy nello spazio dei nomi del cluster utente nel cluster di amministrazione.

  • I controller del cluster di amministrazione sostituiscono le autorità di certificato del cluster utente con quelle appena generate.

  • I controller del cluster amministrativo distribuiscono i nuovi certificati CA pubblici e le coppie di chiavi dei certificati principali ai componenti di sistema del cluster utente.

Per mantenere la comunicazione del cluster sicura, ruota la CA del cluster utente periodicamente e ogni volta che si verifica una possibile violazione della sicurezza.

Prima di iniziare

Prima di ruotare l'autorità di certificazione del cluster, pianifica in base alle seguenti condizioni e agli impatti:

  • Assicurati che i cluster di amministrazione e utente siano alla versione 1.9.0 o successiva prima di iniziare la rotazione delle CA.

  • La rotazione delle CA è incrementale, il che consente ai componenti di sistema di comunicare durante la rotazione.

  • Il processo di rotazione della CA riavvia il server API, i processi del piano di controllo e i pod nel cluster utente.

  • Durante la rotazione delle CA, i carichi di lavoro dovrebbero riavviarsi e essere riprogrammati.

  • Per le configurazioni dei cluster non ad alta disponibilità, sono previsti brevi periodi di tempo di inattività del piano di controllo durante la rotazione della CA.

  • Le operazioni di gestione dei cluster non sono consentite durante la rotazione della CA.

  • La durata della rotazione delle CA dipende dalle dimensioni del cluster. Ad esempio, la rotazione della CA può richiedere quasi due ore per un cluster con un piano di controllo e 50 nodi worker.

Limitazioni

La funzionalità di rotazione delle autorità di certificazione presenta le seguenti limitazioni:

  • La rotazione delle CA non aggiorna i certificati emessi manualmente da un amministratore, anche se la CA del cluster firma i certificati. Aggiorna e ridistribuisci eventuali certificati emessi manualmente al termine della rotazione della CA del cluster utente.

  • Una volta avviata, la rotazione delle CA non può essere messa in pausa o annullata.

Avviare una rotazione dell'autorità di certificazione del cluster

Utilizza il seguente comando per avviare la procedura di rotazione della CA:

bmctl update credentials certificate-authorities rotate --cluster CLUSTER_NAME \
    --kubeconfig KUBECONFIG

Sostituisci quanto segue:

  • CLUSTER_NAME: il nome del cluster per cui vuoi eseguire la rotazione delle CA.
  • KUBECONFIG: il percorso del file kubeconfig del cluster di amministrazione. Per i cluster autogestiti, questo file è il file kubeconfig del cluster.

Il comando bmctl esce dopo la rotazione della CA e la generazione di un nuovo file kubeconfig. Il percorso standard per il file kubeconfig è bmctl-workspace/CLUSTER_NAME/CLUSTER_NAME-kubeconfig.

Risolvere i problemi relativi alla rotazione dell'autorità di certificazione del cluster

Il comando bmctl update credentials mostra l'avanzamento della rotazione della CA. Il file update-credentials.log associato viene salvato nella seguente directory con timestamp:

bmctl-workspace/CLUSTER_NAME/log/update-credentials-TIMESTAMP