728x90
📌 DaemonSet
- 모든 노드에 특정 파드를 배포하고 관리하는 컨트롤러이다.
- 레플리카셋과 비슷한데 모든 노드에서 특정 작업이 실행될 수 있도록 하기위해 사용한다.
- 예를 들어, 모든 노드에서 로그 수집을 위한 파드를 실행하거나, 모든 노드에서 특정 네트워크 프록시를 실행할 수 있다.
- 노드가 추가되거나 제거될 때 자동으로 파드를 생성하거나 삭제하여 노드의 상태 변화에 따라 자동으로 관리할 수 있다.
- 각 노드의 정보를 수집하거나 노드마다 필수적으로 실행되어야 하는 파드를 배포 관리한다.
- ReplicaSet과 유사한 방식으로 동작한다.
- ReplicaSet은 파드 수를 정적으로 지정하지만, DaemonSet은 노드 수에 따라 파드 수가 동적으로 조절된다.
- 노드가 3개면 파드도 각 노드마다 하나씩 총 3개
- 또한, 노드 선택 기준을 지정하여 특정 노드에만 파드를 배포하는 것도 가능하다.
- ReplicaSet은 파드 수를 정적으로 지정하지만, DaemonSet은 노드 수에 따라 파드 수가 동적으로 조절된다.
📌 Static Pod
- 쿠버네티스 클러스터 내에서 직접 실행되는 파드이다.
- kubelet이라는 에이전트 프로세스가 노드에서 직접 관리하며 쿠버네티스 API 서버와는 독립적으로 실행된다.
- 일반적으로 노드에서 실행되는 시스템 데몬이나 로그 수집기와 같은 작업을 수행하기 위해 사용된다.
- Static Pod는 각 노드의 kubelet이 자동으로 생성하며 kubelet이 시작될 때 특정 디렉터리에 있는 YAML 파일을 읽어 파드를 실행한다.
- 이를 통해 쿠버네티스 API 서버와 통신하지 않고도 노드에서 파드를 실행할 수 있다.
- 또한, Static Pod는 DaemonSet과 달리 노드에서만 실행되므로 노드가 다운되거나 교체되어도 자동으로 파드가 재시작된다.
🤔 DaemonSet과 Static Pod의 차이점
배포 대상
- DaemonSet은 모든 노드에 특정 파드를 배포하고 관리하는 컨트롤러이며 Static Pod는 특정 노드에서 실행되는 파드이다.
- DaemonSet은 클러스터 내 모든 혹은 특정 노드에서 실행되는 파드를 관리하고, Static Pod는 개별 노드에서 실행되는 파드를 관리합니다.
관리 방식
- DaemonSet은 클러스터의 상태를 모니터링하고 파드 수를 동적으로 조절하여 노드의 상태 변화에 따라 자동으로 관리한다.
- Static Pod는 kubelet이 직접 실행하므로, 쿠버네티스 API 서버와는 독립적으로 실행된다.
- 따라서 Static Pod는 클러스터의 상태를 모니터링하지 않는다.
- DaemonSet은 모든 노드에서 동일한 작업을 수행하거나, 로그 수집을 위한 파드와 같은 작업을 모든 노드에 배포할 때 사용된다.
- Static Pod는 개별 노드에서 실행되는 시스템 데몬이나 로그 수집기와 같은 작업을 수행하기 위해 사용된다.
참고
뤼튼
728x90
'[DevOps] > Kubernetes' 카테고리의 다른 글
kubernetes - initContainer : 초기화를 위한 컨테이너 (0) | 2024.01.17 |
---|---|
쿠버네티스 배포 전략 간단히 알아보기 (2) | 2023.12.15 |
쿠버네티스 CKA 응시료 할인받고 접수하기(Cyber Monday 50% 할인) (2) | 2023.12.03 |
kubernetes - 노드와 파드 간 상호작용 제어 기술(Taint, Toleration, Node Selector, Node Affinity) (1) | 2023.11.23 |
쿠버네티스 Labels & Selector 간단 정리 (0) | 2023.11.10 |