반응형
쿠버네티스(Kubernetes)에서 taint는 노드에 적용되어 해당 노드에 파드가 스케줄될 수 있는지 여부를 결정하는 메커니즘입니다. taint를 사용하면 특정 노드에 파드가 할당되는 것을 제어할 수 있으며, 이는 노드에 '오염'을 추가하는 것과 유사합니다. 파드가 특정 노드에 스케줄되기 위해서는 그 노드의 taint에 맞는 'toleration'을 가지고 있어야 합니다.
Taint와 Toleration
- Taint: 노드에 적용되어, 특정 조건을 만족하지 않는 파드의 스케줄링을 방지합니다.
- Toleration: 파드에 적용되어, 특정 taint를 용인할 수 있음을 나타냅니다. toleration을 가진 파드는 해당 taint가 있는 노드에 스케줄될 수 있습니다.
Taint의 구성 요소
- Key: taint의 이름을 식별하는 키입니다.
- Value: taint에 할당된 값입니다.
- Effect: taint가 파드에 미치는 영향을 정의합니다. 일반적인 영향은 다음과 같습니다:
- NoSchedule: 이 taint가 있는 노드에는 toleration이 없는 파드가 스케줄되지 않습니다.
- PreferNoSchedule: 쿠버네티스 시스템은 가능한 한 이 taint가 있는 노드에 toleration이 없는 파드를 스케줄하지 않으려고 시도합니다.
- NoExecute: 이 taint가 있는 노드에서 toleration이 없는 파드는 즉시 종료되며, 새로운 파드는 스케줄되지 않습니다.
사용 케이스
- 특정 노드에 파드 스케줄링 제한: 예를 들어, 특정 작업에 적합한 높은 사양의 노드나 특수한 하드웨어를 가진 노드에만 일부 파드가 스케줄되도록 하고 싶을 때 사용합니다.
- 노드 보호: 시스템이나 관리 목적의 노드를 일반 파드가 사용하지 못하도록 보호할 때 사용합니다.
taint와 toleration은 쿠버네티스 클러스터에서 파드가 특정 노드에 배포되는 방식을 세밀하게 제어할 수 있는 강력한 도구입니다.
반응형
'Certificated 도전 > CKA - Kubernetes' 카테고리의 다른 글
[CKA] ClusterRole과 Role 차이 (2) | 2023.12.04 |
---|---|
[CKA] Role , RoleBinding 이해하기 - 단골 문제 (1) | 2023.12.04 |
[CKA] 무조건 나온다는 문제! Drain, Cordon, Uncordon (2) | 2023.12.03 |
[CKA] ETCD 백업 관련 문제 출제시 이렇게만 하세요 (etcdctl) (1) | 2023.11.27 |
[CKA] label, selector 를 활용하는 방법 (0) | 2023.03.06 |