23장. 워크로드 분할
워크로드 분할은 컴퓨팅 노드 CPU 리소스를 여러 개의 별개 CPU 세트로 분리합니다. 주요 목적은 고객 워크로드가 실행되는 CPU를 방해하지 않도록 지정된 코어에 플랫폼 포드를 유지하는 것입니다.
워크로드 분할은 OpenShift Container Platform 서비스, 클러스터 관리 워크로드 및 인프라 포드를 격리하여 예약된 CPU 세트에서 실행합니다. 이렇게 하면 클러스터 배포에 남아 있는 CPU가 손상되지 않고 플랫폼이 아닌 워크로드에만 독점적으로 사용할 수 있습니다. 클러스터 관리에 필요한 최소 예약된 CPU 수는 4개의 CPU Hyper-Threads(HT)입니다.
작업 부하 분할을 활성화하고 CPU 리소스를 효과적으로 관리한다는 맥락에서 올바르게 구성되지 않은 노드는 노드 승인 웹훅을 통해 클러스터에 가입할 수 없습니다. 작업 분할 기능이 활성화되면 제어 평면과 작업자에 대한 머신 구성 풀에 노드에서 사용할 구성이 제공됩니다. 이러한 풀에 새 노드를 추가하면 클러스터에 가입하기 전에 노드가 올바르게 구성되었는지 확인할 수 있습니다.
현재, 노드는 풀 내의 모든 노드에 올바른 CPU 친화성이 설정되도록 머신 구성 풀당 균일한 구성을 가져야 합니다. 승인 후, 클러스터 내의 노드는 management.workload.openshift.io/cores
라는 새로운 리소스 유형을 지원하는 것으로 자신을 식별하고 CPU 용량을 정확하게 보고합니다. 워크로드 분할은 클러스터 설치 중에만 활성화할 수 있으며 , install-config.yaml
파일에 추가 필드 cpuPartitioningMode를
추가합니다.
작업 부하 분할이 활성화되면 management.workload.openshift.io/cores
리소스를 통해 스케줄러가 기본 cpuset
뿐 아니라 호스트의 cpushares
용량을 기준으로 포드를 올바르게 할당할 수 있습니다. 이를 통해 작업 분할 시나리오에서 리소스를 더욱 정확하게 할당할 수 있습니다.
워크로드 분할은 Pod 구성에 지정된 CPU 요청과 제한이 준수되도록 보장합니다. OpenShift Container Platform 4.16 이상에서는 CPU 분할을 통해 플랫폼 포드에 대한 정확한 CPU 사용량 한도가 설정됩니다. 워크로드 분할은 management.workload.openshift.io/cores
의 사용자 정의 리소스 유형을 사용하므로 Kubernetes에서 확장 리소스가 필요하기 때문에 요청 및 제한 값이 동일합니다. 그러나 워크로드 분할로 수정된 주석은 원하는 한도를 올바르게 반영합니다.
확장된 리소스는 과도하게 할당될 수 없으므로 컨테이너 사양에 둘 다 있는 경우 요청과 제한이 동일해야 합니다.
23.1. 워크로드 분할 활성화 링크 복사링크가 클립보드에 복사되었습니다!
워크로드 파티셔닝을 사용하면 클러스터 관리 Pod에 지정된 CPU 선호도로 올바르게 파티션할 수 있습니다. 이러한 포드는 성능 프로필의 예약된 값에 지정된 최소 크기 CPU 구성 내에서 정상적으로 작동합니다. 플랫폼에 예약된 CPU 코어 수를 계산할 때 워크로드 분할을 활용하는 추가적인 Day 2 운영자를 고려해야 합니다.
워크로드 분할은 표준 Kubernetes 스케줄링 기능을 사용하여 사용자 워크로드를 플랫폼 워크로드로부터 분리합니다.
클러스터 설치 중에만 워크로드 분할을 활성화할 수 있습니다. 설치 후에는 워크로드 분할을 비활성화할 수 없습니다. 하지만 예약된
CPU와 격리된
CPU의 CPU 구성은 설치 후에 변경할 수 있습니다.
워크로드 파티셔닝 클러스터 범위를 활성화하려면 다음 절차를 사용하십시오.
프로세스
install-config.yaml
파일에서 추가 필드cpuPartitioningMode를
추가하고 이를AllNodes
로 설정합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 설치 시 CPU 파티셔닝을 위한 클러스터를 설정합니다. 기본값은
None
입니다.