본문 바로가기
MLOps/Doker & Kubernetes

Udemy CKA 강의 정리 64. Taints and Tolerations vs Node Affinity

by 공부하는 무니 2023. 1. 9.
반응형

해당 내용은 Udemy의 Certified Kubernetes Administrator (CKA) with Practice Tests
강의를 공부한 내용입니다. 내용을 그대로 번역하기보다는, 제가 이해하기 쉬운 대로 수정한 부분들이 있습니다.

⚠️ 영어 독해가 많이 부족합니다. 틀린 내용이 있으면 알려주시면 감사하겠습니다.


taint, toleration 및 Node Affinity에 대해 배웠으므로 이번 강의에서 재미있는 연습을 통해 두 개념을 함께 연결해 보겠습니다.
파란색, 빨간색 및 녹색의 세 가지 색상으로 각각 3개의 노드와 3개의 파드가 있습니다.
궁극적인 목표는 파란색 파드를 파란색 노드에, 빨간색 파드를 빨간색 노드에, 마찬가지로 녹색 파드를 녹색 노드에 배치하는 것입니다.
모두 동일한 Kubernetes 클러스터 안에 있습니다. 우리는 노드에 다른 색의 파드가 배치되는 것도, 파드가 다른 색의 노드에 배치되는 것도 원하지 않습니다.

Taint and Toleration

먼저 taint 및 toleration을 사용하여 이 문제를 해결해 보겠습니다.
파란색, 빨간색, 녹색으로 노드에 taint를 적용한 다음,  각 색상을 허용하도록 pod에 toleration을 설정합니다. 이제 파드가 생성되면 노드는 올바른 toleration을 가진 파드만 수용할 수 있습니다. 따라서 녹색 파드는 녹색 노드로, 파란색 파드는 파란색 노드로 가게 됩니다.
그러나 taint 및 toleration은 파드가 같은 색 노드만 선호한다고 보장하지 않습니다.
따라서 빨간색 파드는 taint 또는 toleration 세트가 없는 다른 노드 중 하나에서 끝날 수 있습니다. 이것은 우리가 원하는 것이 아닙니다.

Node Affinity

Node Affinity를 사용하여 동일한 문제를 해결해 보겠습니다. Node Affinity를 사용하여 먼저 해당 색상(파란색, 빨간색 및 녹색)으로 노드에 레이블을 지정합니다. 그런 다음 파드에 Node Selector를 설정하여 파드를 노드에 연결합니다.
이렇게 하면 파드는 올바른 노드로 가게 됩니다. 그러나 다른 파드가 색이 있는 노드에 배치되지 않는다는 보장은 없습니다. 이 경우 다른 파드 중 하나가 우리 노드에 있을 가능성이 있습니다. 이것 또한 우리가 바라는 것이 아닙니다.

Taints/Tolerations and Node Affinity

따라서 taint, toleration 및 Node Affinity 규칙의 조합을 함께 사용하여 특정 파드에 대한 노드를 완전히 전용으로 설정할 수 있습니다.
먼저 taint 및 toleration을 사용하여 다른 파드가 노드에 배치되지 않도록 한 다음, Node Affinity를 사용하여 파드가 다른 노드에 배치되지 않도록 합니다.

반응형

댓글