15장. 단일 노드 OpenShift에서 워크로드 파티셔닝

단일 노드 OpenShift 배포와 같은 리소스가 제한적인 환경에서는 워크로드 파티셔닝을 사용하여 예약된 CPU 세트에서 OpenShift Container Platform 서비스, 클러스터 관리 워크로드 및 인프라 Pod를 분리합니다.

단일 노드 OpenShift에서 클러스터 관리에 필요한 최소 예약된 CPU 수는 4개의 CPU HT(Hyper-Threads)입니다. 워크로드 파티셔닝을 사용하면 클러스터 관리 Pod 세트와 클러스터 관리 워크로드 파티션에 포함하기 위한 일반적인 애드온 Operator 세트에 주석을 답니다. 이러한 Pod는 일반적으로 최소 크기 CPU 구성 내에서 작동합니다. 최소 클러스터 관리 Pod 세트 이외의 추가 Operator 또는 워크로드에 추가 CPU를 워크로드 파티션에 추가해야 합니다.

워크로드 파티셔닝은 표준 Kubernetes 스케줄링 기능을 사용하여 사용자 워크로드를 플랫폼 워크로드에서 격리합니다.

다음은 워크로드 파티셔닝에 필요한 구성의 개요입니다.

  • /etc/crio/crio.conf.d/01-workload-partitioning 을 사용하는 워크로드 파티셔닝은 OpenShift Container Platform 인프라 Pod를 정의된 cpuset 구성에 고정합니다.
  • 성능 프로필은 systemd 및 kubelet과 같은 클러스터 서비스를 spec.cpu.reserved 필드에 정의된 CPU에 고정합니다.

    참고

    Node Tuning Operator를 사용하면 노드의 전체 워크로드 파티션 구성을 위해 시스템 수준 앱도 고정하도록 성능 프로필을 구성할 수 있습니다.

  • 성능 프로필 spec.cpu.reserved 필드에 지정하는 CPU와 워크로드 파티셔닝 cpuset 필드가 일치해야 합니다.

워크로드 파티셔닝에는 정의된 각 CPU 풀 또는 워크로드 유형에 대해 확장된 < workload-type>. workload.openshift.io/cores 리소스가 도입되었습니다. kubelet은 해당 리소스 내의 풀에 할당된 Pod의 리소스 및 CPU 요청을 알립니다. 워크로드 분할이 활성화되면 < workload-type>.workload.openshift.io/cores 리소스에서 기본 CPU 풀이 아닌 호스트의 CPU 용량에 액세스할 수 있습니다.

추가 리소스