Stay organized with collections
Save and categorize content based on your preferences.
A subject alternative name (SAN) is a feature of SSL certificates that lets you
define the domain names and subdomains that are secured by a certificate. On an
Google Distributed Cloud cluster, the default SANs for the Kubernetes API server
certificate include the IP and VIP addresses of the control plane nodes and the
Kubernetes DNS names. With the custom API server certificate extra SANs feature,
you can add additional domains, subdomains, and IP addresses as SANs to the
Kubernetes API server certificate for the cluster.
To specify custom SANs for the API server certificate, you use the
controlPlane.apiServerCertExtraSANs
field in the cluster configuration spec. This field takes a list of domain names
and IP addresses. This field is optional and mutable. You can add this field and
update it when you create a cluster or any time after.
When you add extra SANs when you create a cluster, the Kubernetes API server
certificate includes the additional specified domains and IP addresses when the
cluster becomes available.
Add or update domains for an existing cluster
Because the apiServerCertExtraSANs field is mutable, you can add or update the
field at any time for existing clusters. When you modify the
apiServerCertExtraSANs field in the cluster, it triggers the following
activities:
The Google Distributed Cloud cluster controllers regenerate the API server
certificate to include the modified extra domains.
The cluster controllers restart the API server to reload the new
certificate.
The new values of apiServerCertExtraSANs are verified by a webhook to
ensure that they conform to the RFC 1035 domain name
conventions.
The control plane node pool enters a reconciling state.
Control Plane Node Pool Status:Anthos Bare Metal Version:1.28.0-gke.435Anthos Bare Metal Versions:1.28.0-gke.435:3Conditions:...Last Transition Time:2023-11-15T18:23:49ZObserved Generation:1Reason:ReconcilingStatus:TrueType:Reconciling
The node pool becomes ready after the change propagates to the Kubernetes
API servers on each control plane node.
Control Plane Node Pool Status:Anthos Bare Metal Version:1.28.0-gke.435Anthos Bare Metal Versions:1.28.0-gke.435:3Conditions:. . .Last Transition Time:2023-11-15T18:32:25ZObserved Generation:1Reason:ReconciliationCompletedStatus:FalseType:Reconciling
You might experience downtime when updating the API server certificate extra
SANs field on a running cluster:
On high availability (HA) clusters, API server instances restart
sequentially. You can still interact with the cluster during the certificate
update, because the load balancer distributes requests to each API server.
However, you might see a response indicating that the API server is shutting
down. If you see this response, retry the request.
On non-HA clusters, there might be a brief outage of about one minute while
an API server restarts to reload the new certificate.
The change takes 5-20 minutes to propagate to all API servers, depending on the
number of control plane nodes in the cluster and the load of the cluster.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Hard to understand","hardToUnderstand","thumb-down"],["Incorrect information or sample code","incorrectInformationOrSampleCode","thumb-down"],["Missing the information/samples I need","missingTheInformationSamplesINeed","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-08-29 UTC."],[],[],null,["A subject alternative name (SAN) is a feature of SSL certificates that lets you\ndefine the domain names and subdomains that are secured by a certificate. On an\nGoogle Distributed Cloud cluster, the default SANs for the Kubernetes API server\ncertificate include the IP and VIP addresses of the control plane nodes and the\nKubernetes DNS names. With the custom API server certificate extra SANs feature,\nyou can add additional domains, subdomains, and IP addresses as SANs to the\nKubernetes API server certificate for the cluster.\n\nTo specify custom SANs for the API server certificate, you use the\n[`controlPlane.apiServerCertExtraSANs`](/kubernetes-engine/distributed-cloud/bare-metal/docs/reference/cluster-config-ref#controlplane-apiservercertextrasans)\nfield in the cluster configuration spec. This field takes a list of domain names\nand IP addresses. This field is optional and mutable. You can add this field and\nupdate it when you create a cluster or any time after. \n\n ...\n kind: Cluster\n metadata:\n name: sample001\n namespace: cluster-sample001\n spec:\n type: user\n ...\n controlPlane:apiServerCertExtraSANs:\n - \"demo-dns.example.com\"\n - \"sample-dns.com\"\n nodePoolSpec:\n nodes:\n - address: 10.200.0.20\n clusterNetwork:\n ...\n\nAdd domains during cluster creation\n\nWhen you add extra SANs when you create a cluster, the Kubernetes API server\ncertificate includes the additional specified domains and IP addresses when the\ncluster becomes available.\n\nAdd or update domains for an existing cluster\n\nBecause the `apiServerCertExtraSANs` field is mutable, you can add or update the\nfield at any time for existing clusters. When you modify the\n`apiServerCertExtraSANs` field in the cluster, it triggers the following\nactivities:\n\n- The Google Distributed Cloud cluster controllers regenerate the API server\n certificate to include the modified extra domains.\n\n- The cluster controllers restart the API server to reload the new\n certificate.\n\n- The new values of `apiServerCertExtraSANs` are verified by a webhook to\n ensure that they conform to the [RFC 1035 domain name\n conventions](https://datatracker.ietf.org/doc/html/rfc1035).\n\n- The control plane node pool enters a reconciling state.\n\n Control Plane Node Pool Status:\n Anthos Bare Metal Version: 1.28.0-gke.435\n Anthos Bare Metal Versions:\n 1.28.0-gke.435: 3\n Conditions:\n ...\n Last Transition Time: 2023-11-15T18:23:49Z\n Observed Generation: 1Reason: Reconciling\n Status: True\n Type: Reconciling\n\n- The node pool becomes ready after the change propagates to the Kubernetes\n API servers on each control plane node.\n\n Control Plane Node Pool Status:\n Anthos Bare Metal Version: 1.28.0-gke.435\n Anthos Bare Metal Versions:\n 1.28.0-gke.435: 3\n Conditions:\n . . .\n Last Transition Time: 2023-11-15T18:32:25Z\n Observed Generation: 1Reason: ReconciliationCompleted\n Status: False\n Type: Reconciling\n\nYou might experience downtime when updating the API server certificate extra\nSANs field on a running cluster:\n\n- On high availability (HA) clusters, API server instances restart\n sequentially. You can still interact with the cluster during the certificate\n update, because the load balancer distributes requests to each API server.\n However, you might see a response indicating that the API server is shutting\n down. If you see this response, retry the request.\n\n- On non-HA clusters, there might be a brief outage of about one minute while\n an API server restarts to reload the new certificate.\n\nThe change takes 5-20 minutes to propagate to all API servers, depending on the\nnumber of control plane nodes in the cluster and the load of the cluster."]]