Início rápido: crie uma VM em clusters do Google Distributed Cloud

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.

  1. Edite o recurso personalizado VMRuntime:

    kubectl edit vmruntime
    
  2. 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 GDC
    • useEmulation: 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 campo useEmulation tem como predefinição o valor false, se não for especificado.
    • vmImageFormat: suporta dois valores de formato de imagem de disco: raw e qcow2. Se não definir vmImageFormat, o tempo de execução da VM no GDC usa o formato de imagem de disco raw para criar VMs. O formato raw pode oferecer um desempenho melhorado em relação ao formato qcow2, 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.
  3. Guarde o recurso personalizado no editor.

  4. Verifique se o recurso personalizado VMRuntime está ativado:

    kubectl describe vmruntime vmruntime
    

    Os detalhes do recurso personalizado VMRuntime incluem uma secção Status. O tempo de execução da VM no GDC está ativado e a funcionar quando VMRuntime.Status.Ready é apresentado como true.

Instale a ferramenta cliente virtctl

Para criar e gerir VMs, instale a ferramenta de cliente virtctl.

  1. Instale a ferramenta cliente virtctl como um plugin kubectl:

    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.

  2. 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 ficheiro install-virtctl.log, conforme indicado na saída do comando bmctl install anterior, como bmctl-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.

  1. Crie uma VM no seu cluster. O plug-in virtctl é usado com o comando kubectl:

    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 cliente virtctl. 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.

  2. 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.

  1. Para aceder a uma VM a partir da consola, use kubectl:

    kubectl virt console VM_NAME
    
  2. Quando lhe for pedido, introduza as credenciais do utilizador que especificou para criar a VM.

  3. 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.

  1. Para eliminar a VM e o DataVolume associado, use o seguinte comando: kubectl

    kubectl virt delete vm VM_NAME --all
    

O que se segue?