Pour pouvoir déployer une machine virtuelle autonome dans vSphere with Tanzu, un ingénieur DevOps doit avoir accès à des ressources de machine virtuelle spécifiques. En tant qu'ingénieur DevOps, vérifiez que vous pouvez accéder à ces ressources et afficher les classes de machine virtuelle et les modèles de machine virtuelle disponibles dans votre environnement. Vous pouvez également répertorier les classes de stockage et d'autres éléments dont vous pouvez avoir besoin pour utiliser une machine virtuelle en libre-service.

Cette tâche couvre les commandes que vous utilisez pour accéder aux ressources disponibles pour un déploiement d'une machine virtuelle autonome. Pour plus d'informations sur les ressources nécessaires pour déployer des clusters Tanzu Kubernetes et des machines virtuelles constituant les clusters, reportez-vous à la section Classes de machine virtuelle pour des clusters Tanzu Kubernetes.

Conditions préalables

Un administrateur vSphere a effectué les étapes suivantes :

Procédure

  1. Accédez à votre espace de noms dans l'environnement Kubernetes.
  2. Pour afficher les classes de machine virtuelle disponibles dans votre espace de noms, exécutez la commande suivante.
    kubectl get virtualmachineclassbindings
    Vous pouvez voir la sortie suivante.
    Note : Étant donné que le type de classe de machine virtuelle Meilleur effort permet de surcharger les ressources, vous pouvez manquer de ressources si vous avez défini des limites sur l'espace de noms dans lequel vous provisionnez les machines virtuelles. Pour cette raison, utilisez le type de classe de machine virtuelle Garantie dans l'environnement de production.
    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. Pour afficher les détails d'une classe de machine virtuelle spécifique, exécutez les commandes suivantes.
    • kubectl describe virtualmachineclasses name_vm_class

      Si une classe de machine virtuelle inclut un périphérique vGPU, vous pouvez voir son profil sous spec: hardware: devices: vgpuDevices.

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

      Si la classe de machine virtuelle inclut un périphérique vGPU ou de relais, la sortie l'affiche dans la colonne VGPUDevicesProfileNames ou PassthroughDeviceIDs.

  4. Affichez les images de machine virtuelle.
    kubectl get virtualmachineimages​
    La sortie obtenue est semblable à l'exemple suivant.
    NAME                                              VERSION  OSTYPE                FORMAT  IMAGESUPPORTED  AGE
    centos-stream-8-vmservice-v1alpha1-xxxxxxxxxxxxx           centos8_64Guest       ovf     true            4d3h
  5. Pour décrire une image spécifique, utilisez la commande suivante.
    kubectl describe virtualmachineimage/centos-stream-8-vmservice-v1alpha1-xxxxxxxxxxxxx

    Les machines virtuelles disposant de périphériques vGPU requièrent des images dont le mode de démarrage est défini sur EFI, tels que CentOS. Assurez-vous d'avoir accès à ces images. Pour obtenir des informations sur les images prises en charge, recherchez VM Service image sur le site VMware Cloud Marketplace.

  6. Vérifiez que vous pouvez accéder aux classes de stockage.
    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 vous utilisez vSphere Distributed Switch pour la mise en réseau de votre charge de travail, obtenez le nom du réseau.
    Note : Vous utilisez ces informations pour spécifier le paramètre networkName dans le fichier YAML de la machine virtuelle lorsque la valeur de networkType est vsphere-distributed. Vous n'avez pas besoin d'obtenir et de spécifier le nom du réseau si vous utilisez VMware NSX-T.
    kubectl get network
    NAME      AGE
    primary   7d2h

Que faire ensuite

Vous pouvez maintenant déployer des machines virtuelles. Reportez-vous à la section Déployer une machine virtuelle dans vSphere with Tanzu.