이세개발
article thumbnail

쿠버네티스에서 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를 실행하도록 보장할 수 있습니다. 이는 로깅, 모니터링 등의 노드 수준의 기능을 구현하는 데 유용합니다.

profile

이세개발

@print(name)

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!