옛날에 혼자 서적을 사서 쿠버네티스를 조금 테스트해 보다가 시간이 없어서 잊고 지냈다. 그런데 최근에 우연히 쿠버네티스를 다룰 일이 생겨서 기억에 남길 겸 정리해 보려고 한다.
kubernetes란?
쿠버네티스는 컨테이너화된 워크로드와 서비스를 관리하기 위한 이식 가능한 확장 가능한 오픈소스 플랫폼으로, 선언적 구성과 자동화를 모두 지원한다. (출처: Kubernetes 공식 문서)
간단히 말하자면, 컨테이너 환경에서 서비스들을 관리하고, 다른 컨테이너들을 배포하며, 자동으로 스케일 아웃(Scale-Out), Ingress 등 오케스트레이션을 지원해 주는 플랫폼이다.

Cluster 란?
컨테이너화된 애플리케이션 서비스를 실행하는 노드(Worker 서버)와 이를 관리하고 전체적인 관제를 담당하는 노드(Master 서버)들이 모여 있는 그룹이다.
쉽게 말해, 여러 대의 서버가 모여 있는 그룹이라고 생각하면 된다.
Node 란?
클러스터 내 가상화된 서버들 을 노드라고 부른다.
노드는 아래와같이 두개의 노드가 있다. (아래 내용은 저런 것들이 있다~ 하고 넘어가도 괜찮다)
1. Master Node (Contol-Plane)
클러스터의 상태를 관리하고, 워커 노드에서 애플리케이션이 원활히 실행되도록 제어하는 역할을 한다.
Control Plane은 다음과 같은 주요 컴포넌트로 구성된다.
- kube-apiserver
- 클러스터의 상태를 관리하고, 모든 요청을 처리하는 API 서버
- etcd
- 클러스터의 상태 정보를 저장하는 키-값 저장소
- kube-scheduler
- 새로 생성된 Pod를 적절한 노드에 배치
- kube-controller-manager
- 클러스터 상태를 모니터링하고 원하는 상태로 유지
- cloud-controller-manager
- 클러스터와 클라우드 인프라 간의 통신 관리
2. Worker Node (Data-Plane)
실제 Application이 실행되는 노드
Data Plane은 다음과 같은 주요 컴포넌트로 구성된다.
- kubelet
- 노드에서 실행 중인 컨테이너 상태를 모니터링하고 관리
- kube-proxy
- 서비스와 Pod 간의 통신 설정 및 트래픽 관리
- Container Runtime
- 컨테이너 생성, 삭제 및 상태 관리 (예: Docker, containerd)
Pod 란?
쿠버네티스에서 생성하고 관리할 수 있는 배포 가능한 가장 작은 컴퓨팅 단위
어떻게보면 하나의 application 이라고 생각하면 조금 간편할 것 같다.
맺음말
기본적으로 분산처리 환경을 구축하거나 경험해본 사람들은 대략적으로 어떤 구조로 되어있는지 대략적으로 보면 알지만, 이런 환경을 처음 접하게 되면 다소 생소하다보니 기본 개념부터 정리하고 가야 할 것 같아서 작성하게 되었다.
앞으로 다양한 환경에서 설치를 진행하면서 작성할 예정이며, 누락된 내용들을 채워가며 쿠버네티스를 정리해 나갈 예정이다.
Refs
kubernetes 공식 문서 : https://kubernetes.io/ko/docs/concepts/overview/
쿠버네티스란 무엇인가?
쿠버네티스는 컨테이너화된 워크로드와 서비스를 관리하기 위한 이식할 수 있고, 확장 가능한 오픈소스 플랫폼으로, 선언적 구성과 자동화를 모두 지원한다. 쿠버네티스는 크고 빠르게 성장하
kubernetes.io
'infra > Kubernetes' 카테고리의 다른 글
| kubernetes ELK 설치 - Elasticsearch Node, Cluster 설계 (0) | 2025.04.12 |
|---|---|
| Kubernetes ELK 설치 - ELK vs Grafana (0) | 2025.03.20 |
| kubernetes Object란? (0) | 2025.03.15 |