쿠버네티스에서 DaemonSet은 클러스터의 모든 노드에 특정 Pod를 실행하도록 보장하는 역할을 합니다. 이는 로깅, 모니터링 등의 노드 수준의 기능을 구현하는 데 유용합니다.
다음은 myapp-ds
라는 이름의 DaemonSet를 생성하는 myapp-ds.yaml
파일입니다. 이 DaemonSet은 app
레이블의 값이 myapp-ds
인 Pod를 클러스터의 모든 노드에 배포하도록 설정되어 있습니다. 또한, nodeSelector
를 사용하여 node
레이블의 값이 development
인 노드에만 Pod를 배포하도록 설정되어 있습니다.
apiVersion: apps/v1
kind: DaemonSet
metadata:
name: myapp-ds
spec:
selector:
matchLabels:
app: myapp-ds
template:
metadata:
labels:
app: myapp-ds
spec:
nodeSelector:
node: development
containers:
- name: myapp
image: ghcr.io/c1t1d0s7/go-myweb:alpine
ports:
- containerPort: 8080
DaemonSet를 사용하면 클러스터의 모든 노드에 특정 Pod를 실행하도록 보장할 수 있습니다. 이는 로깅, 모니터링 등의 노드 수준의 기능을 구현하는 데 유용합니다.
DaemonSet을 생성하려면 다음 명령어를 사용합니다:
kubectl create -f myapp-ds.yaml
DaemonSet의 상태를 확인하려면 다음 명령어를 사용합니다:
kubectl get ds
DaemonSet에 의해 관리되는 Pod의 상태를 확인하려면 다음 명령어를 사용합니다:
kubectl get pods -l app=myapp-ds
마지막으로, DaemonSet을 삭제하려면 다음 명령어를 사용합니다:
kubectl delete ds myapp-ds
이렇게 DaemonSet을 사용하면 클러스터의 모든 노드에 특정 Pod를 실행하도록 보장할 수 있습니다. 이는 로깅, 모니터링 등의 노드 수준의 기능을 구현하는 데 유용합니다.
'Infra > Kubernetes' 카테고리의 다른 글
쿠버네티스 02-05 Controller_Cronjob (0) | 2023.09.06 |
---|---|
쿠버네티스 02-04 Controller_Job (0) | 2023.09.06 |
쿠버네티스 02-02 Controller_Replicaset (0) | 2023.09.06 |
쿠버네티스 02-01 Controller_Replication (0) | 2023.09.06 |
쿠버네티스 01-05 Pod_Lifecycle (0) | 2023.09.06 |