2.9. 공정한 공유 구성
공정한 공유는 집단의 세입자 간에 빌릴 수 있는 자원의 동등하거나 가중된 몫을 달성하기 위해 사용되는 선점 전략입니다. 빌릴 수 있는 리소스는 코호트 내 모든 클러스터 대기열의 사용되지 않은 명목 할당량입니다.
Kueue 사용자 정의 리소스(CR)에서 preemptionPolicy 값을 FairSharing 으로 설정하여 공정한 공유를 구성할 수 있습니다.
2.9.1. 클러스터 큐 가중치 링크 복사링크가 클립보드에 복사되었습니다!
공정 공유를 활성화한 후에는 공정 공유가 이루어지기 전에 각 클러스터 대기열에 대한 공유 값을 설정해야 합니다. 공유 값은 ClusterQueue 객체의 가중치 값으로 표현됩니다.
공유 가치는 관리자가 특정 작업 유형이나 팀의 우선순위를 정하는 데 도움이 되므로 중요합니다. 중요한 애플리케이션이나 우선순위가 높은 팀은 가중치 값을 구성하여 사용 가능한 리소스의 비례적으로 더 큰 몫을 받을 수 있습니다. 가중치를 구성하면 사용되지 않은 리소스가 선착순이 아닌 정의된 조직 또는 프로젝트 우선순위에 따라 분배됩니다.
가중치 값 또는 공유 값은 빌릴 수 있는 리소스를 놓고 경쟁할 때 클러스터 대기열에 대한 비교 우위를 정의합니다. 일반적으로 Kueue의 Red Hat 빌드는 주가 가치가 낮은 일자리를 먼저 수용합니다. 주가가 높은 일자리는 주가가 낮은 일자리보다 먼저 사라질 가능성이 큽니다.
공정한 공유 가중치가 구성된 클러스터 대기열 예
apiVersion: kueue.x-k8s.io/v1beta1
kind: ClusterQueue
metadata:
name: cluster-queue
spec:
namespaceSelector: {}
resourceGroups:
- coveredResources: ["cpu"]
flavors:
- name: default-flavor
resources:
- name: cpu
nominalQuota: 9
cohort: example-cohort
fairSharing:
weight: 2
apiVersion: kueue.x-k8s.io/v1beta1
kind: ClusterQueue
metadata:
name: cluster-queue
spec:
namespaceSelector: {}
resourceGroups:
- coveredResources: ["cpu"]
flavors:
- name: default-flavor
resources:
- name: cpu
nominalQuota: 9
cohort: example-cohort
fairSharing:
weight: 2
2.9.1.1. 0중량 링크 복사링크가 클립보드에 복사되었습니다!
가중치 값 0 은 무한한 공유 가치를 나타냅니다. 즉, 클러스터 큐는 항상 다른 큐에 비해 불리한 입장에 있으며, 공정한 공유가 활성화되면 해당 워크로드가 항상 가장 먼저 선점됩니다.