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

가상 시스템 클래스 정보

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

기본 가상 시스템 클래스

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

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

표 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 아니요

TKG 클러스터에서 VM 클래스 사용

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

대상 vSphere 네임스페이스에서 사용할 수 있는 VM 클래스를 나열하려면 kubectl get virtualmachineclassbinding 명령을 사용합니다.
참고: kubectl describe virtualmachineclasses 명령은 감독자에 있는 모든 VM 클래스를 반환합니다. 단, 바인딩된 클래스만 클러스터를 프로비저닝하는 데 사용할 수 있기 때문에 이 명령은 정보 제공용입니다.
VM 클래스 정의는 변경할 수 없습니다. 기본 VM 클래스 정의를 포함하여 모든 VM 클래스는 편집할 수 있습니다. VM 클래스를 편집해도 기존 TKG 클러스터 노드는 영향을 받지 않습니다. 새 TKG 클러스터는 수정된 클래스를 사용합니다.
경고: TKG 클러스터에서 사용 중인 VM 클래스를 편집하고 해당 클러스터를 확장하는 경우 새 노드는 편집된 클래스 정의를 사용하지만 기존 노드는 초기 클래스 정의를 사용하기 때문에 클래스 불일치가 발생합니다.

vSphere with Tanzu는 TKG 클러스터에서 사용할 사용자 지정 가상 시스템 클래스를 지원합니다. 사용자 지정 VM 클래스를 정의한 후에 대상 vSphere 네임스페이스와 연결해야 클러스터에서 사용할 수 있습니다. 자세한 내용은 감독자 서비스 설명서를 참조하십시오.