Em uma implementação do GKE on VMware, a VM do plano de controle de um cluster de administrador tem dois discos anexados:
O disco de inicialização tem o sistema operacional da VM.
O disco de dados tem credenciais e o banco de dados etcd, que armazena o estado do cluster de administrador. Ou seja, o disco de dados armazena todos os objetos do Kubernetes para o cluster de administrador.
Esta página mostra como recuperar quando a VM do plano de controle é perdida ou o disco de inicialização é comprometido. Exemplo:
- O disco de inicialização se torna somente leitura devido a registros de spam.
- O sistema de arquivos de sobreposição do Docker fica corrompido.
Esta página,não aborda a recuperação do disco de dados. Para instruções sobre como recuperar o disco de dados, consulte Como restaurar um cluster de administrador.
Como reparar a VM do plano de controle
As etapas necessárias para reparar a VM do plano de controle do cluster de administrador variam um pouco se o cluster de administrador for de alta disponibilidade (HA, na sigla em inglês).
Sem alta disponibilidade
Execute este comando:
gkectl repair admin-master --config ADMIN_CLUSTER_CONFIG --kubeconfig ADMIN_CLUSTER_KUBECONFIG
Substitua:
ADMIN_CLUSTER_CONFIG pelo caminho do arquivo de configuração do cluster de administrador.
ADMIN_CLUSTER_KUBECONFIG é o caminho do arquivo kubeconfig do cluster de administrador;
HA
Um cluster de administrador de alta disponibilidade tem três VMs de plano de controle. É preciso ter pelo menos duas VMs para que o plano de controle do cluster seja mostrado. Se três VMs falharem, repare uma de cada vez. Depois que a segunda VM for reparada e em execução, o plano de controle do cluster vai voltar a funcionar.
Execute este comando:
gkectl repair admin-master --config ADMIN_CLUSTER_CONFIG --kubeconfig ADMIN_CLUSTER_KUBECONFIG
Substitua:
ADMIN_CLUSTER_CONFIG pelo caminho do arquivo de configuração do cluster de administrador.
ADMIN_CLUSTER_KUBECONFIG é o caminho do arquivo kubeconfig do cluster de administrador;
A saída deste comando é semelhante a:
Please select the control plane VM template to be used for re-creating the admin cluster's control plane VM. [1] VM template: /atl-qual-vc07/vm/gke-admin-57f8g-fx9f4c729448z2v8-2-tmpl GKE on-prem version: 1.16.0-gke.550 Creation time: 2023-07-25 01:52:51.815518 +0000 UTC CPU: 4 CPU(s) Memory: 16384 MB Data disk: [vsanDatastore] 37a73d64-b823-47cd-2e0c-00620b9189a0/gke-admin-57f8g/default/gke-admin-57f8g-2-data.vmdk [2] VM template: /atl-qual-vc07/vm/gke-admin-57f8g-fx9f4c729448z2v8-0-tmpl GKE on-prem version: 1.16.0-gke.550 Creation time: 2023-07-25 01:52:54.228252 +0000 UTC CPU: 4 CPU(s) Memory: 16384 MB Data disk: [vsanDatastore] 37a73d64-b823-47cd-2e0c-00620b9189a0/gke-admin-57f8g/default/gke-admin-57f8g-0-data.vmdk [3] VM template: /atl-qual-vc07/vm/gke-admin-57f8g-fx9f4c729448z2v8-1-tmpl GKE on-prem version: 1.16.0-gke.550 Creation time: 2023-07-25 01:52:54.210705 +0000 UTC CPU: 4 CPU(s) Memory: 16384 MB Data disk: [vsanDatastore] 37a73d64-b823-47cd-2e0c-00620b9189a0/gke-admin-57f8g/default/gke-admin-57f8g-1-data.vmdk Please enter your numeric choice:
Digite o número da VM que você quer reparar. Se a VM não for mostrada na saída, entre em contato com o suporte do Google Cloud.
Se você tiver três VMs que precisam ser reparadas,
gkectl repair admin-master
vai gerar uma mensagem de erro semelhante à seguinte após reparar a primeira VM:If you are repairing admin control plane VM for HA admin cluster, it's possible that the API server is still down after repairing one of the VMs. Try continue fixing other control plane VMs listed to recover the quorum of control plane.
Nesse caso, execute de novo o comando para reparar a segunda VM.
Observações
A VM do plano de controle do cluster de administrador é clonada em um modelo de VM, que tem todas as informações necessárias para recriar a VM. O comando gkectl repair admin-master
usa o modelo de VM para criar uma nova VM. Depois, ele anexa um novo disco de inicialização e o disco de dados atual.
Se os nós do cluster receberem os endereços de um servidor DHCP, a nova VM poderá ter um endereço IP diferente da VM original.