vSphere with Tanzu에서 독립형 VM을 배포하려면 DevOps 엔지니어에게 특정 VM 리소스에 대한 액세스 권한이 있어야 합니다. DevOps 엔지니어는 사용자가 이러한 리소스에 액세스하고 환경에서 사용할 수 있는 VM 클래스 및 VM 템플릿을 볼 수 있는지 확인합니다. VM을 셀프 서비스하는 데 필요할 수 있는 스토리지 클래스 및 기타 항목을 나열할 수도 있습니다.

이 작업에서는 독립형 VM 배포에 사용 가능한 리소스에 액세스하는 데 사용하는 명령을 설명합니다. Tanzu Kubernetes 클러스터 및 클러스터를 구성하는 VM을 배포하는 데 필요한 리소스에 대한 자세한 내용은 Tanzu Kubernetes 클러스터에 대한 가상 시스템 클래스 항목을 참조하십시오.

사전 요구 사항

vSphere 관리자가 다음 단계를 수행했습니다.

프로시저

  1. Kubernetes 환경의 네임스페이스에 액세스합니다.
  2. 네임스페이스에서 사용 가능한 VM 클래스를 보려면 다음 명령을 실행합니다.
    kubectl get virtualmachineclassbindings
    다음 출력을 볼 수 있습니다.
    참고: 사용 시도 VM 클래스 유형을 사용하면 리소스가 오버 커밋될 수 있으므로 VM을 프로비저닝하는 네임스페이스에 대한 제한을 설정한 경우 리소스가 부족해질 수 있습니다. 따라서 운영 환경에서는 보장됨 VM 클래스 유형을 사용하십시오.
    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. 특정 VM 클래스에 대한 세부 정보를 보려면 다음 명령을 실행합니다.
    • kubectl describe virtualmachineclasses name_vm_class

      VM 클래스에 vGPU 디바이스가 포함된 경우 spec: hardware: devices: vgpuDevices에서 해당 프로파일을 볼 수 있습니다.

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

      VM 클래스에 vGPU 또는 패스스루 디바이스가 포함된 경우 이러한 디바이스는 출력의 VGPUDevicesProfileNames 또는 PassthroughDeviceIDs 열에 표시됩니다.

  4. VM 이미지를 봅니다.
    kubectl get virtualmachineimages​
    보이는 출력은 다음과 유사합니다.
    NAME                                              VERSION  OSTYPE                FORMAT  IMAGESUPPORTED  AGE
    centos-stream-8-vmservice-v1alpha1-xxxxxxxxxxxxx           centos8_64Guest       ovf     true            4d3h
  5. 특정 이미지를 설명하려면 다음 명령을 사용합니다.
    kubectl describe virtualmachineimage/centos-stream-8-vmservice-v1alpha1-xxxxxxxxxxxxx

    vGPU 디바이스가 있는 VM에는 부팅 모드가 EFI로 설정된 이미지(예: CentOS)가 필요합니다. 이러한 이미지에 액세스할 수 있는지 확인합니다. 지원되는 이미지에 대한 자세한 내용은 VMware Cloud Marketplace 웹 사이트에서 VM 서비스 이미지를 검색하십시오.

  6. 스토리지 클래스에 액세스할 수 있는지 확인합니다.
    kubectl get resourcequotas
    NAME                        AGE   REQUEST                                                                                         LIMIT
    my-ns-ubuntu-storagequota   24h   wcpglobal-storage-profile.storageclass.storage.k8s.io/requests.storage: 0/9223372036854775807
  7. 워크로드 네트워킹에 vSphere Distributed Switch를 사용하는 경우 네트워크의 이름을 확보합니다.
    참고: networkTypevsphere-distributed인 경우 이 정보를 사용하여 VM YAML 파일에서 networkName 매개 변수를 지정합니다. VMware NSX-T를 사용하는 경우에는 네트워크 이름을 확보하여 지정할 필요가 없습니다.
    kubectl get network
    NAME      AGE
    primary   7d2h

다음에 수행할 작업

이제 VM을 배포할 수 있습니다. vSphere with Tanzu에서 가상 시스템 배포의 내용을 참조하십시오.