노드 컴포넌트, 애드온

2024년 06월 23일 작성4분 소요

노드 컴포넌트

동작 중인 파드 유지, 쿠버네티스 런타임 환경 제공

kubelet

클러스터 내, 노드 별로 존재하는 에이전트. 파드 내, 컨테이너 동작을 보장 파드 스펙(PodSpec)에 따하 컨테이너가 동작하도록 책임을 진다.

kube-proxy

클러스터 내, 노드 별로 실행되는 네트워크 프록시, 쿠버네티스 서비스 개념의 구현부. 노드의 네트워크 규칙을 관리한다. 이 네트워크 규칙이 내부 네트워크 세션이나 클러스터 바깥에서 파드로 통신할 수 있도록 한다. 운영 체제에 가용한 패킷 필터링 계층이 있다면 이를 사용하고, 없다면 트래픽을 forward 한다.

서비스

파드 집합에서 실행중인 애플리케이션을 네트워크 서비스로 노출시키는 추상화 방법이다. 쿠버네티스를 사용하면 서비스 디스커버리 매커니즘을 사용하기 위해 애플리케이션을 수정할 필요가 없다. 애플리케이션이 아닌 쿠버네티스가 파드에게 고유한 IP와 파드 집합에 대한 DNS 명을 부여하고 그것들 간에 로드 밸런싱을 수행한다.

컨테이너 런타임

컨테이너 실행을 담당하는 소프트웨어를 말한다. 도커가 가장 유명한 컨테이너 런타임이다. 이외에는 containerd, CRI-O와 같은 쿠버네티스 컨테이너 런타임 인터페이스 구현체들이 존재한다. 도커같은 경우 쿠버네티스 1.24 버전부터 지원이 중단되니 다른 런타임을 사용하는 것이 권장된다.

애드온

쿠버네티스 리소스를 이용하여 기능을 구현한다. 클러스터 단위의 기능을 제공한다. 네임스페이스는 kube-system에 속한다. 대표적인 애드온들은 다음과 같다.

DNS

클러스터 내에 구동되는 서비스들을 위한 DNS 레코드를 제공한다.

대시보드

클러스터 내 동작하는 애플리케이션에 대한 관리와 문제해결에 도움이 되는 정보들을 확인할 수 있는 웹 기반 UI다.

컨테이너 리소스 모니터링

중앙 데이터베이스에 컨테이너 자원에 대한 시계열 메트릭을 기록하고 데이터를 열람하기 위한 UI를 제공한다.