vSphere with Tanzu는 DevOps 엔지니어가 공통의 공유 Kubernetes 환경에서 컨테이너뿐 아니라 VM을 배포하고 실행할 수 있는 VM 서비스 기능을 제공합니다. VM 서비스를 사용하여 vSphere 네임스페이스에서 가상 시스템의 수명 주기를 관리할 수 있습니다. VM 서비스는 Tanzu Kubernetes 클러스터를 구성하는 VM 및 독립형 VM을 관리합니다.

일반적으로 비즈니스 요구와 목표에 따라 컨테이너가 아닌 VM에서 워크로드를 실행하기로 결정합니다. VM 실행 시기에 대한 자세한 내용은 vSphere with Tanzu에서 가상 시스템 사용 항목을 참조하십시오.

VM 서비스의 개념

vSphere 네임스페이스에 배포할 VM의 상태를 설명하려면 VM 클래스, VM 이미지 및 스토리지 클래스와 같은 매개 변수를 사용합니다. 그런 다음 VM 서비스는 이러한 규격을 함께 사용하여 독립형 VM 또는 Tanzu Kubernetes 클러스터를 지원하는 VM을 생성합니다.

VM 규격은 VM 클래스, VM 이미지 및 스토리지 클래스를 결합하여 VM을 생성합니다.
VM 서비스
VM 서비스는 VM 및 연결된 vSphere 리소스를 관리하기 위한 선언적 Kubernetes 스타일 API를 제공하는 vSphere with Tanzu의 구성 요소입니다. VM 서비스를 통해 vSphere 관리자는 리소스를 제공하고 VM 클래스 및 VM 이미지와 같은 템플릿을 Kubernetes에 제공할 수 있습니다. DevOps 엔지니어는 이러한 리소스를 사용하여 원하는 VM 상태를 설명할 수 있습니다. DevOps 엔지니어가 VM 상태를 지정하면 VM 서비스는 지원 인프라 리소스에 대해 원하는 상태를 실현된 상태로 변환합니다.

VM 서비스를 통해 생성된 VM은 kubectl 명령을 사용하여 Kubernetes 네임스페이스에서만 관리할 수 있습니다. vSphere 관리자는 vSphere Client에서 VM을 관리할 수 없지만 세부 정보를 표시하고 사용하는 리소스를 모니터링할 수 있습니다. 자세한 내용은 vSphere with Tanzu에서 사용 가능한 가상 시스템 모니터링 항목을 참조하십시오.

VM 클래스
VM 클래스는 VM에 대한 리소스 집합을 요청하는 데 사용할 수 있는 VM 규격입니다. VM 클래스는 vSphere 관리자가 제어 및 관리하며 가상 CPU 수, 메모리 용량 및 예약 설정과 같은 매개 변수를 정의합니다. 정의된 매개 변수는 감독자 클러스터의 기본 인프라 리소스에 의해 지원되고 보장됩니다.

vSphere 관리자는 사용자 지정 VM 클래스를 생성할 수 있습니다.

또한 워크로드 관리는 몇 가지 기본 VM 클래스를 제공합니다. 일반적으로 각 기본 클래스 유형에는 보장됨 및 사용 시도라는 두 가지 버전이 있습니다. 보장됨 버전은 VM 규격이 요청하는 리소스를 완전히 예약합니다. 사용 시도 클래스 버전은 그렇지 않으며, 리소스가 오버 커밋되도록 허용합니다. 일반적으로 보장됨 유형은 운영 환경에서 사용됩니다.

기본 VM 클래스의 예에는 다음이 포함됩니다.

클래스 CPU 메모리(GB) 예약된 CPU 및 메모리
guaranteed-large 4 16
best-effort-large 4 16 아니요
guaranteed-small 2 4
best-effort-small 2 4 아니요

vSphere 관리자는 특정 네임스페이스 내에서 DevOps 엔지니어가 사용할 수 있도록 기존 VM 클래스를 원하는 만큼 할당할 수 있습니다.

VM 클래스는 DevOps 엔지니어에게 간소화된 환경을 제공합니다. DevOps는 생성하려는 각 VM의 전체 구성을 이해할 필요가 없습니다. 대신 사용 가능한 옵션에서 VM 클래스를 선택할 수 있으며 VM 서비스를 통해 VM 구성이 관리됩니다.

Kubernetes 측에서 VM 클래스는 VirtualMachineClassVirtualMachineClassBinding 리소스로 나타납니다.

VM 이미지
VM 이미지는 운영 체제, 애플리케이션 및 데이터를 비롯한 소프트웨어 구성이 포함된 템플릿입니다.

DevOps 엔지니어는 VM을 생성할 때 네임스페이스와 연결된 컨텐츠 라이브러리에서 이미지를 선택할 수 있습니다. DevOps에 이미지는 VirtualMachineImage 개체로 노출됩니다.

VM 서비스는 제한된 수의 VM 이미지와 게스트 운영 체제를 지원합니다. 호환되는 VM 이미지는 VMware Marketplace에 OVF로 표시됩니다. VM 서비스에서 지원되는 VM 이미지만 사용해야 합니다. 호환되는 이미지를 찾으려면 VMware Cloud Marketplace 웹 사이트에서 VM 서비스 이미지를 검색합니다. CentOS용 VM 서비스 이미지의 예는 CentOS용 VM 서비스 이미지를 참조하십시오.

컨텐츠 소스
DevOps 엔지니어는 컨텐츠 라이브러리를 이미지 소스로 사용하여 VM을 생성합니다. VM 클래스와 마찬가지로 vSphere 관리자는 기존 컨텐츠 라이브러리를 네임스페이스에 할당하여 DevOps 엔지니어가 사용하도록 할 수 있습니다.
스토리지 클래스
VM 서비스는 스토리지 클래스를 사용하여 가상 디스크를 배치하고 영구 볼륨을 동적으로 연결합니다. 스토리지 클래스에 대한 자세한 내용은 vSphere with Tanzu에서 영구 스토리지 사용 항목을 참조하십시오.
VM 규격
DevOps 엔지니어는 VM 이미지, VM 클래스 및 스토리지 클래스를 함께 제공하는 YAML 파일에서 원하는 VM 상태를 설명합니다.
네트워킹
VM 서비스에는 특정 요구 사항이 없으며 vSphere with Tanzu에서 사용할 수 있는 네트워크 구성에 의존합니다. VM 서비스는 두 가지 유형의 네트워킹 즉, vSphere 네트워킹 또는 NSX-T를 지원합니다. VM이 배포되면 사용 가능한 네트워크 제공자가 정적 IP 주소를 VM에 할당합니다. 자세한 내용은 vSphere with Tanzu에 대한 네트워킹 항목을 참조하십시오.

VM 프로비저닝을 위한 vSphere 관리자 워크플로

vSphere 관리자는 VM의 정책 및 거버넌스에 대한 가드레일을 설정하고 VM 클래스 및 VM 템플릿과 같은 VM 리소스를 DevOps 엔지니어에게 제공합니다. VM이 배포된 후 vSphere Client를 사용하여 모니터링할 수 있습니다.

단계 설명 지침
1 VM 클래스를 생성하고 관리합니다.
2 VM 클래스 집합을 네임스페이스와 연결합니다. vSphere with Tanzu에서 VM 클래스를 네임스페이스와 연결
3 컨텐츠 라이브러리를 생성하고 관리합니다.
4 컨텐츠 라이브러리를 네임스페이스와 연결합니다.
5 스토리지 클래스를 네임스페이스와 연결합니다. vSphere 네임스페이스 생성 및 구성
6 배포된 VM을 모니터링합니다. vSphere with Tanzu에서 사용 가능한 가상 시스템 모니터링

VM 프로비저닝을 위한 DevOps 엔지니어 워크플로

권한이 있는 DevOps 엔지니어는 사용 가능한 VM 리소스를 검토하고 네임스페이스에 VM을 배포할 수 있습니다. kubectl 명령을 사용하여 다음 작업을 수행합니다.

단계 설명 지침
1 VM 클래스,이미지 및 네임스페이스와 연결된 기타 리소스를 나열합니다. vSphere with Tanzu의 네임스페이스에서 사용 가능한 VM 리소스 보기
2 VM을 생성합니다.