Neste guia de início rápido, mostramos como usar o Anthos VM Runtime para criar uma máquina virtual (VM) nos clusters do Anthos em bare metal. O ambiente de execução da VM do Anthos usa o KubeVirt para orquestrar VMs em clusters e permite que você trabalhe com seus apps e cargas de trabalho baseados em VM em um ambiente de desenvolvimento uniforme.
Antes de começar
Para concluir este guia de início rápido, você precisa acessar os clusters do Anthos na versão bare metal
1.12 (anthosBareMetalVersion: 1.12
) ou superior. Você pode usar 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.
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
Os clusters do Anthos em bare metal versão 1.11 ou mais recente podem usar a ferramenta de linha de comando 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.
Recurso personalizado
Os clusters do Anthos em bare metal versão 1.10 ou mais recente podem usar uma definição de recurso personalizada para ativar o Anthos VM Runtime. 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
.
Instalar a ferramenta de cliente virtctl
Para criar e gerenciar VMs, instale a ferramenta cliente virtctl.
Instalar a ferramenta do cliente
virtctl
como um plug-inkubectl
export GOOGLE_APPLICATION_CREDENTIALS="PATH_TO_SERVICE_ACCOUNT_KEY/bm-gcr.json" sudo -E bmctl install virtctl
As credenciais permitem autenticar e fazer o download da ferramenta de cliente
virtctl
e, em seguida, instalar em/usr/bin/kubectl-virt
na máquina local.Verifique se o plug-in
virtctl
está instalado:kubectl plugin list
Se
kubectl-virt
estiver listado na resposta, o plug-in será instalado.Se
kubectl-virt
não estiver listado, verifique o arquivoinstall-virtctl.log
, conforme indicado na saída do comandobmctl install
anterior, comobmctl-workspace/log/install-virtctl-[date]/install-virtctl.log
.
Crie uma VM
Neste guia de início rápido, você cria uma VM que usa uma imagem de VM pública e credenciais padrão.
Crie uma VM no cluster. O plug-in
virtctl
é usado com o comandokubectl
:kubectl virt create vm VM_NAME \ --image ubuntu20.04 \ --configure-initial-password USERNAME:PASSWORD
Esse comando cria uma VM Ubuntu 20.04 e padroniza a CPU 2, a memória 4Gi e uma 20Gi disco de inicialização no modo ReadWriteOnce usando a classe de armazenamento local-shared. Substitua os seguintes valores:
VM_NAME
: o nome da sua VM. Os nomes de VMs precisam conter apenas caracteres alfanuméricos minúsculos ou "-", começar e terminar com um caractere alfanumérico e ter no máximo 63 caracteres. Para mais informações, confira Nomes de rótulos RFC 1123 na documentação do Kubernetes.USERNAME
: o nome de usuário da conta a ser criada na VM.PASSWORD
: senha da conta de usuário.
Se você receber um erro sobre os parâmetros da CLI, verifique se o cluster está na versão
1.11.1
ou superior e se você tem a versão mais recente da ferramenta de clientevirtctl
. Para mais informações sobre erros da CLI, consulte o registro do console. Para ver as regras de nome de usuário e senha, consulte a documentação do sistema operacional convidado (SO). Se algo não estiver funcionando como esperado, verifique se há problemas conhecidos do Anthos VM Runtime.Pode levar alguns minutos para criar a instância. Verifique o status da VM com o comando
kubectl
:kubectl get gvm
O exemplo de saída a seguir mostra a VM em um estado
Running
NAME STATUS AGE IP vm-sample1 Running 64s 192.168.2.124
Conectar-se à VM.
Quando sua VM estiver em execução, conecte-se ao console dela.
Para acessar uma VM no console, execute
kubectl
:kubectl virt console VM_NAME
Quando solicitado, digite as credenciais de usuário que você especificou para criar a VM.
Depois de se conectar ao console da VM, saia da sessão e do console da VM:
Ctrl + ]
Limpar
Para limpar os recursos criados neste guia de início rápido, siga estas etapas.
Para excluir a VM e o DataVolume associado, use
kubectl
:kubectl virt delete vm VM_NAME --all
A seguir
- Gerencie o estado de energia de uma VM em clusters do Anthos em bare metal.
- Edite uma VM em clusters do Anthos em Bare Metal.
- Veja os registros do console da VM em clusters do Anthos em bare metal.