본문 바로가기

IT Study/Kubernetes

kubernetes daemonset controller

kubernetes daemonset controller

데몬셋 컨트롤러는 노드당 1개씩의 pod를 보장해준다.

특정 node에만 pod보장도 가능하다.

로그수집,모니터링 같은 항상실행 시켜두어야 하는 POD에 적용된다.

 

 

https://ithelp.ithome.com.tw/m/articles/10246153

 

 

데몬셋 예제

 

apiVersion: apps/v1
kind: DaemonSet
metadata:
  name: nginx-daemonset
spec:
  selector:
    matchLabels:
      app: web
      version: "1.14"

  template:
    metadata:
      labels:
        app: nginx
        version: "1.14"
    spec:
      containers:
        - name: nginx
          image: nginx:1.14

      nodeSelector:

          node: daemon

 

 

rolling update / rolling back 설정

업데이트

#kubectl set image daemonset <daemonset명> <container명>=<버전이미지>

롤백

#kubectl rollout undo deploy [daemonset명]  : 롤백 명령어로 history기준 바로 전단계로 롤백

#kubectl rollout undo deploy [daemonset명] --to-revision=[숫자] : history기준의 REVISION 넘버의 버전으로 롤백

 

데몬셋 상태확인

#kubectl get ds[or daemonset] -o wide

 

데몬셋을 특정노드에만 지정

설정

#kubectl label nodes <node명> <key=value>

확인

#kubectl get nodes <node명>  --show-labels

 

yaml에서 nodeSelector를 정의해주면 지정된 노드에서만 데몬셋이 실행가능하다.

 

'IT Study > Kubernetes' 카테고리의 다른 글

kubernetes statefulset  (0) 2023.01.29
kubernetes deploymemt rollingupdate  (0) 2023.01.19
kubernetes replicaset controller  (0) 2023.01.18
kubernetes ReplicationController  (0) 2023.01.17
kubernetes controller  (0) 2023.01.17