Este documento apresenta uma visão geral da capacidade de recuperação de máquina virtual (VMs) e das verificações opcionais que os operadores de aplicativos podem ativar para ter insights mais detalhados em uma VM isolada por air gap no Google Distributed Cloud (GDC).
Este documento é destinado a desenvolvedores do grupo de operadores de aplicativos que operam VMs. Para mais informações, consulte Públicos-alvo da documentação isolada do GDC.
As VMs no GDC oferecem alta disponibilidade para melhorar a continuidade do serviço em caso de falhas na infraestrutura ou no convidado. Também é possível configurar o sistema para emitir indicadores de integridade opcionais que oferecem insights mais detalhados sobre o status da VM.
Verificações de disponibilidade de VM
O sistema oferece as seguintes verificações de disponibilidade de VM:
| Nome no cheque | Descrição | Suporte a ações de mitigação | Disponibilidade de indicadores |
|---|---|---|---|
| Verificação de integridade do visitante | Verifica a integridade do SO convidado. Um pré-requisito para outras verificações no dispositivo. | Sim | Verificação de hóspedes |
| Verificação de armazenamento | Verifica a integridade do armazenamento subjacente da VM. | Sim | Verificação de hóspedes |
| Verificação de saída | Verifica a conectividade com um endpoint interno conhecido. | Não | Dentro e fora do quarto |
| Verificação de entrada | Verifica a acessibilidade da VM usando o ingresso configurado (VirtualMachineExternalAccess). | Não | Verificação de hóspedes |
As ações de mitigação podem reiniciar a VM e reprogramar para outro nó em falhas frequentes.
Solicitar permissões e acesso
Para executar as tarefas listadas nesta página, você precisa ter o papel de administrador de máquina virtual do projeto. Siga as etapas para
verificar
se você tem o papel de administrador de máquina virtual do projeto (project-vm-admin) no namespace
do projeto em que a VM reside.
Ativar verificações no quarto
Por padrão, a verificação no convidado é desativada se o guestHealthCheck não estiver presente.
Para ativar ou desativar a verificação no convidado de uma VM, atualize o
GuestEnvironment na especificação da VM. Essa configuração coleta métricas
de dentro da VM, desde que o agente convidado esteja instalado. Se o
guestHealthCheck não estiver presente, as verificações no convidado serão desativadas por padrão.
- Abra o arquivo de configuração da VM.
- Navegue até a seção
spec:. - Adicione ou modifique os campos
guestEnvironment:eguestHealthCheck:para ativar a verificação. - Defina o campo
enablecomo verdadeiro.
Confira um exemplo da configuração em um arquivo YAML:
spec:
compute:
virtualMachineType: n2-standard-2-gdc
guestEnvironment:
guestHealthCheck:
enable: true
Verificar as verificações
Depois de configurar a VM, é possível verificar o status das verificações de disponibilidade
inspecionando o Condition da máquina virtual no Status dela.
kubectl --kubeconfig MANAGEMENT_API_SERVER \
-n NAMESPACE_NAME \
get gvm -o yaml
A saída mostra o status das várias verificações. Por exemplo, se o
guestHealthCheck estiver ativado, as condições de status gvm serão preenchidas com o
sinal VMGuestHealth.
Desativar a alta disponibilidade da VM
Por padrão, a alta disponibilidade de VM é ativada se a anotação não estiver presente. É possível desativar explicitamente a alta disponibilidade para uma VM específica adicionando uma anotação. Adicione a anotação para desativar a alta disponibilidade da VM:
- Abra o arquivo de configuração da VM.
- Adicione a anotação
highavailability.virtualmachine.gdc.goog/enable: falseaos metadados da VM para desativar a alta disponibilidade.
Confira um exemplo da anotação em um arquivo YAML:
metadata:
annotations:
highavailability.virtualmachine.gdc.goog/enable: false
Mitigação de falhas de nós
As ações de mitigação automatizadas resolvem falhas de VM e mantêm a alta disponibilidade. Quando a infraestrutura subjacente não consegue mais oferecer suporte a uma VM em execução, o sistema tenta isolar o nó não íntegro e reprogramar a VM para um nó íntegro. Os seguintes cenários podem acionar essa mitigação no nível do nó:
Partição de nó do servidor da API: o nó bare metal que hospeda a VM é particionado do servidor da API Management devido a uma condição como esta:
- Perda de conectividade de rede entre o nserver da API e o nó.
- O agente
kubeletno nó está inativo. - O nó observa uma falha de energia.
Partição de VM do cluster de usuário: uma VM de worker do cluster de usuário é particionada do servidor da API Management do cluster.