쿠버네티스Kubernetes
Kubernetes
여러 실행 노드에서 컨테이너 기반 앱의 배치, 복구와 확장을 조율하는 오픈소스 플랫폼이에요.
쉽게 비유하면
여러 작업장의 작업 수와 배치를 맞추고 중단된 작업을 다시 배정하는 운영 관리자와 같아요.
조금 더 자세히
원하는 실행 상태를 선언하면 컨트롤러가 실제 상태와 차이를 줄이도록 동작해요. 하나 이상의 컨테이너를 담는 Pod가 기본 배치 단위이며, 노드들로 클러스터를 구성해요.
자동 복구와 배포를 도울 수 있지만 앱의 오류나 데이터 복구를 모두 해결하지는 않아요. 관측, 저장소, 권한과 확장 정책을 구성해야 하며 운영 복잡도도 있어요.
왜 생겼나요
여러 노드에 많은 컨테이너를 배치하고 바뀌는 실행 상태를 수작업으로 관리하기 어려워 조율을 자동화해요.
어떻게 작동하나요
- 1. 원하는 상태 선언 이미지, 복제본 수와 필요한 자원을 지정해요.
- 2. 배치와 실행 실행 가능한 노드에 Pod를 배치해요.
- 3. 상태 조정 실행 상태를 확인하고 중단된 복제본 등을 다시 만들어요.
활용 예시
- 여러 서비스의 컨테이너 운영
- 복제본 수 조절
- 선언된 정책에 따른 점진 배포
쿠버네티스 vs Docker
| 쿠버네티스 | Docker | |
|---|---|---|
| 대표 역할 | 클러스터의 컨테이너 배치와 상태 조율 | 이미지 빌드·공유와 컨테이너 실행 |
| 함께 쓰는 예 | 호환 이미지를 받아 여러 노드에서 운영 | 앱 이미지를 만들어 레지스트리에 공유 |
흔한 오해
Kubernetes를 쓰려면 Docker 엔진이 필수인가요?
아니에요. Kubernetes는 지원되는 컨테이너 런타임을 사용하며 Docker로 만든 호환 이미지도 실행할 수 있어요.
이렇게 쓰여요
운영 플랫폼 검토
“Kubernetes 도입 전에 서비스 수와 운영 역량을 보고, 관리형 플랫폼으로 충분한지도 비교하자”라고 이야기해요.
관련 용어
함께 보면 좋은 용어
최종 업데이트