Neste documento, mostramos como migrar um cluster de usuário da versão 1.29 ou superior usando o kubeception para o Controlplane V2.
1.29: Pré-lançamento
1.28: Indisponível
1.16: Indisponível
Sobre os planos de controle do cluster de usuário
Antes da versão 1.13 do Google Distributed Cloud, o plano de controle de um cluster de usuário era executado em um ou mais nós de um cluster de administrador. Esse tipo de plano de controle é chamado de kubeception. Na versão 1.13, o Controlplane V2 foi introduzido para novos clusters de usuário. Quando o plano de controle V2 está ativado, o plano de controle do cluster do usuário é executado no próprio cluster.
Os benefícios do plano de controle V2 incluem:
Isolamento de falhas. Uma falha no cluster de administrador não afeta os clusters de usuário.
Separação operacional. Um upgrade do cluster de administrador não causa inatividade dos clusters de usuário.
Separação de implantação. É possível colocar os clusters de administrador e de usuário em diferentes domínios de falha ou locais geográficos. Por exemplo, um cluster de usuário em um local de borda pode estar em um site geográfico diferente do cluster de administrador.
Requisitos
Para migrar um cluster de usuário para o Controlplane V2, ele precisa atender aos seguintes requisitos:
O cluster de usuário precisa estar na versão 1.29 ou mais recente. O cluster de administrador e os pools de nós podem ser uma ou duas versões secundárias anteriores ao cluster de usuário. Se necessário, faça upgrade do cluster.
O cluster de usuário precisa ter o Dataplane V2 ativado. Esse campo é imutável. Portanto, se o Dataplane V2 não estiver ativado no cluster, não será possível migrá-lo para o Controlplane V2.
O cluster de usuário precisa ser configurado para usar o MetalLB ou um balanceador de carga manual. Se o cluster de usuário estiver usando o balanceador de carga SeeSaw, será possível migrá-lo para o MetalLB.
Consulte o documento de planejamento de endereços IP e verifique se você tem endereços IP suficientes disponíveis para os nós do plano de controle do cluster de usuário. Os nós do plano de controle exigem endereços IP estáticos, e você vai precisar de outro endereço IP para um novo IP virtual (VIP) do plano de controle.
Atualizar o arquivo de configuração do cluster de usuário
Faça as seguintes alterações no arquivo de configuração do cluster de usuário:
Defina
enableControlplaneV2
como verdadeiro.Outra opção é tornar o plano de controle do cluster de usuário do plano de controle V2 altamente disponível (HA, na sigla em inglês). Para mudar de um cluster que não é de alta disponibilidade para um de alta disponibilidade, altere
masterNode.replicas
de 1 para 3.Adicione os endereços IP estáticos dos nós do plano de controle do cluster de usuário à seção
network.controlPlaneIPBlock.ips
. Remova o endereço IP (ou endereços) dos nós do plano de controle do cluster de usuário do kubeception do arquivo de bloco de IP do cluster de administrador.Preencha a máscara de rede e o gateway na seção
network.controlPlaneIPBlock
.Se a seção
network.hostConfig
estiver vazia, preencha-a.Se o cluster de usuário usar o balanceamento de carga manual, configure o balanceador de carga para incluir os IPs de nó do plano de controle para o tráfego do plano de dados:
- (
ingressVIP
:80) -> (CP_NODE_IP_ADDRESSES:ingressHTTPNodePort
) - (
ingressVIP
:443) -> (CP_NODE_IP_ADDRESSES:ingressHTTPSNodePort
)
- (
Atualize o campo
loadBalancer.vips.controlPlaneVIP
com o novo endereço IP para o VIP do plano de controle.Todos os campos anteriores são imutáveis, exceto ao atualizar o cluster para a migração. Verifique todas as configurações.
Execute
gkectl diagnose cluster
e corrija os problemas encontrados pelo comando.gkectl diagnose cluster --kubeconfig=ADMIN_CLUSTER_KUBECONFIG \ --cluster-name=USER_CLUSTER_NAME
Substitua:
ADMIN_CLUSTER_KUBECONFIG
: o caminho do arquivo kubeconfig do cluster de administradorCLUSTER_NAME
: o nome do cluster do usuário.
Ajustar a configuração manual do balanceador de carga
Se o cluster de usuário usar balanceamento de carga manual, siga a etapa desta seção. Caso contrário, pule esta seção.
Para configurar o balanceador de carga de um cluster de usuário CPv2, configure os mapeamentos no balanceador de carga para cada um dos três novos endereços IP de nó do plano de controle especificados na seção network.controlPlaneIPBlock:
- (ingressVIP:80) -> (NEW_NODE_IP_ADDRESS:ingressHTTPNodePort)
- (ingressVIP:443) -> (NEW_NODE_IP_ADDRESS:ingressHTTPNodePort)
Atualizar o cluster
Execute o seguinte comando para migrar o cluster para o plano de controle V2:
gkectl update cluster \ --kubeconfig ADMIN_CLUSTER_KUBECONFIG \ --config USER_CLUSTER_CONFIG
Substitua:
ADMIN_CLUSTER_KUBECONFIG
: o caminho do arquivo kubeconfig do cluster de administrador.USER_CLUSTER_CONFIG
: o caminho do arquivo de configuração do cluster de usuário.