반응형
DaemonSet Controller
- 노드당 pod가 한 개씩 실행되도록 보장.
- 로그 수입기, 모니터링 에이전트와 같은 프로그램 실행 시 적용
노드가 두 개일 때, daemon set으로 실행을 요청하면 노드당 pod 하나씩 생성하고, 노드가 새로 하나 더 추가로 생성되면 해당 노드에도 pod 하나가 동작되게 보장한다.
DaemonSet Definition
# Replicaset definition
apiVersion: apps/v1
kind: ReplicaSet
metadata:
name: rs-nginx
spec:
replicas: 3
selector:
matchLabels:
app: webui
template:
metadata:
name: nginx-pod
labels:
app: webui
spec:
containers:
- name: nginx-container
image: nginx:1.14
# DaemonSet definition
apiVersion: apps/v1
kind: DaemonSet
metadata:
name: ds-nginx
spec:
selector:
matchLabels:
app: webui
template:
metadata:
name: nginx-pod
labels:
app: webui
spec:
containers:
- name: nginx-container
image: nginx:1.14
Replicaset과 Daemonset의 definition을 비교하면 kind가 다르고 DaemonSet은 노드 당 하나의 파드를 보장하기 때문에 replicas 옵션이 없다.
!! 원래 실습하던 환경은 master + node 2개 였는데 있는 노드 2개 가지고 하나지우고 다시 연결할 수 있는데 강의에서 계속 노드 3개를 활용하길래 스냅샷을 이용해서 호다닥 가상머신을 다시 만들었다 !!
[실습]
마스터에 연결된 노드가 2개인 상태에서 시작
(master)
kubectl create -f ds-nginx.yaml
위를 입력하고 나면 pod가 두 개가 생긴다.
(node3)
node3로 이동해서 kubeadm join을 해준다.
kubeadm join 10.100.0.104:6443 --token g76fhu.xeeocufw45qtqq8e \
--discovery-token-ca-cert-hash sha256:3c9ac7adfa2f090e573dab16cb9f8b06d52d57af8d6b6ac8586c58880bc12a53\
--cri-socket unix:///var/run/cri-dockerd.sock
이렇게 하면 node3에 pod가 하나 더 생긴다
이것이 DaemonSetController
위 과정 녹화한 영상
Daemonset의 Rolling Update
데몬셋의 롤링업데이트는 edit을 통해서 config를 수정하여 이루어진다.
kubectl edit daemonsets.apps ds-nginx
- revisionHistoryLimit
과거 히스토리 몇 개까지 보장?'
image: nginx:1.14 → image: nginx:1.15 로 변경 후 저장하면 Rolling Update 가 이루어진다.
이후 describe를 통해 pod 정보를 확인해보면 1.15로 업데이트가 된 것을 찾아볼 수 있다.
Daemonset의 RollBack
rollback은 deploy 실습시 했던 방법과 유사하다!
kubectl rollout undo daemonset ds-nginx
반응형
'Kubernetes' 카테고리의 다른 글
[Kubernetes] Rolling Update를 위한 Deployment (0) | 2023.05.19 |
---|---|
livenessProbe : Self-healing Pod 만들기 (0) | 2023.05.17 |
[Kubernetes][따배쿠 6-2] ReplicaSet (0) | 2023.04.24 |
[Kubernetes] VM 쿠버네티스 실습환경 설정 - kubectl 설치 (0) | 2023.04.07 |
[Kubernetes][따배쿠 6-1] Controller - Replication Controller (0) | 2023.03.22 |