조금씩 포스팅이 올라오겠지만 현재 외주를 받아서 열심히 공부를 하면서 수행을 하고 있다.
(혼자 처음부터 끝까지 다하는중....)
그러다 쿠버네티스가 굉장히 핫해보여서 이번에 프로젝트를 진행하면서 한번 사용해보고 싶다는 생각을 헀는데 생각만 할걸 그랬다. 공부를 할 수록 이해 안되는 내용이 너무 많았다..... 다들 같은 마음이라고 생각하고 조금 이해를 돕고자 정리를 해보았다.
본 포스팅은 이론 설명도 있지만 구조에 초점을 맞춰서 설명을 할 예정이다.
(틀린 내용은 댓글을 달아주시면 바로 반영해서 수정을 할 예정이니 많은 관심 부탁 드립니다.)
우선 그럼 쿠버네티스가 무엇인지 알아보자. (말하는 감자인 제 기준에서 느낀점들도 같이 말할 예정입니다.)
쿠버네티스란?

쿠버네티스는 컨테이너화된 워크로드와 서비스를 관리하기 위한 이식할 수 있고, 확장 가능한 오픈소스 플랫폼으로, 선언적 구성과 자동화를 모두 지원한다. 쿠버네티스는 크고 빠르게 성장하는 생태계를 가지고 있다. 쿠버네티스 서비스, 지원 그리고 도구들은 광범위하게 제공된다.
(사실 그냥 도커랑 비슷한 역할을 하는 아이인줄 알았다.)
쿠버네티스에는 다양한 기능들이 있는데 >> 공식 홈페이지를 통해서 확인 가능하다.
쿠버네티스 구조

클러스터에 대한 아키텍처 이다. 개인적으로 내용이 너무 방대할 때는 큰틀만 한 번보고 작은 부분부터 하나 씩 보는게 더 이해가 잘된다고 생각하기에 Node와 Pod에 대해서 먼저 설명을 할건데 그림을 머릿속에 잘 가지고 있으면 좋을 것 같다.
각 개념을 먼저 짚어보자
Workload
워크로드는 실행 중인 애플리케이션이며 항상 파드 집합으로 실행된다. “어떤 이미지로, 몇 개의 Pod를, 어떤 규칙으로” 돌릴지 선언만 하면 된다.
Pod
Kubernetes에서 가장 작은 배포 단위로, 하나 이상의 컨테이너를 담는 "논리적 호스트"이다.
컨테이너 같은 경우는 단일 또는 다중으로 사용가능하며 단일로 사용하는 것이 일반적이며 다중 컨테이너의 경우 강하게 결합되어 리소를 공유해야할 때 사용한다고 한다. (같은 Pod 안 컨테이너들은 같은 네트워크, 스토리지 컨텍스트를 공유하고 함께 실행된다.)
Pod마다 고유 IP를 가지고 있으며 Pod 내 컨테이너는 같은 네임스페이스와 포트 공간을 공유하고 서로 localhost로 통신이 가능하다. Pod끼리의 통신은 IP 네트워킹을 사용한다.
수명 주기와 관리방식
- Pod는 일시적 개체이며 작업 종료, 삭제, 리소스 부족 또는 노드 장애 시 사라질 수 있다.
- 노드 장애로 사라질 경우 기존 Pod를 수정하지 않고 새 Pod를 생성해 복구한다. (컨트롤러 담당)
- 실무에서는 Pod를 직접 만들기 보다는 Deployment/StatefulSet/Job/DaemonSet와 같은 워크로드 리소스로 생성한다.
Node
Kubernetes가 Pod를 실제로 실행시키는 머신이다.
각 Node는 Control Plane의 관리 하에 있고, Pod를 돌리기 위한 핵심 컴포넌트를 가진다.
- kubelet: 이 노드의 파드 생명주기 관리·상태 보고
- 컨테이너 런타임(containerd/CRI-O 등): 컨테이너 실행
- kube-proxy: 서비스/네트워킹 구현
노드는 자가등록과 수동등록 방법을 통해 생성할 수 있다.
개념에 대해서 이해를 했으니 간단한 과정을 통해 이해를 해보자!
1. workload에 "abc"라는 이미지로 3개의 pod객체를 만들겠다고 선언
2. Controlller는 선언을 확인 후 pod객체를 3개 생성
3. Scheduler가 각 pod객체를 어느 Node에 올릴지 결정
4. 각 Node의 kublet이 pod스펙을 받아 컨테이너를 생성하고 pod 상태를 Running으로 변경
간단한 로직이지만 사실 Node와 pod가 왜 존재해야하는지 그냥 컨테이너랑 뭐가 다른지 이해하기가 힘들었다,,,, 아직 말하는 감자이기에,,,, 그래도 정리를 하다보면서 조금씩 이해가 된 것 같아 아주 만족스러우며 다음 포스팅 때 다음 내용을 이어 가겠다.
'🏫 인프라 > 서버' 카테고리의 다른 글
| [개념] docker이해하기(2) - 이미지를 가져오고 컨테이너를 실행하기까지 (0) | 2026.04.19 |
|---|---|
| [개념] docker이해하기(1) - 이미지와 컨테이너 (1) | 2026.04.15 |
| [Server] AWS EC2에 Https프로토콜 적용 (0) | 2025.05.23 |
| [Server] 도메인 구매하기(가비아) (0) | 2025.05.20 |
| [AWS] Docker을 사용한 서버 배포 (0) | 2025.05.08 |