3장. 전용 노드 지정
kubernetes 클러스터는 여러 가상 머신 또는 노드(일반적으로 2개에서 20개 노드)의 상단에서 실행됩니다. 이러한 노드에서 Pod를 예약할 수 있습니다. 새 Pod를 생성하거나 예약할 때 topology_spread_constraints 설정을 사용하여 예약 또는 생성될 때 새 Pod가 기본 노드에 분산되는 방법을 구성합니다.
해당 노드가 실패하면 해당 Pod에서 제공하는 서비스도 실패하므로 단일 노드에서 Pod를 예약하지 마십시오.
다른 노드에서 실행되도록 컨트롤 플레인 노드를 자동화 작업 Pod에 예약합니다. 컨트롤 플레인 Pod가 작업 Pod와 노드를 공유하는 경우 컨트롤 플레인은 리소스를 래핑하고 전체 애플리케이션의 성능을 저하시킬 수 있습니다.
3.1. 특정 노드에 Pod 할당 링크 복사링크가 클립보드에 복사되었습니다!
Operator가 생성한 자동화 컨트롤러 Pod를 제한하여 노드의 특정 하위 집합에서 실행할 수 있습니다.
-
node_selector및postgres_selector는 지정된 모든 키 또는 값 쌍과 일치하는 노드에서만 자동화 컨트롤러 Pod를 실행하도록 제한합니다. -
tolerations및postgres_tolerations를 사용하면 자동화 컨트롤러 Pod를 테인트와 일치하는 노드에 예약할 수 있습니다. 자세한 내용은 Kubernetes 문서 의 Taints 및 Toleration 을 참조하십시오.
다음 표에서는 YAML의 자동화 컨트롤러 사양 섹션에 설정할 수 있는 설정 및 필드(또는 Openshift UI 양식 사용)를 보여줍니다.
| 이름 | 설명 | Default |
|---|---|---|
|
| 가져올 이미지의 경로입니다. | Postgres |
|
| 가져올 이미지 버전 | 13 |
|
| AutomationController Pod의 nodeSelector | “”’’ |
|
| AutomationController Pod의 topologySpreadConstraints | “”’’ |
|
| AutomationController Pod의 톨러레이션 | “”’’ |
|
| AutomationController Pod의 주석 | “”’’ |
|
| Postgres Pod의 nodeSelector | “”’’ |
|
| Postgres Pod의 허용 오차 | “”’’ |
topology_spread_constraints 는 노드 선택기와 일치하는 컴퓨팅 노드에서 컨트롤 플레인 Pod 분배를 최적화하는 데 도움이 될 수 있습니다. 예를 들어 이 옵션의 maxSkew 매개변수를 100 으로 설정하면 사용 가능한 노드에 최대 분산됩니다. 따라서 일치하는 컴퓨팅 노드와 포드 3개가 있는 경우 각 계산 노드에 1개의 포드가 할당됩니다. 이 매개변수는 컨트롤 플레인 Pod가 서로 리소스를 위해 경쟁하지 못하도록 하는 데 도움이 됩니다.
특정 노드에 대한 constraining 컨트롤러 Pod의 사용자 정의 구성 예