검색

3장. 전용 노드 지정

download PDF

Kubernetes 클러스터는 많은 가상 머신 또는 노드(일반적으로 2~20개 노드)에서 실행됩니다. Pod는 이러한 노드에서 예약할 수 있습니다. 새 Pod를 생성하거나 예약할 때 topology_spread_constraints 설정을 사용하여 예약 또는 생성될 때 새 Pod가 기본 노드에 배포되는 방법을 구성합니다.

해당 노드가 실패하면 해당 Pod에서 제공하는 서비스도 실패하므로 단일 노드에 Pod를 예약하지 마십시오.

자동화 작업 Pod에 대해 다른 노드에서 실행되도록 컨트롤 플레인 노드를 예약합니다. 컨트롤 플레인 Pod가 작업 Pod와 노드를 공유하는 경우 컨트롤 플레인이 리소스가 부족하여 전체 애플리케이션의 성능이 저하될 수 있습니다.

3.1. 특정 노드에 Pod 할당

Operator에서 생성한 자동화 컨트롤러 Pod를 특정 노드 하위 집합에서 실행하도록 제한할 수 있습니다.

  • node_selectorpostgres_selector 는 지정된 모든 키 또는 값, 쌍과 일치하는 노드에서만 실행되도록 자동화 컨트롤러 Pod를 제한합니다.
  • 허용 오차postgres_tolerations 를 사용하면 자동화 컨트롤러 Pod를 일치하는 테인트가 있는 노드에 예약할 수 있습니다. 자세한 내용은 Kubernetes 문서 의 테인트 및 허용 오차를 참조하십시오.

다음 표는 YAML의 자동화 컨트롤러 사양 섹션에 설정할 수 있는 설정 및 필드(또는 OpenShift UI 양식 사용)를 보여줍니다.

이름설명Default

postgres_image

가져올 이미지의 경로

Postgres

postgres_image_version

가져올 이미지 버전

13

node_selector

AutomationController Pod의 nodeSelector

“”’’

topology_spread_constraints

AutomationController Pod의 topologySpreadConstraints

“”’’

허용 오차

AutomationController Pod의 허용 오차

“”’’

annotations

AutomationController Pod의 주석

“”’’

postgres_selector

Postgres Pod의 nodeSelector

“”’’

postgres_tolerations

Postgres Pod의 허용 오차

“”’’

topology_spread_constraints 를 사용하면 노드 선택기와 일치하는 컴퓨팅 노드에서 컨트롤 플레인 Pod를 분배하는 데 도움이 될 수 있습니다. 예를 들어 이 옵션의 maxSkew 매개변수가 100 으로 설정된 경우 사용 가능한 노드에 최대 분배를 의미합니다. 따라서 일치하는 컴퓨팅 노드와 세 개의 포드가 있는 경우 하나의 포드가 각 계산 노드에 할당됩니다. 이 매개변수를 사용하면 컨트롤 플레인 Pod가 서로 리소스에 대해 경쟁하지 못하도록 합니다.

컨트롤러 Pod를 특정 노드로 제한하는 사용자 정의 구성의 예

spec:
  ...
  node_selector: |
    disktype: ssd
    kubernetes.io/arch: amd64
    kubernetes.io/os: linux
  topology_spread_constraints: |
    - maxSkew: 100
      topologyKey: "topology.kubernetes.io/zone"
      whenUnsatisfiable: "ScheduleAnyway"
      labelSelector:
        matchLabels:
          app.kubernetes.io/name: "<resourcename>"
  tolerations: |
    - key: "dedicated"
      operator: "Equal"
      value: "AutomationController"
      effect: "NoSchedule"
  postgres_selector: |
    disktype: ssd
    kubernetes.io/arch: amd64
    kubernetes.io/os: linux
  postgres_tolerations: |
    - key: "dedicated"
      operator: "Equal"
      value: "AutomationController"
      effect: "NoSchedule"

Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

© 2024 Red Hat, Inc.