Un nome alternativo del soggetto (SAN) è una funzionalità dei certificati SSL che consente di definire i nomi di dominio e i sottodomini protetti da un certificato. In un cluster Google Distributed Cloud, le SAN predefinite per il certificato del server API Kubernetes includono gli indirizzi IP e VIP dei nodi del piano di controllo e i nomi DNS di Kubernetes. Con la funzionalità SAN aggiuntiva del certificato server API personalizzato, puoi aggiungere ulteriori domini, sottodomini e indirizzi IP come SAN al certificato server API Kubernetes per il cluster.
Per specificare SAN personalizzate per il certificato del server API, utilizza il campo controlPlane.apiServerCertExtraSANs
nelle specifiche di configurazione del cluster. Questo campo include un elenco di nomi di dominio e indirizzi IP. Questo campo è facoltativo e modificabile. Puoi aggiungere questo campo e aggiornarlo quando crei un cluster o in un secondo momento.
...
kind: Cluster
metadata:
name: sample001
namespace: cluster-sample001
spec:
type: user
...
controlPlane:
apiServerCertExtraSANs:
- "demo-dns.example.com"
- "sample-dns.com"
nodePoolSpec:
nodes:
- address: 10.200.0.20
clusterNetwork:
...
Aggiungere domini durante la creazione del cluster
Quando aggiungi ulteriori SAN quando crei un cluster, il certificato del server API Kubernetes include i domini e gli indirizzi IP aggiuntivi specificati quando il cluster diventa disponibile.
Aggiungi o aggiorna i domini per un cluster esistente
Poiché il campo apiServerCertExtraSANs
è modificabile, puoi aggiungerlo o aggiornarlo in qualsiasi momento per i cluster esistenti. Quando modifichi il campo apiServerCertExtraSANs
nel cluster, vengono attivate le seguenti attività:
I controller dei cluster Google Distributed Cloud rigenerano il certificato del server API per includere i domini aggiuntivi modificati.
I controller del cluster riavviano il server API per ricaricare il nuovo certificato.
I nuovi valori di
apiServerCertExtraSANs
vengono verificati da un webhook per assicurarsi che siano conformi alle convenzioni dei nomi di dominio RFC 1035.Il pool di nodi del piano di controllo entra in stato di riconciliazione.
Control Plane Node Pool Status: Anthos Bare Metal Version: 1.28.0-gke.435 Anthos Bare Metal Versions: 1.28.0-gke.435: 3 Conditions: ... Last Transition Time: 2023-11-15T18:23:49Z Observed Generation: 1 Reason: Reconciling Status: True Type: Reconciling
Il pool di nodi diventa pronto dopo la propagazione della modifica ai server API Kubernetes su ciascun nodo del piano di controllo.
Control Plane Node Pool Status: Anthos Bare Metal Version: 1.28.0-gke.435 Anthos Bare Metal Versions: 1.28.0-gke.435: 3 Conditions: . . . Last Transition Time: 2023-11-15T18:32:25Z Observed Generation: 1 Reason: ReconciliationCompleted Status: False Type: Reconciling
Potresti riscontrare tempi di inattività durante l'aggiornamento del campo SAN aggiuntivo del certificato server API su un cluster in esecuzione:
Nei cluster ad alta disponibilità (HA), le istanze del server API si riavviano in sequenza. Puoi comunque interagire con il cluster durante l'aggiornamento del certificato, perché il bilanciatore del carico distribuisce le richieste a ciascun server API. Tuttavia, potresti visualizzare una risposta che indica che il server API è in fase di arresto. Se viene visualizzata questa risposta, riprova a eseguire la richiesta.
Nei cluster non ad alta disponibilità, potrebbe verificarsi una breve interruzione di circa un minuto durante il riavvio di un server API per ricaricare il nuovo certificato.
La propagazione della modifica a tutti i server API richiede 5-20 minuti, a seconda del numero di nodi del piano di controllo nel cluster e del carico del cluster.