Post

Section 3-4. DemonSets

udemy의 Certified Kubernetes Administrator (CKA) with Practice Tests 강의 및 쿠버네티스 인 액션 (마르코 룩샤)를 참고하여 정리한 글입니다.

Section03. Scheduling

DemonSets

  • DemonSet은 모든(또는 일부) 노드가 파드를 실행하도록 한다.
    • 만약 .spec.template.spec.nodeSelector 를 명시하면 DemonSet 컨트롤러는 노드 셀렉터와 일치하는 노드에 파드를 생성한다.
    • 마찬가지로 .spec.template.spec.affinity 를 명시하면 DemonSet 컨트롤러는 노드 어피니티와 일치하는 노드에 파드를 생성한다.
    • 만약 둘 중 하나를 명시하지 않으면 DemonSet 컨트롤러는 모든 노드에서 파드를 생성한다.
  • 노드가 클러스터에 추가되면 파드가 추가되고 노드가 클러스터에서 제거되면 해당 파드도 제거된다.

DemonSet의 용도

  • 모든 노드에서 클러스터 스토리지 데몬 실행할 때 사용할 수 있다.
  • 모든 노드에서 로그 수집 데몬 실행할 때 사용할 수 있다.
  • 모든 노드에서 노드 모니터링 데몬 실행할 때 사용할 수 있다.

예시

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
apiVersion: apps/v1
kind: DaemonSet
metadata:
  name: monitoring-demon
spec:
  selector:
    matchLabels:
      name: monitoring-agent
  template:
    metadata:
      labels:
        name: monitoring-agent
    spec:
      containers:
      - name: monitoring-agent
        image: monitoring-agent
This post is licensed under CC BY 4.0 by the author.