Para poder implantar uma VM autônoma no vSphere with Tanzu, um engenheiro de DevOps deve ter acesso a recursos de VM específicos. Como engenheiro de DevOps, verifique se você pode acessar esses recursos e visualizar classes de VM e modelos de VM disponíveis no seu ambiente. Você também pode listar classes de armazenamento e outros itens necessários para o autoatendimento de uma VM.

Essa tarefa abrange os comandos que você usa para acessar os recursos disponíveis para uma implantação de uma VM autônoma. Para obter informações sobre os recursos necessários para implantar Tanzu Kubernetes clusters e VMs que compõem os clusters, consulte Classes de máquina virtual para Tanzu Kubernetes clusters.

Pré-requisitos

Um administrador do vSphere realizou estas etapas:

Procedimento

  1. Acesse seu namespace no ambiente do Kubernetes.
  2. Para exibir as classes de VM disponíveis no seu namespace, execute o seguinte comando.
    kubectl get virtualmachineclassbindings
    Você pode ver a seguinte saída:
    NAME                       VIRTUALMACHINECLASS        AGE
    
    best-effort-large          best-effort-large          44m
    best-effort-medium         best-effort-medium         44m
    best-effort-small          best-effort-small          44m
    best-effort-xsmall         best-effort-xsmall         44m
    custom                     custom                     44m
  3. Para exibir os detalhes de uma classe de VM específica, execute os seguintes comandos.
    • kubectl describe virtualmachineclasses name_vm_class

      Se uma classe de VM incluir um dispositivo vGPU, você poderá ver seu perfil em spec: hardware: devices: vgpuDevices.

      ......
      spec:
        hardware:
          cpus: 4
          devices:
            vgpuDevices:
            - profileName: grid_v100-q4
      ......
      
    • kubectl get virtualmachineclasses -o wide

      Se a classe de VM incluir uma vGPU ou um dispositivo de passagem, a saída mostrará isso na coluna VGPUDevicesProfileNames ou PassthroughDeviceIDs.

  4. Visualize as imagens da VM.
    kubectl get virtualmachineimages​
    A saída que você vê é semelhante à seguinte.
    NAME                                              VERSION  OSTYPE                FORMAT  IMAGESUPPORTED  AGE
    centos-stream-8-vmservice-v1alpha1-xxxxxxxxxxxxx           centos8_64Guest       ovf     true            4d3h
  5. Para descrever uma imagem específica, use o seguinte comando.
    kubectl describe virtualmachineimage/centos-stream-8-vmservice-v1alpha1-xxxxxxxxxxxxx

    VMs com dispositivos vGPU exigem imagens que tenham o modo de inicialização definido como EFI, como CentOS. Certifique-se de ter acesso a essas imagens. Para obter informações sobre imagens compatíveis, procure por VM Service image no site VMware Cloud Marketplace .

  6. Verifique se você pode acessar classes de armazenamento.
    kubectl get resourcequotas
    NAME                        AGE   REQUEST                                                                                         LIMIT
    my-ns-ubuntu-storagequota   24h   wcpglobal-storage-profile.storageclass.storage.k8s.io/requests.storage: 0/9223372036854775807
  7. Se você estiver usando o vSphere Distributed Switch para a rede de carga de trabalho, obtenha o nome da rede.
    Observação: Use essas informações para especificar o parâmetro networkName no arquivo YAML da VM quando o networkType for vsphere-Distributed . Você não precisa obter e especificar o nome da rede se usar VMware NSX-T.
    kubectl get network
    NAME      AGE
    primary   7d2h

O que Fazer Depois

Agora você pode implantar VMs. Consulte o Implantar uma máquina virtual no vSphere with Tanzu.