16.11.4. Pod에 허용 오차 추가


Pod에 허용 오차를 추가하려면 tolerations 섹션을 포함하도록 Pod 사양을 편집합니다.

Equal 연산자가 있는 Pod 구성 파일의 예

tolerations:
- key: "key1" 1
  operator: "Equal" 2
  value: "value1" 3
  effect: "NoExecute" 4
  tolerationSeconds: 3600 5

1 2 3 4
테인트 및 허용 오차 구성 요소 테이블에 설명된 허용 오차 매개변수입니다.
5
tolerationSeconds 매개변수를 지정하여 pod가 제거되기 전까지 노드에 바인딩되는 시간을 설정합니다. 아래에서 허용 초를 사용하여 Pod 제거를 지연하는 것을 참조하십시오.

Exists 연산자가 있는 pod 구성 파일의 예

tolerations:
- key: "key1"
  operator: "Exists"
  effect: "NoExecute"
  tolerationSeconds: 3600

이러한 톨러레이션은 위의 oc adm taint 명령으로 생성된 테인트 와 일치합니다. 톨러레이션이 있는 pod는 node1에 스케줄링할 수 있습니다.

16.11.4.1. 허용 오차를 사용하여 Pod 제거 지연

Pod 사양에 tolerationSeconds 매개변수를 지정하여 Pod가 제거되기 전에 노드에 바인딩되는 시간을 지정할 수 있습니다. NoExecute 효과가 있는 테인트가 노드에 추가되면 테인트를 허용하지 않는 모든 Pod가 즉시 제거됩니다(Taint를 허용하는 Pod는 제거되지 않음). 그러나 제거할 Pod에 tolerationSeconds 매개변수가 있는 경우 해당 기간이 만료될 때까지 Pod가 제거되지 않습니다.

예를 들면 다음과 같습니다.

tolerations:
- key: "key1"
  operator: "Equal"
  value: "value1"
  effect: "NoExecute"
  tolerationSeconds: 3600

여기에서이 pod가 실행 중이지만 일치하는 테인트가 없는 경우 pod는 3,600 초 동안 노드에 바인딩된 후 제거됩니다. 이 시간 이전에 테인트가 제거되면 pod가 제거되지 않습니다.

16.11.4.1.1. 허용 오차 초의 기본값 설정

이 플러그인은 5분 동안 node.kubernetes. io/not-ready:NoExecute 및 node.kubernetes.io/unreachable:NoExecute 테인트를 허용하도록 Pod의 기본 허용 허용 오차를 설정합니다.

사용자가 제공하는 Pod 구성에 허용 오차가 이미 있는 경우 기본값은 추가되지 않습니다.

기본 허용 오차를 활성화하려면 다음을 수행합니다.

  1. 마스터 구성 파일(/etc/origin/master/master-config.yaml)을 admissionConfig 섹션에 DefaultTolerationSeconds 추가로 수정합니다.

    admissionConfig:
      pluginConfig:
        DefaultTolerationSeconds:
          configuration:
            kind: DefaultAdmissionConfig
            apiVersion: v1
            disable: false
  2. 변경 사항을 적용하려면 OpenShift를 다시 시작하십시오.

    # master-restart api
    # master-restart controllers
  3. 기본값이 추가되었는지 확인합니다.

    1. Pod를 생성합니다.

      $ oc create -f </path/to/file>

      예를 들면 다음과 같습니다.

      $ oc create -f hello-pod.yaml
      pod "hello-pod" created
    2. Pod 허용 오차를 확인합니다.

      $ oc describe pod <pod-name> |grep -i toleration

      예를 들면 다음과 같습니다.

      $ oc describe pod hello-pod |grep -i toleration
      Tolerations:    node.kubernetes.io/not-ready=:Exists:NoExecute for 300s
Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

© 2024 Red Hat, Inc.