목차
DaemonSets
DaemonSets는 Pod의 Replica를 클러스터 내 모든 Node에 항상 존재하게 한다.
•
클러스터에 새 노드가 추가되면 Pod 복제본이 자동으로 해당 노드에 추가된다
•
마찬가지로 노드가 제거되면 Pod도 같이 제거된다
UseCase
모든 노드에서 실행되어야 하는 요소들을 DaemonSet으로 구성하여 클러스터 변화에 따라 사용자의 작업이 따로 이뤄지지 않도록 한다.
•
Monitoring Agent
•
Logs Viewer
•
kube-proxy
•
Networking
◦
vivenet
Definition File
•
Replicaset과 정의 파일이 유사함
# daemon-set-definition.yaml
apiVersion: apps/v1
kind: DaemonSet
metadata:
name: monitoring-daemon
spec:
selector:
matchLabels:
app: monitoring-agent
template:
metadata:
labels:
app: monitoring-agent
spec:
containers:
- name: monitoring-agent
iamge: monitoring-agent
YAML
복사
How does it work
~ v1.12
kubernetes v1.12 까지는 각 Pod에서는 spec에 nodeName 속성을 가져 DamonSet을 동작했다
v1.12 ~
kubernetes v1.12 부터는 Default Scheduler와 Node Affinity를 사용하여 Pod를 각 노드에 스케줄링한다.