쿠버네티스란?
쿠버네티스는 Google
에서 시작하여 오픈 소스
로 공개된 컨테이너 오케스트레이션 플랫폼
이다. 이 플랫폼은 애플리케이션의 배포
, 확장
, 그리고 유지 관리
에 중점을 두고 있다. 컨테이너 오케스트레이션
이란 도커
와 같은 컨테이너 플랫폼을 통해 애플리케이션을 관리
하고 자동화
하는 과정을 의미한다.
컨테이너의 수가 증가함에 따라 관리의 복잡성도 증가하는데, 쿠버네티스는 이러한 복잡성을 자동으로 해결해 준다. 쿠버네티스의 주요 특징으로는 선언적 구성
이 가능하며, 사용자가 정의한 원하는 상태
를 자동으로 유지
하는 능력이 있다. 현재 이 프로젝트는 Cloud Native Computing Foundation
에 의해 관리되고 있다.
간단히 말해, 쿠버네티스는 컨테이너의 배포부터 관리까지의 과정을 자동화해 주는 강력한 도구라고 할 수 있다. 이를 통해 개발자와 시스템 관리자는 애플리케이션의 운영에 더 효과적으로 집중할 수 있다.
쿠버네티스가 하는 일
자동 스케일링(Autoscale Workloads): 애플리케이션 트래픽 변화에 따라 컨테이너 인스턴스의 수를 자동으로 조절한다. 이는 자원 사용률을 최적화하고 서비스의 안정성을 유지하는 데 기여한다.
블루/그린 배포(Blue/Green Deployments): 이전 버전(Blue
)과 새 버전(Green
)을 병행하여 운영하면서 트래픽을 점진적으로 새 버전으로 이동한다. 이 방법은 배포 과정의 위험을 줄이고, 필요한 경우 쉽게 롤백할 수 있는 장점을 가진다.
작업 및 예약된 크론잡 실행(Fire off jobs and scheduled cronjobs): 일회성 작업이나 주기적인 작업을 자동으로 처리한다. 데이터베이스 백업, 배치 작업 등 다양한 작업을 효율적으로 수행할 수 있다.
상태 없는/유지 애플리케이션 관리(Manage Stateless and Stateful Applications): 쿠버네티스는 상태 없는 서비스뿐 아니라, 데이터를 유지해야 하는 상태 유지 애플리케이션에도 효과적으로 대응한다.
서비스 발견의 네이티브 방법 제공(Provide native methods of service discovery): 서비스 간 커뮤니케이션을 용이하게 하기 위해 서비스 디스커버리 메커니즘을 네이티브로 제공한다. DNS 레코드나 환경 변수 등을 활용하여 서비스를 손쉽게 찾을 수 있다.
3rd 파티 앱 쉽게 통합 및 지원(Easily integrate and support 3rd party apps): 외부 애플리케이션과의 통합이 간편하며, 다양한 서드 파티 도구나 서비스를 쉽게 추가하고 지원한다.