Um nome alternativo do requerente (SAN) é uma funcionalidade dos certificados SSL que lhe permite definir os nomes de domínio e os subdomínios protegidos por um certificado. Num cluster do Google Distributed Cloud, os SANs predefinidos para o certificado do servidor da API Kubernetes incluem os endereços IP e VIP dos nós do plano de controlo e os nomes DNS do Kubernetes. Com a funcionalidade de SANs adicionais do certificado do servidor da API personalizado, pode adicionar domínios, subdomínios e endereços IP adicionais como SANs ao certificado do servidor da API Kubernetes para o cluster.
Para especificar SANs personalizados para o certificado do servidor da API, use o campo controlPlane.apiServerCertExtraSANs
na especificação de configuração do cluster. Este campo recebe uma lista de nomes de domínios e endereços IP. Este campo é opcional e mutável. Pode adicionar este campo e
atualizá-lo quando criar um cluster ou em qualquer altura depois.
...
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:
...
Adicione domínios durante a criação de clusters
Quando adiciona SANs adicionais ao criar um cluster, o certificado do servidor da API Kubernetes inclui os domínios e os endereços IP especificados adicionais quando o cluster fica disponível.
Adicione ou atualize domínios para um cluster existente
Uma vez que o campo apiServerCertExtraSANs
é mutável, pode adicionar ou atualizar o campo em qualquer altura para clusters existentes. Quando modifica o campo apiServerCertExtraSANs
no cluster, são acionadas as seguintes atividades:
Os controladores do cluster do Google Distributed Cloud regeneram o certificado do servidor da API para incluir os domínios adicionais modificados.
Os controladores do cluster reiniciam o servidor da API para recarregar o novo certificado.
Os novos valores de
apiServerCertExtraSANs
são validados por um webhook para garantir que estão em conformidade com as convenções de nomes de domínio RFC 1035.O node pool do plano de controlo entra num estado de conciliação.
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
O conjunto de nós fica pronto depois de a alteração ser propagada para os servidores da API Kubernetes em cada nó do plano de controlo.
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
Pode ocorrer tempo de inatividade quando atualiza o campo SANs adicionais do certificado do servidor da API num cluster em execução:
Em clusters de alta disponibilidade (HA), as instâncias do servidor da API são reiniciadas sequencialmente. Ainda pode interagir com o cluster durante a atualização do certificado, porque o equilibrador de carga distribui pedidos a cada servidor da API. No entanto, pode ver uma resposta a indicar que o servidor da API está a ser encerrado. Se vir esta resposta, tente novamente o pedido.
Em clusters não de HA, pode ocorrer uma breve indisponibilidade de cerca de um minuto enquanto um servidor de API é reiniciado para recarregar o novo certificado.
A alteração demora 5 a 20 minutos a propagar-se a todos os servidores da API, consoante o número de nós do plano de controlo no cluster e a carga do cluster.