6.4. 모든 영역에 Pod를 분배하는 토폴로지 CR 생성
컨트롤 플레인 서비스 Pod를 영역에 분배하는 토폴로지 CR(사용자 정의 리소스)을 생성합니다. 다음 절차에서는 예제 Topology CR을 생성합니다. Pod 배치를 제어하는 방법에 대한 자세한 내용은 Cryostat 노드의 노드(스케줄링) 가이드의 Pod 배치 제어를 참조하십시오.
프로세스
워크스테이션에 컨트롤 플레인 서비스 Pod를 영역에 분배하는
토폴로지CR을 정의하는 파일을 생성합니다(예:spread_pods.yaml).apiVersion: topology.openstack.org/v1beta1 kind: Topology metadata: name: spread-pods namespace: openstack spec: topologySpreadConstraints: - maxSkew: 1 topologyKey: topology.kubernetes.io/zone whenUnsatisfiable: DoNotSchedule1 matchLabelKeys:2 - pod-template-hash - controller-revision-hash- 1
- 분배 제약 조건을 충족하지 않는 경우 Pod를 처리하는 방법을 지정합니다.
-
DoNotSchedule: Pod를 예약하지 않도록 스케줄러를 지시합니다. 이는 기본 동작입니다. 배포에 HA(고가용성)가 있는지 확인하려면 HA 서비스rabbitmq및galera를DoNotSchedule으로 설정합니다. -
ScheduleAnyway: 모든 위치에서 Pod를 예약하지만 스큐를 최소화하는 토폴로지에 더 높은 우선 순위를 부여하도록 스케줄러를 지시합니다. HA 서비스를ScheduleAnyway로 설정하면 분배 제약 조건을 충족할 수 없는 경우 Pod가 다른 영역에 배치됩니다. 그런 다음 영역이 작동하면 Pod를 올바른 영역으로 수동으로 이동해야 합니다. Pod를 수동으로 이동하는 방법에 대한 자세한 내용은 Cryostat 노드의 노드에 대한 Pod 배치 제어를 참조하십시오.
-
- 2
- 유사성 규칙이 적용되는 Pod를 그룹화하는 데 사용할 레이블 키를 지정합니다. 이 필드를 사용하여 스케줄링 시 동일한
상태 저장 세트또는배포리소스의 Pod에만 유사성 규칙이 적용되도록 합니다.matchLabelKeys필드를 사용하면 리소스를 새 Pod로 업데이트할 수 있으며 분배 제약 조건 규칙을 새 Pod 세트에만 적용할 수 있습니다.
각 영역에 여러 호스트 노드가 있는 경우 호스트 유사성 방지를 구성하여 동일한 영역 내의 호스트에 서비스 Pod를 분산할 수 있습니다.
spec: topologySpreadConstraints: ... - maxSkew: 1 topologyKey: kubernetes.io/hostname whenUnsatisfiable: DoNotSchedule matchLabelKeys: - pod-template-hash - controller-revision-hash토폴로지CR을 생성합니다.$ oc create -f spread_pods.yaml