Este documento é destinado a administradores de plataformas que executam máquinas virtuais (VMs) no Google Distributed Cloud. Neste documento, mostramos como configurar a política de remoção que controla como as VMs que usam o ambiente de execução da VM no GDC podem migrar automaticamente para outros hosts durante eventos de manutenção. Essas configurações permitem que as VMs continuem em execução em outros hosts quando você fizer upgrade de um cluster ou executar a manutenção em um host.
Antes de começar
Para concluir este documento, você precisa de acesso ao cluster do Google Distributed Cloud versão 1.12.0
(anthosBareMetalVersion: 1.12.0
) ou superior. Use qualquer tipo de cluster capaz de executar cargas de trabalho. Se necessário, teste o Google Distributed Cloud no Compute Engine
ou consulte a
visão geral de criação de clusters.
Configurações da política de remoção
O Google Distributed Cloud permite configurar o comportamento do nó quando você executa upgrades de cluster ou coloca os nós no modo de manutenção. O ambiente de execução da VM no GDC usa uma política de remoção que controla como o cluster processa as VMs executadas durante esses eventos.
Quando ativado, o ambiente de execução de VM no GDC usa a migração em tempo real para mover cargas de trabalho de VM para outro host por padrão. Esse comportamento minimiza a possível interrupção nas cargas de trabalho da VM. Com a migração em tempo real, as VMs que podem ser migradas mudam de um host para outro sem interromper o SO convidado.
As seguintes configurações da política de remoção podem ser definidas:
Propriedade | Padrão | Valores válidos |
---|---|---|
evictionStrategy |
LiveMigrate |
LiveMigrate , Restart |
maxMigrationAttemptsPerVM |
3 |
Números inteiros no intervalo [1 ,5 ] |
migrationTargetInitializationTimeout |
30s |
Qualquer string de duração válida, como 1m , 2h ou 1h30m |
evictionStrategy
Se esse valor for definido como LiveMigrate
, o ambiente de execução da VM no GDC tentará
migrar qualquer VM que possa ser migrada de um nó para removê-la. A VM é colocada em
outro nó no cluster e continua em execução.
Se esse valor for definido como Restart
, o ambiente de execução da VM no GDC não tentará
migrar as VMs. Em vez disso, as VMs são interrompidas quando o nó é colocado no modo de manutenção e são iniciadas novamente quando o nó é retirado do modo de manutenção.
A VM fica indisponível durante o evento de manutenção do host.
Quando você escolhe a estratégia LiveMigrate
, o ambiente de execução da VM no GDC
recorre à estratégia Restart
para VMs não migráveis.
maxMigrationAttemptsPerVM
Essa configuração controla o número máximo de tentativas de migração que podem ocorrer em uma determinada VM antes que a estratégia Restart
seja aplicada.
Esta configuração será ignorada se evictionStrategy
for definido como Restart
.
migrationTargetInitializationTimeout
Essa configuração controla a quantidade máxima de tempo que uma migração pode levar para iniciar antes de ser considerada falha. Uma migração que demora muito para ser iniciada é contabilizada no orçamento de migração com falha para uma carga de trabalho da VM.
Esta configuração será ignorada se evictionStrategy
for definido como Restart
.
Ativar e configurar a política de remoção
Para usar a política de remoção no ambiente de execução da VM no GDC, a
configuração evictionPolicy
precisa ser definida no objeto VMRuntime
do cluster.
Essa configuração é ativada por padrão. Se você fizer upgrade de uma versão anterior, ative essa configuração manualmente.
Um objeto vazio, como evictionPolicy: {}
, ativa a política de remoção com
configurações padrão. Para alterar o comportamento padrão, adicione outras opções de configuração ao objeto evictionPolicy
.
Para ativar e configurar a política de remoção, siga estas etapas:
Edite o recurso personalizado
VMRuntime
:kubectl edit vmruntime vmruntime
Adicione ou atualize a seção
evictionPolicy
com um objeto vazio para usar as configurações padrão da política de remoção ou adicione as configurações desejadas:apiVersion: vm.cluster.gke.io/v1 kind: VMRuntime metadata: name: vmruntime spec: disableCDIUploadProxyVIP: false enabled: true evictionPolicy: {} useEmulation: false
Se o
evictionPolicy
não for preenchido, comoevictionPolicy: null
ou não estiver incluído no manifesto, nenhuma ação especial será realizada. As VMs são despejadas à força.Os manifestos de exemplo a seguir mostram como ativar a migração em tempo real de VMs ou reiniciar as VMs no mesmo host após a conclusão da manutenção:
Migração em tempo real
A política de remoção de exemplo a seguir permite a migração em tempo real de VMs. O cluster pode tentar novamente a migração em tempo real até três vezes, com um tempo limite de 30 segundos no processo sempre que for iniciado:
apiVersion: vm.cluster.gke.io/v1 kind: VMRuntime metadata: name: vmruntime spec: disableCDIUploadProxyVIP: false enabled: true evictionPolicy: evictionStrategy: LiveMigrate maxMigrationAttemptsPerVM: 3 migrationTargetInitializationTimeout: 30s useEmulation: false
Reiniciar
A política de remoção de exemplo a seguir não tenta migrar nenhuma VM durante a remoção. As VMs são interrompidas no host atual e começam novamente quando o host conclui o evento de manutenção:
apiVersion: vm.cluster.gke.io/v1 kind: VMRuntime metadata: name: vmruntime spec: disableCDIUploadProxyVIP: false enabled: true evictionPolicy: evictionStrategy: Restart useEmulation: false
Salve e feche o recurso personalizado
VMRuntime
no editor.O ambiente de execução de VMs no GDC agora aplica a política de remoção às VMs no cluster.