콤퓨우터/필기: KodeKloud CKA 강의

71. DaemonSet

파란화면 2024. 5. 17. 00:19
반응형

하나의 Pod가 모든 노드에서 하나씩 Replicate되도록 해 줌

  • 새 Node가 추가되면 자동으로 Pod의 Replica가 해당 노드에 추가됨
  • 새 노드가 삭제되면 자동으로 Pod도 삭제됨
  • 로그 뷰어라든지, 모니터링 agent 같은 데에 쓰면 좋다

클러스터의 모든 Worker Node에는 Kube-Proxy가 존재

  • 사실 이것도 DaemonSet로 Replicated된 거거든요

생성방법

생긴 것은 ReplicaSet과 비슷하다

apiVersion: apps/v1  // apps/v1임에 주의
kind: DaemonSet
metadata:
  name: monitoring-daemon
spec: 
  template:
    metadata:
      labels:
        app: monitoring-agent
    spec:
      containers:
        - name: monitoring-agent
          image: monitoring-agent
  selector:
    matchLabels:
      type: monitoring-agent

생성법 확인법 모두 일반적인 쿠버 오브젝트랑 똑같다
(kubectl create -f asdf.yml, kubectl get daemonset, ...)

이게 어떻게 구현되어 있는가

  • 1.12버전 이전까지는, 그냥 nodeName이 없는 Pod형태로 만들어서 스케줄러의 작동을 회피하고, Pod을 수동으로 배치했다
  • 최신 버전에서는, Affinity Rule을 사용하여 구현하고 있다
반응형