최대 1 분 소요

DaemonSet

  • 전체 노드에서 Pod가 한 개씩 실행되도록 보장 (노드당 한개씩)

  • 로그 수집기, 모니터링 에이전트와 같은 프로그램 실행시 적용

Deployment definition과 비교

  • Deployment
apiVersion: apps/v1
kind: Deployment
metadata:
  name: nginx-deployment
  labels:
    app: nginx
spec:
  replicas: 3
  selector:
    matchLabels:
      app: nginx
  template:
    metadata:
      labels:
        app: nginx
    spec:
      containers:
      - name: nginx
        image: nginx:1.14.2
        ports:
        - containerPort: 80
  • DaemonSet
apiVersion: apps/v1
kind: DaemonSet
metadata:
  name: nginx-deployment
  labels:
    app: nginx
spec:  # replicas 지정 없음

  selector:
    matchLabels:
      app: nginx
  template:
    metadata:
      labels:
        app: nginx
    spec:
      containers:
      - name: nginx
        image: nginx:1.14.2
        ports:
        - containerPort: 80

rolling update

  • kubectl edit daemonset.apps {daemonset이름} vim editor에서 이미지 버전을 바꿔주면 자동으로 업데이트 진행됌
  • kubectl rollout undo daemonset {daemonset이름} 으로 roll back도 가능

댓글남기기