kubernetes 데몬셋
26 Apr 2019
- 데몬셋에 의해 만들어진 포드는 이미 대상 노드가 지정됩니다.
- 쿠버네티스 스케줄러를 건너뜁니다.
- 노드가 있는 수만큼 포드를 생성하고 노드 각각에 포드를 하나씩 배포합니다.
- 노드가 다운돼도 데몬셋은 어느 곳에서도 포드를 생성하지 않습니다. 새 노드가 클러스터에 추가되면 데몬셋은 즉시 새 포드 인스턴스를 배포합니다.
데몬셋 yaml 파일
# ssd-monitor-daemonset.yaml
apiVersion: apps/v1
kind: DaemonSet
metadata:
name: ssd-monitor
spec:
selector:
matchLabels:
app: ssd-monitor
template:
metadata:
labels:
app: ssd-monitor
spec:
nodeSelector:
disk: ssd # 포드 템플릿은 disk=ssd 라벨이 있는 노드를 선택하는 노드 셀렉터가 포함돼 있다.
containers:
- name: main
image: luksa/ssd-monitor
데몬셋 생성
kubectl create -f ssd-monitor-daemonset.yaml
kubectl label node minikube disk=ssd # 기존의 node의 라벨 변경