Um eine eigenständige VM in vSphere with Tanzu bereitstellen zu können, muss ein DevOps-Ingenieur Zugriff auf bestimmte VM-Ressourcen haben. Stellen Sie als DevOps-Ingenieur sicher, dass Sie auf diese Ressourcen zugreifen und die in Ihrer Umgebung verfügbaren VM-Klassen und VM-Vorlagen anzeigen können. Sie können auch Speicherklassen und andere Elemente auflisten, die Sie möglicherweise für den Self-Service einer VM benötigen.

Diese Aufgabe umfasst Befehle, mit denen Sie auf Ressourcen zugreifen können, die für eine Bereitstellung einer eigenständigen VM verfügbar sind. Informationen zu den erforderlichen Ressourcen für die Bereitstellung von Tanzu Kubernetes-Clustern und VMs, die die Cluster bilden, finden Sie unter VM-Klassen für Tanzu Kubernetes-Cluster.

Voraussetzungen

Ein vSphere-Administrator hat diese Schritte durchgeführt:

Prozedur

  1. Greifen Sie in der Kubernetes-Umgebung auf Ihren Namespace zu.
    Weitere Informationen finden Sie unter Abrufen und Verwenden des Supervisor-Cluster-Kontexts.
  2. Um die in Ihrem Namespace verfügbaren VM-Klassen anzeigen zu können, führen Sie den folgenden Befehl aus.
    kubectl get virtualmachineclassbindings
    Sie sehen die folgende Ausgabe.
    Hinweis: Da der bestmögliche VM-Klassentyp eine Überbelegung von Ressourcen zulässt, ist es möglich, dass keine Ressourcen mehr verfügbar sind, wenn Sie Grenzwerte für den Namespace festgelegt haben, in dem Sie die VMs bereitstellen. Verwenden Sie aus diesem Grund den garantierten VM-Klassentyp in der Produktionsumgebung.
    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. Zum Anzeigen von Details zu einer bestimmten VM-Klasse führen Sie die folgenden Befehle aus:
    • kubectl describe virtualmachineclasses name_vm_class

      Wenn eine VM-Klasse ein vGPU-Gerät enthält, können Sie sein Profil unter spec: hardware: devices: vgpuDevices anzeigen.

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

      Wenn die VM-Klasse ein vGPU- oder Passthrough-Gerät enthält, wird es in der Spalte VGPUDevicesProfileNames oder PassthroughDeviceIDs ausgegeben.

  4. Zeigen Sie die VM-Images an.
    kubectl get virtualmachineimages​
    Die angezeigte Ausgabe lautet in etwa wie folgt:
    NAME                                              VERSION  OSTYPE                FORMAT  IMAGESUPPORTED  AGE
    centos-stream-8-vmservice-v1alpha1-xxxxxxxxxxxxx           centos8_64Guest       ovf     true            4d3h
  5. Verwenden Sie den folgenden Befehl, um ein bestimmtes Image zu beschreiben.
    kubectl describe virtualmachineimage/centos-stream-8-vmservice-v1alpha1-xxxxxxxxxxxxx

    VMs mit vGPU-Geräten erfordern Images, für die als Startmodus EFI festgelegt ist, z. B. CentOS. Sie müssen Zugriff auf diese Images haben. Suchen Sie für Informationen über unterstützte Images auf der Website VMware Cloud Marketplace nach VM-Dienst-Image.

  6. Überprüfen Sie, ob Sie auf Speicherklassen zugreifen können.
    kubectl get resourcequotas
    NAME                        AGE   REQUEST                                                                                         LIMIT
    my-ns-ubuntu-storagequota   24h   wcpglobal-storage-profile.storageclass.storage.k8s.io/requests.storage: 0/9223372036854775807
  7. Wenn Sie vSphere Distributed Switch für Ihr Arbeitslastnetzwerk verwenden, erhalten Sie den Namen des Netzwerks.
    Hinweis: Sie verwenden diese Informationen, um den networkName-Parameter in der VM-YAML-Datei anzugeben, wenn networkType den Wert vsphere-distributed aufweist. Sie müssen den Netzwerknamen nicht abrufen und angeben, wenn Sie VMware NSX-T verwenden.
    kubectl get network
    NAME      AGE
    primary   7d2h

Nächste Maßnahme

Sie können jetzt VMs bereitstellen. Weitere Informationen finden Sie unter Bereitstellen einer virtuellen Maschine in vSphere with Tanzu.