Questo argomento descrive come ruotare le credenziali di sicurezza per GKE su AWS Management Service e sui cluster utente. Per ulteriori informazioni sulle funzionalità di sicurezza di GKE su AWS, consulta Sicurezza.
Prima di iniziare
Per completare i passaggi in questa pagina, devi avere accesso alla directory con la tua configurazione GKE su AWS.
Certificati del servizio di gestione
Questa sezione descrive come ruotare i certificati per il servizio di gestione.
Autorità di certificazione di gestione
Questa sezione spiega come ruotare i certificati di firma delle autorità di certificazione (CA) per GKE su componenti AWS.
CA radice del server API di gestione
Per ruotare la CA radice del server API, segui questi passaggi:
- Passa alla directory con la tua configurazione GKE su AWS.
Hai creato questa directory durante l'installazione del servizio di gestione.
cd anthos-aws
- Apri
anthos-gke.status.yaml
in un editor di testo. - Rimuovi tutti i valori sotto la chiave
certificateAuthority
. Sono inclusiencryptedPrivateKey.kmsKeyARN
,encryptedPrivateKey.value
eencryptedPrivateKey.certificate
. Esegui
anthos-gke aws management init
per aggiornare il fileanthos-gke.status.yaml
.anthos-gke aws management init
Esegui
anthos-gke aws management apply
per aggiornare il servizio di gestione.anthos-gke aws management apply
- Dalla directory
anthos-aws
, utilizzaanthos-gke
per cambiare contesto al servizio di gestione.cd anthos-aws anthos-gke aws management get-credentials
Altre CA di gestione
Questa sezione descrive come ruotare tutte le seguenti CA:
- CA webhook di autenticazione
- CA Etcd
- CA firmatario account di servizio
Puoi ruotare queste CA con uno dei seguenti metodi:
Rimuovi la sezione
certificateAuthority
daanthos-gke.status.yaml
.- Passa alla directory con la tua configurazione GKE su AWS.
Hai creato questa directory durante l'installazione del servizio di gestione.
cd anthos-aws
- Apri
anthos-gke.status.yaml
in un editor di testo. - Rimuovi tutti i valori sotto la chiave
certificateAuthority
. Sono inclusiencryptedPrivateKey.kmsKeyARN
,encryptedPrivateKey.value
eencryptedPrivateKey.certificate
. Esegui
anthos-gke aws management init
per aggiornare il fileanthos-gke.status.yaml
.anthos-gke aws management init
Esegui
anthos-gke aws management apply
per aggiornare il servizio di gestione.anthos-gke aws management apply
- Passa alla directory con la tua configurazione GKE su AWS.
Hai creato questa directory durante l'installazione del servizio di gestione.
Se è disponibile una nuova versione di GKE su AWS, esegui l'upgrade di GKE su AWS di gestione del servizio.
Ricrea l'istanza del servizio di gestione EC2.
- Dalla directory
anthos-aws
, utilizzaterraform
per ottenere l'ID del tuo servizio di gestione.cd anthos-aws terraform output cluster_id
L'output include l'ID servizio di gestione. Nell'esempio seguente, l'ID ègke-12345abc
.terraform output cluster_id
gke-12345abc - Apri la console AWS EC2.
- Fai clic su Istanze.
- Trova l'istanza denominata
cluster-id-management-0
. - Seleziona Azioni -> Stato istanza -> termina per rimuovere l'istanza. EC2 crea automaticamente una nuova istanza con lo stesso volume EBS.
- Dalla directory
Gestione di chiavi e certificati client / server TLS
Per ruotare le chiavi client / server e i certificati TLS per il servizio di gestione, devi ricreare l'istanza del servizio di gestione. Per ricreare l'istanza, esegui questi passaggi:
- Dalla directory
anthos-aws
, utilizzaterraform
per ottenere l'ID del tuo servizio di gestione.cd anthos-aws terraform output cluster_id
L'output include l'ID servizio di gestione. Nell'esempio seguente, l'ID ègke-12345abc
.terraform output cluster_id
gke-12345abc - Apri la console AWS EC2.
- Fai clic su Istanze.
- Trova l'istanza denominata
cluster-id-management-0
. - Seleziona Azioni -> Stato istanza -> termina per rimuovere l'istanza. EC2 crea automaticamente una nuova istanza con lo stesso volume EBS.
Account di servizio Google Cloud
Account di servizio di gestione
Per ruotare gli account di servizio Google Cloud per il servizio di gestione, segui questi passaggi.
- Crea nuovi account di servizio e scarica le chiavi degli account di servizio seguendo i passaggi descritti in Prerequisiti
- Passa alla directory con la tua configurazione GKE su AWS.
Hai creato questa directory durante l'installazione del servizio di gestione.
cd anthos-aws
Se hai scaricato le chiavi in un percorso diverso, apri il file
anthos-gke.yaml
in un editor di testo. Modifica i valori di.spec.googleCloud.serviceAccountKeys.managementService
,.status.googleCloud.serviceAccountKeys.connectAgent
e.spec.googleCloud.serviceAccountKeys.node
nei nuovi percorsi.apiVersion: multicloud.cluster.gke.io/v1 kind: AWSManagementService metadata: name: management spec: googleCloud: serviceAccountKeys: managementService: MANAGEMENT_KEY_PATH connectAgent: CONNECT_KEY_PATH node: NODE_KEY_PATH ...
Esegui
anthos-gke aws management init
per aggiornare il fileanthos-gke.status.yaml
.anthos-gke aws management init
Esegui
anthos-gke aws management apply
per aggiornare il servizio di gestione.anthos-gke aws management apply
Account di servizio del cluster utente
Per applicare questi account di servizio ai tuoi AWSCluster e AWSNodePools, devi eseguire l'upgrade o eliminarli e poi ricrearli.
Certificati del cluster utente
Questa sezione descrive come ruotare i certificati per i cluster utente.
CA e chiavi SSH del cluster utente
La maggior parte delle CA per i cluster utente viene creata al momento della creazione del cluster.
Quando elimini un cluster utente, GKE su AWS ruota i seguenti certificati:
- CA radice del server API
- CA proxy frontale API
- etcd CA
- CA firmatario account di servizio Kubernetes
- Coppie di chiavi SSH dal piano di controllo al nodo
CA webhook di autenticazione del cluster utente
Per ruotare la CA del webhook di autenticazione del cluster utente, modifica il file anthos-gke.status.yaml
e applica le modifiche.
- Passa alla directory con la tua configurazione GKE su AWS.
Hai creato questa directory durante l'installazione del servizio di gestione.
cd anthos-aws
- Apri
anthos-gke.status.yaml
in un editor di testo. - Rimuovi tutti i valori sotto la chiave
certificateAuthority
. Sono inclusiencryptedPrivateKey.kmsKeyARN
,encryptedPrivateKey.value
eencryptedPrivateKey.certificate
. Esegui
anthos-gke aws management init
per aggiornare il fileanthos-gke.status.yaml
.anthos-gke aws management init
Esegui
anthos-gke aws management apply
per aggiornare il servizio di gestione.anthos-gke aws management apply
Coppie e certificati di chiavi TLS del cluster utente
GKE su AWS genera coppie di chiavi e certificati TLS durante la creazione di un'istanza. Per ruotare queste coppie, ricrea l'istanza eseguendo i passaggi seguenti per il piano di controllo e i pool di nodi.
Piano di controllo
- Dalla directory
anthos-aws
, utilizzaanthos-gke
per cambiare contesto al servizio di gestione.cd anthos-aws anthos-gke aws management get-credentials
Utilizza
kubectl
per ottenere il gruppo di destinazione AWS EC2 del piano di controllo da AWSCluster.env HTTPS_PROXY=http://localhost:8118 \ kubectl get awscluster cluster-name \ -o jsonpath='{.status.targetGroupName}{"\n"}'
L'output include il nome del gruppo target EC2 del piano di controllo. Ad esempio,
gke-123456a7-controlplane
.Apri la console AWS EC2. Scegli Gruppi di destinazione nel riquadro a sinistra.
Fai clic sulla barra di ricerca e trova il gruppo di destinazione. Fai clic sul nome del gruppo di destinazione e poi su Target. Viene visualizzato l'elenco delle istanze del piano di controllo.
Per ogni istanza nel gruppo di destinazione, segui questi passaggi:
Fai clic sull'ID istanza dell'istanza. Viene visualizzata la console delle istanze AWS EC2.
Fai clic sull'ID istanza.
Seleziona Azioni -> Stato istanza -> termina per rimuovere l'istanza. EC2 crea automaticamente una nuova istanza con lo stesso volume EBS.
Torna alla pagina Gruppi di destinazione.
Dopo aver terminato tutte le istanze nel gruppo, torna alla pagina Gruppi di destinazione.
Nella sezione Destinazioni registrate della pagina, individua la colonna Stato. Ogni istanza deve avere lo stato Integro. Se una delle istanze è in stato integro, attendi diversi minuti e fai clic sull'icona Aggiorna (
).Dopo che tutte le istanze nel gruppo di destinazione sono integri, vai al passaggio successivo.
Pool di nodi
Per ruotare i certificati TLS del pool di nodi:
- Dalla directory
anthos-aws
, utilizzaanthos-gke
per cambiare contesto al servizio di gestione.cd anthos-aws anthos-gke aws management get-credentials
Utilizza
kubectl
per ottenere il gruppo di destinazione AWS EC2 del tuo pool di nodi da AWSNodePool.env HTTPS_PROXY=http://localhost:8118 \ kubectl get awsnodepool -o jsonpath='{.items[*].status.autoScalingGroupName}{"\n"}'
L'output include il nome del gruppo di destinazione EC2 del pool di nodi. Ad esempio,
gke-123456a7-nodepool-abc123
.Apri la console AWS EC2. Scegli Gruppi di destinazione nel riquadro a sinistra.
Fai clic sulla barra di ricerca e trova il gruppo di destinazione. Fai clic sul nome del gruppo di destinazione e poi su Target. Viene visualizzato l'elenco delle istanze del piano di controllo.
Per ogni istanza nel gruppo di destinazione, segui questi passaggi:
Fai clic sull'ID istanza dell'istanza. Viene visualizzata la console delle istanze AWS EC2.
Fai clic sull'ID istanza.
Seleziona Azioni -> Stato istanza -> termina per rimuovere l'istanza. EC2 crea automaticamente una nuova istanza con lo stesso volume EBS.
Torna alla pagina Gruppi di destinazione.
Dopo aver terminato tutte le istanze nel gruppo, torna alla pagina Gruppi di destinazione.
Nella sezione Destinazioni registrate della pagina, individua la colonna Stato. Ogni istanza deve avere lo stato Integro. Se una delle istanze è in stato integro, attendi diversi minuti e fai clic sull'icona Aggiorna (
).Dopo che tutte le istanze nel gruppo di destinazione sono integri, vai al passaggio successivo.