Tanzu Kubernetes 클러스터 노드의 크기를 조정하려면 가상 시스템 클래스를 지정합니다. vSphere with Tanzu는 기본 클래스를 제공하며 직접 생성할 수도 있습니다. 클래스를 사용하려면 대상 vSphere 네임스페이스와 연결하고 매니페스트에서 클래스를 참조합니다.

가상 시스템 클래스 정보

가상 시스템 클래스는 CPU 및 메모리(RAM)를 포함한 VM(가상 시스템)의 처리 능력을 위한 리소스 예약 요청입니다. 예를 들어 "guranteed-large"라는 VM 클래스 유형은 4개의 CPU와 16GB의 RAM을 예약합니다. 기본 VM 클래스 목록과 해당 CPU 및 RAM 예약은 기본 가상 시스템 클래스에서 참조하십시오.
참고: VM 디스크 크기는 VM 클래스 정의가 아닌 OVA 템플릿에 의해 설정됩니다. Tanzu Kubernetes 릴리스의 경우 디스크 크기는16GB입니다. Tanzu Kubernetes 릴리스 배포 정보의 내용을 참조하십시오.
VM 클래스에는 두 가지 예약 유형(보장됨 및 사용 시도)이 있습니다. 보장됨 클래스는 구성된 리소스를 완전히 예약합니다. 즉, 주어진 클러스터에 대해 spec.policies.resources.requestsspec.hardware 설정과 일치합니다. 사용 시도 클래스를 사용하면 리소스가 오버 커밋될 수 있습니다. 운영 워크로드의 경우 보장됨 VM 클래스 유형을 사용하는 것이 좋습니다.
경고: 사용 시도 VM 클래스 유형을 사용하면 리소스가 오버 커밋될 수 있으므로 Tanzu Kubernetes 클러스터를 프로비저닝하는 vSphere 네임스페이스에 대해 제한을 설정한 경우 리소스가 부족해질 수 있습니다. 경합이 발생하고 제어부가 영향을 받는 경우 클러스터 실행이 중지될 수 있습니다. 이러한 이유로 운영 클러스터에는 항상 보장됨 VM 클래스 유형을 사용해야 합니다. 모든 운영 노드에 대해 보장됨 VM 클래스 유형을 사용할 수 없다면 적어도 제어부 노드에 대해서는 보장됨 VM 클래스 유형을 사용해야 합니다.

가상 시스템 클래스 사용

Tanzu Kubernetes 클러스터에서 가상 시스템 클래스를 사용하려면 VM 클래스는 클러스터가 프로비저닝된 vSphere 네임스페이스 클래스에 바인딩되어야 합니다. 이렇게 하려면 클래스를 대상 네임스페이스와 연결합니다. Tanzu Kubernetes 릴리스에 대한 vSphere 네임스페이스 구성의 내용을 참조하십시오.

대상 vSphere 네임스페이스에서 사용할 수 있는 VM 클래스를 나열하려면 kubectl get virtualmachineclassbinding 명령을 사용합니다. 감독자 클러스터에 있는 모든 가상 시스템 클래스를 보려면 kubectl describe virtualmachineclasses 명령을 실행합니다. 단, 바인딩된 클래스만 클러스터를 프로비저닝하는 데 사용할 수 있기 때문에 후자의 명령은 정보 제공용입니다. TKGS v1alpha2 API를 사용하여 Tanzu Kubernetes 클러스터를 프로비저닝하는 워크플로의 내용을 참조하십시오.
참고: VM 클래스를 vSphere 네임스페이스와 연결하기 위한 요구 사항은 새 클러스터에만 적용됩니다. 기본 VM 클래스를 사용하는 기존 Tanzu Kubernetes 클러스터는 네임스페이스 연결없이 계속 작동됩니다.

기본 가상 시스템 클래스

기본 가상 시스템 클래스 표에는 Tanzu Kubernetes 클러스터 노드의 VM 배포 크기로 사용되는 가상 시스템 클래스 유형이 나열되어 있습니다.

리소스 오버 커밋을 방지하려면 운영 워크로드에서 보장된 클래스 유형을 사용해야 합니다. 메모리 부족 문제를 방지하려면 모든 환경(개발, 테스트 또는 운영)에서 워크로드를 배포하는 작업자 노드에 대해 소형 또는 초소형 클래스 크기를 사용하지 마십시오.

표 1. 기본 가상 시스템 클래스
클래스 CPU 메모리(GB) 예약된 CPU 및 메모리
guaranteed-8xlarge 32 128
best-effort-8xlarge 32 128 아니요
guaranteed-4xlarge 16 128
best-effort-4xlarge 16 128 아니요
guaranteed-2xlarge 8 64
best-effort-2xlarge 8 64 아니요
guaranteed-xlarge 4 32
best-effort-xlarge 4 32 아니요
guaranteed-large 4 16
best-effort-large 4 16 아니요
guaranteed-medium 2 8
best-effort-medium 2 8 아니요
guaranteed-small 2 4
best-effort-small 2 4 아니요
guaranteed-xsmall 2 2
best-effort-xsmall 2 2 아니요

사용자 지정 가상 시스템 클래스

vSphere with TanzuTanzu Kubernetes 클러스터에서 사용할 사용자 지정 가상 시스템 클래스를 지원합니다. 사용자 지정 VM 클래스를 정의한 후에 대상 vSphere 네임스페이스와 연결해야 클러스터에서 사용할 수 있습니다. vSphere with Tanzu에서 VM 클래스 생성의 내용을 참조하십시오.

가상 시스템 클래스 편집

VM 클래스 정의는 변경할 수 없습니다. 기본 VM 클래스 정의를 포함하여 모든 VM 클래스는 편집할 수 있습니다. VM 클래스를 편집해도 기존 Tanzu Kubernetes 클러스터 노드는 영향을 받지 않습니다. 새 Tanzu Kubernetes 클러스터는 수정된 클래스 정의를 사용합니다.
경고: Tanzu Kubernetes 클러스터에서 사용 중인 VM 클래스를 편집하고 해당 클러스터를 확장하는 경우 새 노드는 편집된 클래스 정의를 사용하지만 기존 노드는 초기 클래스 정의를 사용하기 때문에 클래스 불일치가 발생합니다.