kubernetes daemonset controller
데몬셋 컨트롤러는 노드당 1개씩의 pod를 보장해준다.
특정 node에만 pod보장도 가능하다.
로그수집,모니터링 같은 항상실행 시켜두어야 하는 POD에 적용된다.
데몬셋 예제
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 |