Section 3-4. DemonSets
udemy의 Certified Kubernetes Administrator (CKA) with Practice Tests 강의 및 쿠버네티스 인 액션 (마르코 룩샤)를 참고하여 정리한 글입니다.
Section03. Scheduling
DemonSets
- DemonSet은 모든(또는 일부) 노드가 파드를 실행하도록 한다.
- 만약
.spec.template.spec.nodeSelector
를 명시하면 DemonSet 컨트롤러는 노드 셀렉터와 일치하는 노드에 파드를 생성한다. - 마찬가지로
.spec.template.spec.affinity
를 명시하면 DemonSet 컨트롤러는 노드 어피니티와 일치하는 노드에 파드를 생성한다. - 만약 둘 중 하나를 명시하지 않으면 DemonSet 컨트롤러는 모든 노드에서 파드를 생성한다.
- 만약
- 노드가 클러스터에 추가되면 파드가 추가되고 노드가 클러스터에서 제거되면 해당 파드도 제거된다.
DemonSet의 용도
- 모든 노드에서 클러스터 스토리지 데몬 실행할 때 사용할 수 있다.
- 모든 노드에서 로그 수집 데몬 실행할 때 사용할 수 있다.
- 모든 노드에서 노드 모니터링 데몬 실행할 때 사용할 수 있다.
예시
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
apiVersion: apps/v1
kind: DaemonSet
metadata:
name: monitoring-demon
spec:
selector:
matchLabels:
name: monitoring-agent
template:
metadata:
labels:
name: monitoring-agent
spec:
containers:
- name: monitoring-agent
image: monitoring-agent
This post is licensed under CC BY 4.0 by the author.