Neste documento, mostramos como ativar ou desativar o Anthos VM Runtime
atualizando o recurso personalizado VMRuntime
ou executando comandos bmctl
.
Antes de começar
Para ativar ou desativar o Anthos VM Runtime, você precisa acessar os seguintes recursos e ferramentas:
- Acesso a clusters do Anthos na versão bare metal 1.12.0 (
anthosBareMetalVersion: 1.12.0
) ou superior. Use qualquer tipo de cluster capaz de executar cargas de trabalho. Se necessário, tente clusters do Anthos em bare metal no Compute Engine ou consulte a visão geral de criação de clusters. - Ferramenta de linha de comando
bmctl
Para ver mais informações, consulte Fazer o download e instalar a ferramentabmctl
.
Ativar o ambiente de execução da VM do Anthos
O Anthos VM Runtime é instalado automaticamente em clusters do Anthos na versão bare metal 1.10 ou mais recente, mas é desativado por padrão. Antes de executar recursos da VM nos clusters do Anthos em bare metal, ative o ambiente de execução da VM do Anthos.
bmctl
Para ativar o ambiente de execução, use a ferramenta
bmctl
:bmctl enable vmruntime --kubeconfig KUBECONFIG_PATH
Forneça o caminho para o arquivo kubeconfig do cluster. Os clusters do Anthos em bare metal geram o arquivo kubeconfig na estação de trabalho de administrador quando você cria um cluster. Por padrão, o caminho é
bmctl-workspace/CLUSTER_NAME/CLUSTER_NAME-kubeconfig
.Se o Anthos VM Runtime já estiver ativado, o comando retornará um erro.
Configurações adicionais, como emulação ou formato de imagem, podem ser definidas
editando o recurso personalizado VMRuntime
.
Recurso personalizado
Para ativar o ambiente de execução, atualize o recurso personalizado VMRuntime
. Esse recurso
personalizado é instalado por padrão.
Edite o recurso personalizado
VMRuntime
:kubectl edit vmruntime
Defina
enabled:true
na especificação:apiVersion: vm.cluster.gke.io/v1 kind: VMRuntime metadata: name: vmruntime spec: enabled: true # useEmulation defaults to "false" if not set. useEmulation: true # vmImageFormat defaults to "qcow2" if not set. vmImageFormat: qcow2
Na seção
spec
anterior, os seguintes valores podem ser definidos:enabled
: definido como verdadeiro para ativar o Anthos VM RuntimeuseEmulation
: se o nó não for compatível com a virtualização por hardware ou você não tiver certeza, defina o valor como "true". Se disponível, a virtualização de hardware oferece um desempenho melhor do que a emulação de software. O campouseEmulation
teráfalse
como padrão se não for especificado.vmImageFormat
: compatível com dois valores de formato de imagem de disco:raw
eqcow2
. Se você não definirvmImageFormat
, o ambiente de execução da VM do Anthos usará o formato de imagem de discoraw
para criar VMs. O formatoraw
pode melhorar o desempenho em relação aoqcow2
, uma cópia no formato de gravação, mas pode usar mais disco. Para mais informações sobre os formatos de imagem da VM, consulte Formatos de arquivo de imagem de disco na documentação do QEMU.
Salve o recurso personalizado no seu editor.
Verifique se o recurso personalizado
VMRuntime
está ativado:kubectl describe vmruntime vmruntime
Os detalhes do recurso personalizado
VMRuntime
incluem uma seçãoStatus
. O ambiente de execução da VM do Anthos está ativado e funcionando quandoVMRuntime.Status.Ready
é exibido comotrue
.
Desativar ambiente de execução de VM do Anthos
Quando não precisar mais usar o Anthos VM Runtime, desative esse recurso.
bmctl
Para desativar o ambiente de execução, use a ferramenta
bmctl
:bmctl disable vmruntime --kubeconfig KUBECONFIG_PATH \ --force=true
Forneça o caminho para o arquivo kubeconfig do cluster e os valores das seguintes opções de configuração:
--force
: defina comotrue
para confirmar que você quer excluir os recursos de VM atuais. O valor padrão éfalse
.
Recurso personalizado
Para desativar o ambiente de execução, atualize o recurso personalizado VMRuntime
:
Edite o recurso personalizado
VMRuntime
:kubectl edit vmruntime
Defina
enabled:false
na especificação:apiVersion: vm.cluster.gke.io/v1` kind: VMRuntime metadata: name: vmruntime spec: enabled: false useEmulation: true vmImageFormat: qcow2
Salve a especificação atualizada de recursos personalizados no editor.
Para verificar se o recurso personalizado
VMRuntime
está desativado, veja os pods executados no namespacevm-system
:kubectl get pods --namespace vm-system
O ambiente de execução da VM do Anthos é desativado quando apenas os pods que pertencem à implantação de
vmruntime-controller-manager
estão em execução no namespace.
Entenda o comportamento para executar VMs
A anotação baremetal.cluster.gke.io/vmrumtime-force-disable
pode ser usada no
recurso do ambiente de execução da VM do Anthos para definir o comportamento quando o ambiente de execução é
desativado enquanto as VMs estão em execução no cluster.
O exemplo a seguir mostra que o valor dessa anotação é definido como false
por padrão:
// VM runtime yaml file
apiVersion: vm.cluster.gke.io/v1
kind: VMRuntime
metadata:
annotations:
baremetal.cluster.gke.io/vmrumtime-force-disable: "false"
name: vmruntime
[...]
Quando essa anotação é definida como false
, o ambiente de execução da VM do Anthos tenta
proteger as VMs em execução. Exclua todas as VMs em execução antes que o
ambiente de execução da VM do Anthos seja desativado ou especifique o parâmetro --force=true
com o comando bmctl disable vmruntime
, conforme mostrado na seção
anterior.
A tabela a seguir explica o que acontece com as VMs em execução quando essa anotação
está definida como true
ou false
e se você especifica o parâmetro --force=true
ou
não:
Estado do cluster | --force parameter | vmrumtime-force-disable annotation | Comportamento |
---|---|---|---|
Nenhuma VM | N/A | N/A | Desativar ambiente de execução de VM do Anthos. |
VMs atuais | Verdadeiro | Verdadeiro | Exclua todas as VMs em execução e os recursos relacionados. Desative o Anthos VM Runtime. |
Verdadeiro | Falso | Exclua todas as VMs em execução e os recursos relacionados. Desative o Anthos VM Runtime. | |
Falso | Verdadeiro | Solicitação para excluir VMs em execução e recursos relacionados. Quando todas as VMs em execução forem excluídas, desative o Anthos VM Runtime. | |
Falso | Falso | Não exclua nenhuma VM atual que esteja em execução. Não desative o
Anthos Runtime do Anthos. O comando bmctl retorna um
erro. |