7.13. 더 높은 VM 워크로드 밀도 구성
VM(가상 머신) 수를 늘리려면 RAM(메모리) 양을 과다 할당하여 클러스터에서 더 높은 VM 워크로드 밀도를 구성할 수 있습니다.
높은 워크로드 밀도를 구성하는 것은 기술 프리뷰 기능 전용입니다. 기술 프리뷰 기능은 Red Hat 프로덕션 서비스 수준 계약(SLA)에서 지원되지 않으며 기능적으로 완전하지 않을 수 있습니다. 따라서 프로덕션 환경에서 사용하는 것은 권장하지 않습니다. 이러한 기능을 사용하면 향후 제품 기능을 조기에 이용할 수 있어 개발 과정에서 고객이 기능을 테스트하고 피드백을 제공할 수 있습니다.
Red Hat 기술 프리뷰 기능의 지원 범위에 대한 자세한 내용은 기술 프리뷰 기능 지원 범위를 참조하십시오.
다음 워크로드는 특히 높은 워크로드 밀도에 적합합니다.
- 많은 유사한 워크로드
- 사용되지 않는 워크로드
오버 커밋된 메모리는 워크로드 밀도가 높을 수 있지만 고도로 사용되는 시스템의 워크로드 성능을 저하시킬 수 있습니다.
7.13.1. wasp-agent 를 사용하여 더 높은 VM 워크로드 밀도 구성
					wasp-agent 구성 요소를 사용하면 OpenShift Container Platform 클러스터에서 스왑 리소스를 VM(가상 머신) 워크로드에 할당할 수 있습니다. 스왑 사용은 작업자 노드에서만 지원됩니다.
				
						스왑 리소스는 Burstable Quality of Service(QoS) 클래스의 VM(가상 머신 워크로드)에만 할당할 수 있습니다. 보장된 QoS 클래스의 VM Pod 및 VM에 속하지 않는 QoS 클래스의 Pod는 리소스를 스왑할 수 없습니다.
					
QoS 클래스에 대한 설명은 Pod용 서비스 품질 구성 (Kubernetes 문서)을 참조하십시오.
사전 요구 사항
- 
							oc도구를 사용할 수 있습니다.
- cluster-admin 역할을 사용하여 클러스터에 로그인되어 있습니다.
- 메모리 초과 커밋 비율이 정의됩니다.
- 노드는 작업자 풀에 속합니다.
프로세스
- 다음 명령을 입력하여 권한 있는 서비스 계정을 생성합니다. - oc adm new-project wasp - $ oc adm new-project wasp- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - oc create sa -n wasp wasp - $ oc create sa -n wasp wasp- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - oc adm policy add-cluster-role-to-user cluster-admin -n wasp -z wasp - $ oc adm policy add-cluster-role-to-user cluster-admin -n wasp -z wasp- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - oc adm policy add-scc-to-user -n wasp privileged -z wasp - $ oc adm policy add-scc-to-user -n wasp privileged -z wasp- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 참고- wasp-agent구성 요소는 OCI 후크를 배포하여 노드 수준에서 컨테이너의 스왑 사용을 활성화합니다. 낮은 수준의 특성을 사용하려면- DaemonSet오브젝트에 권한을 부여해야 합니다.
- deploy - wasp-agent:- 다음과 같이 - DaemonSet오브젝트를 생성합니다.- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 
									RH 포털에서 최신 URL을 가져오고 생성된 DaemonSet오브젝트에 URL을 입력합니다.
 
- 스왑을 허용하도록 - kubelet서비스를 구성합니다.- 예제에 표시된 대로 - KubeletConfiguration파일을 생성합니다.- KubeletConfiguration파일 예- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 클러스터가 기존 - KubeletConfiguration파일을 이미 사용하고 있는 경우- spec섹션에 다음을 추가합니다.- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 다음 명령을 실행합니다. - $ oc wait mcp worker --for condition=Updated=True - $ oc wait mcp worker --for condition=Updated=True- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
 
- 다음과 같이 - MachineConfig오브젝트를 생성하여 스왑을 프로비저닝합니다.- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - best-case 시나리오를 위한 스왑 공간이 충분한 경우 오버 커밋된 RAM으로 프로비저닝된 스왑 공간이 있는지 확인하십시오. 다음 공식을 사용하여 노드에서 프로비저닝할 스왑 공간의 양을 계산합니다. - NODE_SWAP_SPACE = NODE_RAM * (MEMORY_OVER_COMMIT_PERCENT / 100% - 1) - NODE_SWAP_SPACE = NODE_RAM * (MEMORY_OVER_COMMIT_PERCENT / 100% - 1)- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 예제: - NODE_SWAP_SPACE = 16 GB * (150% / 100% - 1) = 16 GB * (1.5 - 1) = 16 GB * (0.5) = 8 GB- NODE_SWAP_SPACE = 16 GB * (150% / 100% - 1) = 16 GB * (1.5 - 1) = 16 GB * (0.5) = 8 GB- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 다음과 같이 경고 규칙을 배포합니다. - Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 다음 예와 같이 OpenShift Container Platform 웹 콘솔을 사용하거나 HyperConverged CR(사용자 정의 리소스) 파일을 편집하여 메모리 과다 할당을 사용하도록 OpenShift Virtualization을 구성합니다. - 예제: - Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 다음 명령을 입력하여 클러스터의 컴퓨팅 노드에 모든 구성을 적용합니다. - oc patch --type=merge \ -f <../manifests/hco-set-memory-overcommit.yaml> \ --patch-file <../manifests/hco-set-memory-overcommit.yaml> - $ oc patch --type=merge \ -f <../manifests/hco-set-memory-overcommit.yaml> \ --patch-file <../manifests/hco-set-memory-overcommit.yaml>- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 참고- 모든 구성을 적용한 후에는 모든 - MachineConfigPool롤아웃이 완료된 후에만 스왑 기능을 완전히 사용할 수 있습니다.
검증
- wasp-agent의 배포를 확인하려면 다음 명령을 실행합니다.- oc rollout status ds wasp-agent -n wasp - $ oc rollout status ds wasp-agent -n wasp- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 배포에 성공하면 다음 메시지가 표시됩니다. - daemon set "wasp-agent" successfully rolled out - daemon set "wasp-agent" successfully rolled out- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 스왑이 올바르게 프로비저닝되었는지 확인하려면 다음을 수행하십시오. - 다음 명령을 실행합니다. - oc get nodes -l node-role.kubernetes.io/worker - $ oc get nodes -l node-role.kubernetes.io/worker- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 제공된 목록에서 노드를 선택하고 다음 명령을 실행합니다. - oc debug node/<selected-node> -- free -m - $ oc debug node/<selected-node> -- free -m- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 스왑이 올바르게 프로비저닝되면 0보다 큰 양이 표시되고 다음과 유사합니다. - Expand - 합계 - 사용됨 - 무료 - 공유됨 - buff/cache - 사용 가능 - mEM: - 31846 - 23155 - 1044 - 6014 - 14483 - 8690 - swap: - 8191 - 2337 - 5854 
 
- 다음 명령을 실행하여 OpenShift Virtualization 메모리 과다 할당 구성을 확인합니다. - oc get -n openshift-cnv HyperConverged kubevirt-hyperconverged -o jsonpath="{.spec.higherWorkloadDensity.memoryOvercommitPercentage}"- $ oc get -n openshift-cnv HyperConverged kubevirt-hyperconverged -o jsonpath="{.spec.higherWorkloadDensity.memoryOvercommitPercentage}" 150- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 반환된 값(예: - 150)은 이전에 구성한 값과 일치해야 합니다.