Para poder implementar una máquina virtual independiente en vSphere with Tanzu, un ingeniero de desarrollo y operaciones debe tener acceso a recursos específicos de la máquina virtual. Como ingeniero de desarrollo y operaciones, compruebe que puede acceder a estos recursos y ver las clases y las plantillas de máquina virtual disponibles en su entorno. También puede enumerar las clases de almacenamiento y otros elementos que podría necesitar para realizar el autoservicio de una máquina virtual.

Esta tarea abarca los comandos que se utilizan para acceder a los recursos disponibles para la implementación de una máquina virtual independiente. Para obtener información sobre los recursos necesarios para implementar clústeres de Tanzu Kubernetes y las máquinas virtuales que conforman los clústeres, consulte Clases de máquina virtual para clústeres de Tanzu Kubernetes.

Requisitos previos

Un administrador de vSphere ha realizado estos pasos:

Procedimiento

  1. Acceda al espacio de nombres en el entorno de Kubernetes.
  2. Para ver las clases de máquina virtual disponibles en el espacio de nombres, ejecute el siguiente comando.
    kubectl get virtualmachineclassbindings
    Es posible que se muestre el siguiente resultado.
    Nota: Debido a que el tipo de clase de máquina virtual de mejor esfuerzo permite que los recursos se sobreasignen, puede quedarse sin recursos si ha establecido límites en el espacio de nombres en el que está aprovisionando las máquinas virtuales. Por este motivo, utilice el tipo de clase de máquina virtual garantizada en el entorno de producción.
    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 ver los detalles de una clase de máquina virtual específica, ejecute los siguientes comandos.
    • kubectl describe virtualmachineclasses name_vm_class

      Si una clase de máquina virtual incluye un dispositivo vGPU, puede ver su perfil en spec: hardware: devices: vgpuDevices.

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

      Si la clase de máquina virtual incluye una vGPU o un directo de acceso directo, el resultado lo muestra en la columna VGPUDevicesProfileNames o PassthroughDeviceIDs.

  4. Ver las imágenes de máquina virtual.
    kubectl get virtualmachineimages​
    El resultado que ve es similar al siguiente.
    NAME                                              VERSION  OSTYPE                FORMAT  IMAGESUPPORTED  AGE
    centos-stream-8-vmservice-v1alpha1-xxxxxxxxxxxxx           centos8_64Guest       ovf     true            4d3h
  5. Para describir una imagen específica, utilice el siguiente comando.
    kubectl describe virtualmachineimage/centos-stream-8-vmservice-v1alpha1-xxxxxxxxxxxxx

    Las máquinas virtuales con dispositivos de vGPU requieren imágenes que tengan el modo de arranque establecido en EFI, como CentOS. Asegúrese de tener acceso a estas imágenes. Si desea información sobre imágenes compatibles, busque la imagen del servicio de máquina virtual en el sitio web VMware Cloud Marketplace.

  6. Compruebe si puede acceder a las clases de almacenamiento.
    kubectl get resourcequotas
    NAME                        AGE   REQUEST                                                                                         LIMIT
    my-ns-ubuntu-storagequota   24h   wcpglobal-storage-profile.storageclass.storage.k8s.io/requests.storage: 0/9223372036854775807
  7. Si utiliza vSphere Distributed Switch para las redes de carga de trabajo, obtenga el nombre de la red.
    Nota: Utilice esta información para especificar el parámetro networkName en el archivo YAML de la máquina virtual cuando networkType sea vsphere-distributed. No es necesario obtener ni especificar el nombre de red si utiliza VMware NSX-T.
    kubectl get network
    NAME      AGE
    primary   7d2h

Qué hacer a continuación

Ahora puede implementar máquinas virtuales. Consulte Implementar una máquina virtual en vSphere with Tanzu.