๐ Kubernetes DaemonSet
1. DaemonSet ๊ฐ๋
- ReplicaSet: ์ฌ๋ฌ ๋ณต์ ๋ณธ์ ์ํ๋ ๋งํผ ์์ฑ โ ํน์ ๊ฐ์ ๋ณด์ฅ
- DaemonSet: ํด๋ฌ์คํฐ์ ๋ชจ๋ ๋
ธ๋๋ง๋ค ์ ํํ 1๊ฐ์ Pod ์คํ
- ์ ๋
ธ๋ ์ถ๊ฐ ์ โ ์๋์ผ๋ก Pod ์์ฑ
- ๋
ธ๋ ์ ๊ฑฐ ์ โ ์๋์ผ๋ก Pod ์ญ์
- ์ฆ, ํด๋ฌ์คํฐ ์ ์ฒด ๋
ธ๋์ ํ๋์ฉ Pod๋ฅผ ๋ฐฐํฌํ๋ ์ญํ
2. DaemonSet์ ํ์ฉ ์ฌ๋ก
- ๋ชจ๋ํฐ๋ง ์์ด์ ํธ (์: Prometheus Node Exporter, Datadog Agent)
- ๋ก๊ทธ ์์ง๊ธฐ (์: Fluentd, Filebeat, Logstash agent)
- kube-proxy: ๋ชจ๋ ๋
ธ๋์์ ์คํ๋์ด์ผ ํ๋ ํต์ฌ ์ปดํฌ๋ํธ
- CNI(Networking) ํ๋ฌ๊ทธ์ธ ์์ด์ ํธ
- ์: Calico, Weave Net โ ๋คํธ์ํฌ ๊ด๋ฆฌ ์ํด ๊ฐ ๋
ธ๋์ Pod ํ์
3. DaemonSet ๋์ ๋ฐฉ์
- ์ ๋ฐฉ์ (Kubernetes 1.12 ์ด์ )
- Pod ์คํ์
nodeName ์ง์ ์ง์ โ ํด๋น ๋
ธ๋์ ๊ฐ์ ๋ก ๋ฐฐ์น
- ํ์ฌ ๋ฐฉ์ (Kubernetes 1.12 ์ดํ)
- ๊ธฐ๋ณธ ์ค์ผ์ค๋ฌ + Node Affinity ๊ท์น์ ํ์ฉํ์ฌ Pod๋ฅผ ๋ฐฐ์น
- ์ค์ผ์ค๋ฌ๊ฐ ๊ฐ ๋
ธ๋์ DaemonSet Pod๋ฅผ ํ๋์ฉ ์ค์ผ์ค๋ง
4. DaemonSet ์ ์ ํ์ผ ๊ตฌ์กฐ
ReplicaSet๊ณผ ๊ฑฐ์ ๋์ผํ๋, kind๋ง ๋ค๋ฆ:
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
image: monitoring-agent:latest