Los nombres alternativos del sujeto (SAN) personalizados te permiten extender la cobertura del certificado del servidor de la API
a dominios, subdominios y direcciones IP adicionales. En un
clúster de Google Distributed Cloud, las SAN predeterminadas solo incluyen las direcciones IP y VIP de
los nodos del plano de control y los nombres de DNS de Kubernetes estándar. Puedes configurar SAN personalizadas con el campo mutable controlPlane.apiServerCertExtraSANs en el archivo de configuración del clúster, ya sea durante la creación del clúster o en cualquier momento posterior.
Agrega dominios durante la creación del clúster
Cuando agregas SAN adicionales cuando creas un clúster, el certificado del servidor de la API de Kubernetes incluye los dominios y las direcciones IP adicionales especificados cuando el clúster esté disponible.
En el siguiente ejemplo, se muestra el campo apiServerCertExtraSANs en un archivo de configuración
del clúster:
...
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:
...
Agrega o actualiza dominios para un clúster existente
Debido a que el campo apiServerCertExtraSANs es mutable, puedes agregarlo o actualizarlo
en cualquier momento para los clústeres existentes. Cuando modificas el
campo apiServerCertExtraSANs en el clúster, se activan las siguientes
actividades:
Los controladores del clúster de Google Distributed Cloud vuelven a generar el certificado del servidor de la API para incluir los dominios adicionales modificados.
Los controladores del clúster reinician el servidor de la API para volver a cargar el certificado nuevo.
Los valores nuevos de
apiServerCertExtraSANsse verifican con un webhook para garantizar que cumplan con las convenciones de nombres de dominio de RFC 1035.El grupo de nodos del plano de control entra en un estado de conciliación.
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: ReconcilingEl grupo de nodos estará listo después de que el cambio se propague a los servidores de la API de Kubernetes en cada nodo del plano de control.
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
Es posible que experimentes un tiempo de inactividad cuando actualices el campo de SAN adicionales del certificado del servidor de la API en un clúster en ejecución:
En los clústeres de alta disponibilidad (HA), las instancias del servidor de la API se reinician de forma secuencial. Aún puedes interactuar con el clúster durante la actualización del certificado, ya que el balanceador de cargas distribuye las solicitudes a cada servidor de la API. Sin embargo, es posible que veas una respuesta que indique que el servidor de la API se está cerrando. Si ves esta respuesta, vuelve a intentar la solicitud.
En los clústeres sin alta disponibilidad, puede haber una breve interrupción de aproximadamente un minuto mientras un servidor de la API se reinicia para volver a cargar el certificado nuevo.
El cambio tarda entre 5 y 20 minutos en propagarse a todos los servidores de la API, según la cantidad de nodos del plano de control en el clúster y la carga del clúster.