15장. 워크로드 파티셔닝
워크로드 파티션은 기술 프리뷰 기능 전용입니다. 기술 프리뷰 기능은 Red Hat 프로덕션 서비스 수준 계약(SLA)에서 지원되지 않으며 기능적으로 완전하지 않을 수 있습니다. 따라서 프로덕션 환경에서 사용하는 것은 권장하지 않습니다. 이러한 기능을 사용하면 향후 제품 기능을 조기에 이용할 수 있어 개발 과정에서 고객이 기능을 테스트하고 피드백을 제공할 수 있습니다.
Red Hat 기술 프리뷰 기능의 지원 범위에 대한 자세한 내용은 기술 프리뷰 기능 지원 범위를 참조하십시오.
리소스가 제한된 환경에서는 워크로드 파티셔닝을 사용하여 OpenShift Container Platform 서비스, 클러스터 관리 워크로드 및 인프라 Pod를 분리하여 예약된 CPU 세트에서 실행할 수 있습니다.
클러스터 관리에 필요한 예약된 CPU의 최소 수는 4개의 CPU HT(Hyper-Threads)입니다. 워크로드 파티셔닝을 사용하면 클러스터 관리 Pod 세트와 클러스터 관리 워크로드 파티션에 포함하기 위한 일반적인 애드온 Operator 세트에 주석을 답니다. 이러한 Pod는 일반적으로 최소 크기 CPU 구성 내에서 작동합니다. 최소 클러스터 관리 Pod 세트 이외의 추가 Operator 또는 워크로드에 추가 CPU를 워크로드 파티션에 추가해야 합니다.
워크로드 파티셔닝은 표준 Kubernetes 스케줄링 기능을 사용하여 사용자 워크로드를 플랫폼 워크로드에서 격리합니다.
워크로드 파티셔닝에는 다음 변경이 필요합니다.
install-config.yaml파일에서 추가 필드cpu>-<ingMode를추가합니다.apiVersion: v1 baseDomain: devcluster.openshift.com cpuPartitioningMode: AllNodes 1 compute: - architecture: amd64 hyperthreading: Enabled name: worker platform: {} replicas: 3 controlPlane: architecture: amd64 hyperthreading: Enabled name: master platform: {} replicas: 3- 1
- 설치 시 CPU 파티셔닝을 위한 클러스터를 설정합니다. 기본값은
None입니다.
참고워크로드 파티션은 클러스터 설치 중에만 활성화할 수 있습니다. 설치 후 워크로드 파티셔닝을 비활성화할 수 없습니다.
성능 프로필에서
분리및예약된CPU를 지정합니다.apiVersion: performance.openshift.io/v2 kind: PerformanceProfile metadata: name: openshift-node-workload-partitioning-worker spec: cpu: isolated: 0,1 1 reserved: "2-3" 2 machineConfigPoolSelector: pools.operator.machineconfiguration.openshift.io/worker: "" nodeSelector: node-role.kubernetes.io/worker: ""
워크로드 파티셔닝에서는 플랫폼 Pod에 대한 확장된 management.workload.openshift.io/cores 리소스 유형이 도입되었습니다. kubelet은 해당 리소스 내의 풀에 할당된 Pod의 리소스 및 CPU 요청을 알립니다. 워크로드 파티셔닝이 활성화되면 management.workload.openshift.io/cores 리소스를 사용하면 스케줄러에서 기본 cpuset 뿐만 아니라 호스트의 cpushares 용량에 따라 Pod를 올바르게 할당할 수 있습니다.
추가 리소스
- 단일 노드 OpenShift 클러스터에 권장되는 워크로드 파티션 구성은 워크로드 파티셔닝 을 참조하십시오.