Este início rápido mostra como usar o tempo de execução de VMs no GDC para criar uma máquina virtual (VM) no Google Distributed Cloud. O tempo de execução de VMs no GDC usa o KubeVirt para orquestrar VMs em clusters e permite-lhe trabalhar com as suas apps e cargas de trabalho baseadas em VMs num ambiente de desenvolvimento uniforme.
Antes de começar
Para concluir este início rápido, precisa de acesso à versão 1.12 (anthosBareMetalVersion: 1.12) ou superior do cluster do Google Distributed Cloud. Pode usar qualquer tipo de cluster capaz de executar cargas de trabalho. Se necessário,
experimente o Google Distributed Cloud no Compute Engine
ou consulte a
vista geral da criação de clusters.
Ative o tempo de execução de VMs no GDC
O tempo de execução da VM no GDC é instalado automaticamente no Google Distributed Cloud versão 1.10 ou superior, mas está desativado por predefinição. Antes de poder executar recursos de VMs no Google Distributed Cloud, tem de ativar o VM Runtime no GDC.
bmctl
O Google Distributed Cloud versão 1.11 ou superior pode usar a ferramenta de linha de comandos bmctl:
Para ativar o tempo de execução, use a ferramenta
bmctl:bmctl enable vmruntime --kubeconfig KUBECONFIG_PATHIndique o caminho para o ficheiro kubeconfig do seu cluster. O Google Distributed Cloud gera o ficheiro kubeconfig na estação de trabalho do administrador quando cria um cluster. Por predefinição, o caminho é
bmctl-workspace/CLUSTER_NAME/CLUSTER_NAME-kubeconfig.Se o tempo de execução da VM no GDC já estiver ativado, o comando devolve um erro.
Recurso personalizado
A versão 1.10 ou superior do Google Distributed Cloud pode usar uma definição de recurso personalizada para ativar o tempo de execução de VMs no GDC. Este recurso personalizado é instalado por predefinição.
Edite o recurso personalizado
VMRuntime:kubectl edit vmruntimeDefina
enabled:truena 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: qcow2Na secção
specanterior, podem ser definidos os seguintes valores:enabled: definido como verdadeiro para ativar o tempo de execução da VM no GDCuseEmulation: se o seu nó não suportar a virtualização de hardware ou não tiver a certeza, defina o valor como verdadeiro. Se estiver disponível, a virtualização de hardware oferece um melhor desempenho do que a emulação de software. O campouseEmulationtem como predefinição o valorfalse, se não for especificado.vmImageFormat: suporta dois valores de formato de imagem de disco:raweqcow2. Se não definirvmImageFormat, o tempo de execução da VM no GDC usa o formato de imagem de discorawpara criar VMs. O formatorawpode oferecer um desempenho melhorado em relação ao formatoqcow2, um formato de cópia na gravação, mas pode usar mais espaço em disco. Para mais informações sobre os formatos de imagem da sua VM, consulte Formatos de ficheiros de imagem de disco na documentação do QEMU.
Guarde o recurso personalizado no editor.
Verifique se o recurso personalizado
VMRuntimeestá ativado:kubectl describe vmruntime vmruntimeOs detalhes do recurso personalizado
VMRuntimeincluem uma secçãoStatus. O tempo de execução da VM no GDC está ativado e a funcionar quandoVMRuntime.Status.Readyé apresentado comotrue.
Instale a ferramenta cliente virtctl
Para criar e gerir VMs, instale a ferramenta de cliente virtctl.
Instale a ferramenta de cliente
virtctlcomo um pluginkubectl:export GOOGLE_APPLICATION_CREDENTIALS="PATH_TO_SERVICE_ACCOUNT_KEY/bm-gcr.json" sudo -E bmctl install virtctlAs credenciais permitem-lhe autenticar e transferir a ferramenta cliente
virtctle, em seguida, instalá-la em/usr/bin/kubectl-virtna sua máquina local.Confirme se o plugin
virtctlestá instalado:kubectl plugin listSe
kubectl-virtestiver listado na resposta, o plugin foi instalado com êxito.Se
kubectl-virtnão estiver listado, verifique o ficheiroinstall-virtctl.log, conforme indicado na saída do comandobmctl installanterior, comobmctl-workspace/log/install-virtctl-[date]/install-virtctl.log.
Crie uma VM
Neste início rápido, vai usar a CLI kubectl para criar uma VM que usa uma imagem de VM pública e credenciais predefinidas.
Crie uma VM no seu cluster. O plug-in
virtctlé usado com o comandokubectl:kubectl virt create vm VM_NAME \ --image ubuntu20.04 \ --configure-initial-password USERNAME:PASSWORDEste comando cria uma VM do Ubuntu 20.04 e predefinições de 2 CPUs, 4 Gi de memória e um disco de arranque de 20 Gi no modo ReadWriteOnce com a classe de armazenamento local-shared. Substitua os seguintes valores:
VM_NAME: nome da VM. Os nomes das VMs têm de conter apenas carateres alfanuméricos em minúsculas ou "-", começar e terminar com um caráter alfanumérico e conter, no máximo, 63 carateres. Para mais informações, consulte RFC 1123 Label Names na documentação do Kubernetes.USERNAME: nome de utilizador da conta a criar na VM.PASSWORD: palavra-passe da conta de utilizador.
Se receber um erro sobre parâmetros da CLI, verifique se o cluster está na versão
1.11.1ou superior e se tem a versão mais recente da ferramenta clientevirtctl. Para mais informações sobre os erros da CLI, consulte o registo da consola. Para ver as regras de nome de utilizador e palavra-passe, consulte a documentação do sistema operativo (SO) convidado. Se algo não estiver a funcionar como esperado, verifique os problemas conhecidos do tempo de execução da VM no GDC.A criação da VM pode demorar alguns minutos. Verifique o estado da VM com o comando
kubectl:kubectl get gvmO exemplo de saída seguinte mostra a VM num estado
Running:NAME STATUS AGE IP vm-sample1 Running 64s 192.168.2.124
Estabeleça ligação à sua VM
Quando a VM estiver em execução, ligue-se à consola da VM.
Para aceder a uma VM a partir da consola, use
kubectl:kubectl virt console VM_NAMEQuando lhe for pedido, introduza as credenciais do utilizador que especificou para criar a VM.
Depois de se ligar com êxito à consola da VM, saia da sessão e da consola da VM:
Ctrl + ]
Limpar
Para limpar os recursos criados neste início rápido, siga estes passos.
Para eliminar a VM e o DataVolume associado, use o seguinte comando:
kubectlkubectl virt delete vm VM_NAME --all
O que se segue?
- Faça a gestão do estado de energia de uma VM no Google Distributed Cloud.
- Edite uma VM no Google Distributed Cloud.
- Veja os registos da consola da VM no Google Distributed Cloud.