4-5. 간단히 알아보는 DaemonSet 개념

황인권·2025년 2월 19일

Kubernetes

목록 보기
30/37

kube-prometheus-stack에서 Node의 지표를 수집하는 원리

  • kube-prometheus-stack를 설치하면, Node 별로 상세한 지표를 수집한다는 것을 알 수 있다. 이것이 어떻게 가능한가?
    • kube-prometheus-stack는 내부적으로 DaemonSet이라는 오브젝트를 이용하여 이러한 행위가 가능하다.
    • DaemonSet이란? 특정 Pod를 Node 별로 실행시킬 수 있다.
      • ReplicaSet은 어떤 Node에서 실행시킬지 Node 별 자원 사용량에 따라 달라지지만, DaemonSet은 각 Node 별로 지정한 개수의 Pod를 강제로 실행시킨다는 점이 다르다.

설정된 DaemonSet 확인하기

  • 다른 오브젝트와 마찬가지로, kubectl get 명령어를 사용하여 DaemonSet의 현황을 조회할 수 있다.

과제 안내

  • Helm을 통해 만들었던 nginx-app-deployment의 replica 개수를 5개로 변경
  • Grafana를 통해 nginx-app-deployment로 관리되고 있는 Pod가 차지하는 Memory 용량의 총합을 조회해보자.

과제 해설

helm upgrade 명령어를 통한 릴리즈 수정

  1. values.yaml 파일의 내용 중 replicaCount를 5로 수정
# values.yaml
appName: "nginx-app"
replicaCount: 5
image: "nginx:1.27.0"
appPort: 80
  1. helm upgrade 명령어를 통해 수정한 values.yaml 파일 적용
helm upgrade sparta-nginx-app ./sparta -n sparta
  1. kubectl get pods 명령어를 통해 Replica의 개수가 잘 늘어났나 확인

Grafana로 Deployment가 차지하는 자원 조회하기

  1. Grafana에 설정된 대시보드 중, Kubernetes / Compute Resources / Namespace (Workloads) 대시보드에 접속.
  • 해당 대시보드에서는 Namespace 별 리소스를 Workload(Deployment, StatefulSet 등) 단위로 묶어서 볼 수 있다.

  1. 상단의 Namespace를 sparta 등 적정한 네임스페이스로 선택
  1. 화면을 내려서 Memory Usage 항목을 보면, Deploymnet 별로 메모리 사용량을 확인할 수 있다.
profile
inkwon Hwang

0개의 댓글