Este documento é destinado a administradores de plataformas que executam máquinas virtuais (VMs) no GKE em Bare Metal. Neste documento, mostramos como configurar a política de remoção que controla como as VMs que usam o ambiente de execução de VMs no Google Distributed Cloud podem ser migradas 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, acesse os clusters do GKE em Bare Metal 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 GKE em Bare Metal no Compute Engine
ou consulte a
visão geral da criação de clusters.
Configurações da política de remoção
O GKE em Bare Metal permite configurar o comportamento do nó ao fazer upgrades de cluster ou colocar nós no modo de manutenção. O ambiente de execução de VMs no Google Distributed Cloud 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 Google Distributed Cloud usa a migração em tempo real para mover cargas de trabalho da 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 de VMs no Google Distributed Cloud vai tentar
migrar qualquer VM que pode 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 de VMs no Google Distributed Cloud não vai tentar
migrar 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 de VMs no Google Distributed Cloud
volta à 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 de VMs no Google Distributed Cloud, a configuração evictionPolicy
precisa ser definida no objeto VMRuntime
do cluster. Essa configuração é
ativada por padrão nos clusters do Anthos na versão bare metal 1.12 e mais recentes. 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 Google Distributed Cloud agora aplica a política de remoção às VMs no seu cluster.