노드 풀 선택

노드 풀 선택

노드 풀이 많은 Kubernetes 클러스터가 있습니다. Kubernetes가 선택한 노드 풀에 사용 가능한 리소스가 부족하여 배포가 실패하는 경우가 있습니다.

전체 포드 세트가 요청한 리소스 양으로 Kubernetes가 노드 풀을 선택하도록 강제하는 방법이 있나요?

답변1

특정 노드 집합에서만 실행될 수 있도록 포드를 제한할 수 있습니다. 이를 수행하는 방법에는 여러 가지가 있으며 권장되는 접근 방식은 레이블 선택기를 사용하는 것입니다.

다음 방법 중 하나를 사용하여 Kubernetes가 특정 Pod를 예약하는 위치를 선택할 수 있습니다.

  • 노드선택기필드 매칭노드 레이블

  • 선호도 및 반친화도

  • nodeName 필드

노드 선택기Pod에 지정된 노드 및 선택기의 사용자 지정 레이블을 사용하여 정의된 키/값 쌍의 맵을 지정합니다.

Pod가 노드에서 실행될 수 있으려면 Pod에 노드의 레이블과 동일한 키/값 노드 선택기가 있어야 합니다.

참고: 기존 예약된 포드에 노드 선택기를 직접 추가할 수 없습니다.

nodeSelector는 포드를 특정 라벨이 있는 노드로 제한하는 가장 간단한 방법이지만선호도 및 반친화도정의할 수 있는 제약 조건 유형을 확장합니다. 선호도 기능은 두 가지 유형의 선호도로 구성됩니다.

  • 노드 선호도는 nodeSelector 필드와 유사하게 작동하지만 더 표현력이 뛰어나고 소프트 규칙을 지정할 수 있습니다.
  • 포드 간 어피니티/안티어피니티를 사용하면 다른 포드의 라벨에 대해 포드를 제한할 수 있습니다.

노드 이름의 경우 다음을 수행할 수 있습니다.나타내다자세한 내용은 링크를 참조하세요.

노드 친화력은 포드를 노드 집합으로 끌어들이는 포드의 속성이며, 노드 선택기는 포드를 제한하는 데 사용됩니다. 그래서, 당신은 사용할 수 있습니다오염과 관용.

Taint는 노드가 Pod 세트를 밀어낼 수 있다는 점에서 반대입니다. Toleration은 Pod에 적용되며 Pod가 일치하는 taint가 있는 노드에 예약할 수 있도록 합니다. Taint와 toleration은 함께 작동하여 Pod가 부적절한 노드에 예약되지 않도록 합니다. 하나 이상의 오염이 노드에 적용됩니다. 이는 노드가 오염을 허용하지 않는 모든 포드를 거부해야 함을 나타냅니다.

당신은연결자세한 내용은오염과 관용.

관련 정보