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_PATH
Indique 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 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 secção
spec
anterior, 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 campouseEmulation
tem como predefinição o valorfalse
, se não for especificado.vmImageFormat
: suporta dois valores de formato de imagem de disco:raw
eqcow2
. Se não definirvmImageFormat
, o tempo de execução da VM no GDC usa o formato de imagem de discoraw
para criar VMs. O formatoraw
pode 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
VMRuntime
está ativado:kubectl describe vmruntime vmruntime
Os detalhes do recurso personalizado
VMRuntime
incluem 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 cliente
virtctl
como um pluginkubectl
:export GOOGLE_APPLICATION_CREDENTIALS="PATH_TO_SERVICE_ACCOUNT_KEY/bm-gcr.json" sudo -E bmctl install virtctl
As credenciais permitem-lhe autenticar e transferir a ferramenta cliente
virtctl
e, em seguida, instalá-la em/usr/bin/kubectl-virt
na sua máquina local.Confirme se o plugin
virtctl
está instalado:kubectl plugin list
Se
kubectl-virt
estiver listado na resposta, o plug-in foi instalado com êxito.Se
kubectl-virt
não estiver listado, verifique o ficheiroinstall-virtctl.log
, conforme indicado na saída do comandobmctl install
anterior, 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:PASSWORD
Este 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.1
ou 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 gvm
O 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_NAME
Quando 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:
kubectl
kubectl 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.