Aggiungi domini al certificato del server API

Un nome alternativo del soggetto (SAN) è una funzionalità dei certificati SSL che consente di definiscono i nomi di dominio e i sottodomini protetti da un certificato. Su un Cluster Google Distributed Cloud, le SAN predefinite per il server API Kubernetes includono gli indirizzi IP e VIP dei nodi del piano di controllo e il Nomi DNS di Kubernetes. Con la funzionalità SAN aggiuntiva del certificato server API personalizzato, puoi aggiungere ulteriori domini, sottodomini e indirizzi IP come SAN Certificato server API Kubernetes per il cluster.

Per specificare SAN personalizzate per il certificato del server API, utilizza la controlPlane.apiServerCertExtraSANs nella specifica di configurazione del cluster. Questo campo accetta 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 altre SAN durante la creazione di un cluster, il server API Kubernetes include i domini e gli indirizzi IP aggiuntivi specificati quando in un cluster Kubernetes.

Aggiungi o aggiorna i domini per un cluster esistente

Poiché il campo apiServerCertExtraSANs è modificabile, puoi aggiungere o aggiornare in qualsiasi momento per i cluster esistenti. Quando modifichi campo apiServerCertExtraSANs nel cluster, attiva quanto segue. attività:

  • I controller dei cluster Google Distributed Cloud rigenerano il 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 Assicurati che siano conformi al nome di dominio RFC 1035 più comuni.

  • 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 in Kubernetes Server API 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 certificato aggiuntivo del server API Campo SAN su un cluster in esecuzione:

  • Nei cluster ad alta disponibilità (HA), le istanze del server API vengono riavviate in sequenza. Puoi comunque interagire con il cluster durante la procedura di certificazione 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 verso il basso. 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 il server API si riavvia per ricaricare il nuovo certificato.

La propagazione della modifica a tutti i server API richiede 5-20 minuti, a seconda del il numero di nodi del piano di controllo nel cluster e il carico del cluster.