Cloud/k8s-CKA

[CKA] 11. DaemonSet

jinkwon.kim 2023. 3. 4. 09:05
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

A DaemonSet ensures that all (or some) Nodes run a copy of a Pod. As nodes are added to the cluster, Pods are added to them. As nodes are removed from the cluster, those Pods are garbage collected. Deleting a DaemonSet will clean up the Pods it created. So

kubernetes.io

정리

daemonset은 node마다 오직 1개의 Pod를 무조건 배포하고 싶을때 사용 합니다. 

Next Post

[CKA] 12. Static Pod

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