k8s cluster 전체 노드에 특정 Pod를 실행시키고자 할 때 사용한다. 로그 수집, 모니터링과 같이 항상 실행해 두어야 하는 Pod를 생성할 때 사용한다.
Sample YAML
apiVersion: apps/v1
kind: DaemonSet
metadata:
name: fluentd-elasticsearch
namespace: kube-system
labels:
k8s-app: fluentd-logging
spec:
selector:
matchLabels:
name: fluentd-elasticsearch
updateStrategy:
type: RollingUpdate # roller update, on delte 중 선택
template:
metadata:
labels:
name: fluentd-elasticsearch
spec:
containers:
- name: fluentd-elasticsearch
image: fluent/fluentd-kubernetes-daemonset:elasticsearch
env:
- name: testenv
value: value
resources:
limits:
memory: 200Mi
requests:
cpu: 100m
memory: 200Mi
클러스터에서 기본적으로 배포하는 DaemonSet
- DaemonSet 리스트 출력
k get daemonset -A
NAMESPACE NAME DESIRED CURRENT READY UP-TO-DATE AVAILABLE NODE SELECTOR AGE
kube-system calico-node 5 5 5 5 5 kubernetes.io/os=linux 5d14h
kube-system kube-proxy 5 5 5 5 5 kubernetes.io/os=linux 5d14h
kube-system nodelocaldns 5 5 5 5 5 kubernetes.io/os=linux 5d14h
- DaemonSet이 각 노드에 1개씩 배포되어 있는지 확인
k get po -l k8s-app=node-local-dns -A -o wide
NAMESPACE NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES
kube-system nodelocaldns-4mzb4 1/1 Running 1 (2d21h ago) 5d14h 10.0.41.217 worker2 <none> <none>
kube-system nodelocaldns-92n8w 1/1 Running 1 (2d21h ago) 5d14h 10.0.40.212 worker1 <none> <none>
kube-system nodelocaldns-bwcck 1/1 Running 1 (2d21h ago) 5d14h 10.0.40.62 master1 <none> <none>
kube-system nodelocaldns-t26wm 1/1 Running 5 (2d21h ago) 5d14h 10.0.41.166 master2 <none> <none>
kube-system nodelocaldns-v9ccm 1/1 Running 1 (2d21h ago) 5d14h 10.0.40.179 master3 <none> <none>
'Infrastructure & Systems > Kubernetes' 카테고리의 다른 글
[Kubernetes] Secret 이용 Private Registry 인증정보 설정 (0) | 2025.04.02 |
---|---|
[Kubernetes] Kubespray로 k8s 설치 (0) | 2025.03.31 |
[Kubernetes] StatefulSets and PersistentVolume YAML Sample (0) | 2025.03.24 |
[Kubernetes] Deployments YAML Sample (0) | 2025.03.24 |
[Kubernetes] Multi-Cluster 환경에서 kubectl (0) | 2024.11.29 |