Kubernetes

유석현(SeokHyun Yu)·2023년 10월 25일
0

도커&쿠버네티스

목록 보기
7/7
post-thumbnail

쿠버네티스란?

쿠버네티스는 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): 외부 애플리케이션과의 통합이 간편하며, 다양한 서드 파티 도구나 서비스를 쉽게 추가하고 지원한다.

profile
Backend Engineer

0개의 댓글