728x90
반응형
개요
k8s에서의 Deamon Sets이 무엇인지 그러고 어떻게 활용하는지 알아보겠습니다.
DaemonSet
Kubernetes에서 DaemonSet은 클러스터의 모든 Node 또는 일부 Node에 대해 하나의 Pod를 보장하는 역할을 합니다.
아래 그림을 보시면 Replicaset과 Deployments는 여러 개가 배포되는 것을 볼 수 있습니다.
그리고 신규 Node추가 시 자동으로 1개가 배포가 됩니다.
활용 방법
1. Monitoring Solution
2. Logs Viewer
실제 활용
1. kube-proxy가 DaemonSet로 배포가 됩니다.
2. CNI(Weabe-net)가 daemon sets로 배포가 됩니다.
DaemonSet Yaml 형식
DeamonSet은 ReplicaSet과 형태가 완전히 동일합니다.
다만 차이점은 kind 가 DeamonSet이라는 것 밖에 없습니다.
DaemonSet 쉽게 만들기
deployment를 dry-run으로 만든 다음 kind 변경과 strategy, replicas 제거를 해 주면 됩니다.
kubectl create deployment ds-test --image=nginx --dry-run=client -o yaml > ds-nginx.yaml
deployment
apiVersion: apps/v1
kind: Deployment # DaemonSet 으로 변경
metadata:
creationTimestamp: null
labels:
app: ds-test
name: ds-test
spec:
replicas: 1 #제거
selector:
matchLabels:
app: ds-test
strategy: {} #제거
template:
metadata:
creationTimestamp: null
labels:
app: ds-test
spec:
containers:
- image: nginx
name: nginx
resources: {}
status: {} #제거
DeamonSet
apiVersion: apps/v1
kind: DaemonSet
metadata:
creationTimestamp: null
labels:
app: ds-test
name: ds-test
spec:
selector:
matchLabels:
app: ds-test
template:
metadata:
creationTimestamp: null
labels:
app: ds-test
spec:
containers:
- image: nginx
name: nginx
resources: {}
DaemonSet 확인
전체 확인
#kubectl get daemonsets -A
개별 확인
#kubectl describe daemonsets calico-node -n kube-system
관련 Docs
https://kubernetes.io/docs/concepts/workloads/controllers/daemonset/
정리
daemonset은 node마다 오직 1개의 Pod를 무조건 배포하고 싶을때 사용 합니다.
Next Post
728x90
반응형
'Cloud > k8s-CKA' 카테고리의 다른 글
[CKA] 13. multiple scheduler (0) | 2023.03.06 |
---|---|
[CKA] 12. Static Pod (0) | 2023.03.05 |
[CKA] 10. Namespace resource 제어 방법 (0) | 2023.03.04 |
[CKA] 9. Pod resource 제어 방법 (0) | 2023.02.14 |
[CKA] 8. schedule (Node Selector, Node Affinity) (0) | 2023.02.11 |