티스토리 뷰

주요 구성 요소

클러스터 (cluster) : 쿠버네티스의 가장 큰 단위. 서버들의 집합체 (마스터, 워커 노드의 집합)

노드 (node) : 서버 자체를 의미.

파드 (pod) : 하나 이상의 컨테이너로 이루어진 배포 가능한 애플리케이션 단위

컨테이너 (container) : 쿠버네티스의 가장 작은 단위. 애플리케이션 그 자체 혹은 애플리케이션 동작에 필요한 기능을 구성

 

kubectl get pods --all-namespaces

- default namespace 외의 모든 namespace를 보여줌 

- namespace : 클러스터 내의 자원들을 그룹화하기 위한 논리적인 분리 단위

 

관리자 파드 배포 관련 

마스터 노드 : 클러스터 중앙 컨트롤러 역할. 애플리케이션을 배포하고, 노드를 관리, 파드가 올바르게 실행되는 지 관리 등 수행

워커 노드 : 실제 애플리케이션(파드)을 실행하는 역할. 마스터 노드 지시에 따라 애플리케이션 실행 및 관리. 

 

마스터 노드 주요 구성 요소

- kubectl : 쿠버네티스 클러스터에 명령을 내리는 역할. 바이너리로 배포되어 꼭 마스터에 있지 않아도 되지만, 통상 마스터에 구성. 

- API server : 클러스터 중심 역할을 하는 통로. 쿠버네티스의 핵심 진입점이며, 모든 요청을 처리함. Restful API로 동작. 

- etcd : 클러스터의 모든 구성 요소 상태 값을 key, value 로 저장하는 분산 데이터 저장소. etcd 외의 다른 구성 요소는 상태 값을 관리하지 않으므로, etcd 정보만 백업되어 있다면 장애 상황에서도 클러스터 복구 가능 

- 컨트롤러 매니저 : 클러스터 오브젝트 상태를 관리. 

-- 노드 컨트롤러 : 노드 상태 감시 (오프라인 여부 확인 및 노드 복구) 

-- 레플리카셋 컨트롤러 : 원하는 개수만큼 pod 유지되도록 관리

-- 엔드포인트 컨트롤러 : service, pod 간 연결 유지 

- 스케줄러 : 노드 상태, 자원, 레이블, 조건 등을 고려해 파드를 어떤 워커 노드에 생성할 지 결정 및 할당 

 

워커 노드 주요 구성 요소

- kubelet : 마스터 노드와 통신하여 pod를 관리하는 역할. 마스터의 명령을 받아 컨테이너를 실행하고, pod 안의 컨테이너가 정상적으로 동작하는 지 모니터링

- CRI (컨테이너 런타임) : pod를 구성하는 컨테이너의 실행을 담당. pod 안에서 다양한 컨테이너가 문제 없이 동작하도록 만드는 표준 인터페이스. 지원되는 런타임 종류는 아래와 같음

-- containerd : 기본 CRI, 도커 기반

-- CRI-O : redhat 계열

-- Kata Containers : 보안 강화용 

- Pod : 한 개 이상의 컨테이너로 구성된 단일 목적을 수행하기 위한 컨테이너 집합. pod는 언제든지 죽을 수 있도록 설계되었기 때문에 pod를 관리하는 것이 핵심. 

 

기타 구성 요소

- CNI (컨테이너 네트워크 인터페이스) : 컨테이너 간 네트워킹을 위한 인터페이스. 컨테이너의 네트워크 연결, 삭제 시 리소스 제거에만 관여함. 

- 네트워크 플러그인 : 클러스터 통신을 위해 네트워크 플러그인 선택 및 구성이 필요. CNI로 일반적으로 구성되며, Flannel, Calico를 주로 사용

-- Flannel : L2에서 동작. 상대적으로 느림. 단순한 pod 간 네트워크 제공하므로 작은 규모 클러스터에 적합.

-- Calico : L3에서 동작. 상대적으로 빠르지만, BGP 구성 및 보안 정책 구성 등 설정이 복잡. 대규모 클러스터에 적합. 

- CoreDNS : 클러스터에서 도메인 이름을 이용해 통신하는데 사용. 실무 환경에서 클러스터 구성 시, ip보다는 DNS 이용해 통신하는 것이 일반적. 

 

사용자 관점 구성 요소

- kube-proxy : 사용자 요청이 pod에 전달되어 통신할 수 있도록 관리. 실제 통신은 br_netfilter, iptables로 관리됨.

- pod : 이미 배포된 pod에 요청 및 응답을 제공받음.

 

 

'메모 > kubernetes' 카테고리의 다른 글

vagrant 이용한 kubernetes 환경 프로비저닝  (0) 2025.02.27
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
TAG
more
«   2025/03   »
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31
글 보관함