I nomi alternativi del soggetto (SAN) personalizzati ti consentono di estendere la copertura del certificato del server API ad altri domini, sottodomini e indirizzi IP. In un cluster Google Distributed Cloud, i SAN predefiniti includono solo gli indirizzi IP e VIP dei nodi del control plane e i nomi DNS Kubernetes standard. Puoi configurare SAN personalizzate utilizzando il campo modificabile controlPlane.apiServerCertExtraSANs nel file di configurazione del cluster, durante la creazione del cluster o in qualsiasi momento successivo.
Aggiungi domini durante la creazione del cluster
Quando aggiungi SAN aggiuntivi durante la creazione di un cluster, il certificato del server API Kubernetes include i domini e gli indirizzi IP aggiuntivi specificati quando il cluster diventa disponibile.
L'esempio seguente mostra il campo apiServerCertExtraSANs in un file di configurazione del cluster:
...
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:
...
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 del 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
apiServerCertExtraSANsvengono verificati da un webhook per garantire che siano conformi alle convenzioni per i nomi di dominio RFC 1035.Il pool di nodi del control plane entra in uno 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: ReconcilingIl pool di nodi diventa pronto dopo che la modifica viene propagata ai server API Kubernetes su ogni nodo del control plane.
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 aggiuntive del certificato del server API su un cluster in esecuzione:
Sui cluster ad alta affidabilità (HA), le istanze del server API vengono riavviate 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 visualizzi questa risposta, riprova a inviare la richiesta.
Sui 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 da 5 a 20 minuti, a seconda del numero di nodi del control plane nel cluster e del carico del cluster.