쿠버네티스(Kubernetes)는 컨테이너 오케스트레이션을 위한 대표적인 오픈소스 플랫폼이다.
클러스터 구조는 크게 마스터노드(Control Plane)와 워커노드(Worker Node)로 나뉜다.

마스터노드(Control Plane)
클러스터 전체를 제어하고 관리하는 중추적인 역할을 담당한다.
워커노드에 파드(Pod)를 할당하고, 클러스터 상태를 모니터링하며, 리소스 스케줄링과 장애 복구 등 전체적인 오케스트레이션을 수행한다.
주요 구성요소
- kube-apiserver: 모든 명령과 통신의 중심. REST API를 통해 클러스터를 제어한다.
- etcd: 클러스터의 모든 설정과 상태 정보를 저장하는 분산형 Key-Value 저장소.
- kube-scheduler: 파드를 어떤 워커노드에 배치할지 결정한다.
- kube-controller-manager: 파드, 노드 등 클러스터 오브젝트의 상태를 관리한다.
- cloud-controller-manager: 클라우드 환경과의 연동(예: 노드 추가/삭제, 로드밸런서 연결 등)을 담당한다.
- 구성 방식: 단일 마스터로도 운영할 수 있지만, 고가용성을 위해 3대 이상의 이중화 구성을 권장한다.
워커노드(Worker Node)
실제로 사용자 애플리케이션(컨테이너)이 동작하는 곳입니다. 마스터노드의 명령을 받아 파드 실행, 네트워크 관리, 로드밸런싱 등 실질적인 워크로드를 처리한다.
주요 구성요소
- kubelet: 마스터와 통신하며 파드의 상태를 관리하고, 컨테이너 런타임에 명령을 전달한다.
- kube-proxy: 파드 간 네트워크 트래픽을 관리하고, 서비스 로드밸런싱을 지원한다.
- 컨테이너 런타임: 실제 컨테이너를 실행하는 엔진(예: Docker, containerd 등).
- 확장성: 워커노드는 필요에 따라 자유롭게 증설이 가능하며, 일반적으로 마스터노드보다 더 많은 수로 구성한다.
클라우드 환경에서의 쿠버네티스 구성 사례
1. AWS EKS(Elastic Kubernetes Service) 환경
AWS EKS는 AWS에서 제공하는 완전관리형 쿠버네티스 서비스로, 마스터노드는 AWS가 직접 관리하여 사용자는 워커노드와 클러스터 설정에 집중할 수 있다.
구성 절차 요약
- IAM 역할 생성: EKS 클러스터와 노드 그룹에 필요한 권한을 가진 IAM 역할을 생성한다.
- 클러스터 생성: AWS 콘솔에서 EKS 클러스터를 생성합니다. 클러스터 이름, 쿠버네티스 버전, IAM 역할, 네트워크(VPC/서브넷) 정보를 입력한다.
- 노드 그룹 추가: 워커노드 역할을 할 EC2 인스턴스 그룹(노드 그룹)을 추가합니다. 인스턴스 타입, 개수, 서브넷, 보안그룹 등을 지정한다.
- kubectl 연결: 클러스터가 생성되면, AWS CLI 또는 콘솔에서 kubeconfig 파일을 받아 kubectl로 클러스터에 접근할 수 있다.
특징
- 마스터노드는 AWS가 관리하므로 직접 운영할 필요가 없다.
- 워커노드는 EC2 인스턴스로 구성하며, 필요에 따라 자동 확장(Auto Scaling) 설정이 가능하다.
- 네트워크, 보안, 로깅 등 AWS 서비스와의 통합이 용이하다.
2. 카카오클라우드 Kubernetes Engine 환경
카카오클라우드는 자체 Kubernetes Engine을 통해 손쉽게 쿠버네티스 클러스터와 노드풀을 생성할 수 있다.
구성 절차 요약
- 네트워크 환경 설정: VPC와 서브넷, NAT 인스턴스 등을 구성하여 클러스터 네트워크 환경을 준비한다.
- 클러스터 생성: 카카오클라우드 콘솔(Container Pack > Kubernetes Engine)에서 클러스터를 생성합니다. 클러스터 이름, 버전, VPC, 서브넷 등을 지정한다.
- 노드풀 생성: 클러스터 내에 워커노드로 사용할 노드풀을 생성합니다. 인스턴스 타입, 노드 수, 볼륨 등을 설정한다.
- kubectl 설정: 카카오클라우드에서 제공하는 kubeconfig 파일과 인증 클라이언트(kic-iam-auth)를 설치·설정하여 kubectl로 클러스터에 접근한다.
- 애플리케이션 배포: Container Registry와 연동하여 이미지를 배포하고, Load Balancer를 통해 외부 노출이 가능하다.
특징
- 콘솔 기반의 간편한 클러스터 및 노드풀 생성.
- 카카오클라우드 인증 시스템과 연동된 보안 체계.
- 기본적인 네트워크 및 보안 설정 가이드 제공.
마스터노드와 워커노드 구성, 그리고 클라우드 환경에서의 실전 사례
| 구분 | 마스터노드(Control Plane) | 워커노드(Worker Node) |
| 역할 | 클러스터 관리, 스케줄링, 상태 모니터링, 오케스트레이션 | 실제 컨테이너(Pod) 실행, 네트워크/스토리지 관리 |
| 주요 컴포넌트 | kube-apiserver, etcd, scheduler, controller-manager, cloud-controller-manager | kubelet, kube-proxy, 컨테이너 런타임 |
| 고가용성 | 1대 이상 이중화 권장 | 필요에 따라 자유롭게 증설 |
| 클라우드 관리 | AWS EKS, 카카오클라우드 등에서 관리형 서비스 제공 | EC2, VM 등 인스턴스 기반으로 직접 관리 |
마무리
쿠버네티스 클러스터는 마스터노드와 워커노드의 역할 분담을 통해 대규모 컨테이너 환경을 안정적으로 운영할 수 있습니다. AWS EKS, 카카오클라우드 Kubernetes Engine 등 클라우드 서비스에서는 관리형 클러스터를 손쉽게 구축할 수 있어, 인프라 관리 부담을 줄이고 서비스 개발과 운영에 집중할 수 있다
'시스템엔지니어 > Cloud' 카테고리의 다른 글
| [아키텍처] Linux 아키텍처와 Cloud 적용 사례(AWS, 카카오클라우드 ) (2) | 2025.06.07 |
|---|---|
| [네트워크] L7 vs L4 비교 및 사례(AWS & 카카오클라우드) (3) | 2025.06.05 |
| AWS 네트워크 서비스 (2) | 2024.01.09 |
| AWS 컴퓨팅 서비스 (2) | 2024.01.09 |
| AWS란? (0) | 2024.01.09 |