Docker

쿠버네티스

홍알 2020. 1. 20. 15:47
출처 - 쿠버네티스가 왜 필요하고 무엇을 할 수 있나?

컨테이너를 활용하여 애플리케이션을 포장을 실행을 하는 방법은 좋은 방법이다. 하지만, 배포시 서비스가 중단 없이 배포 되고, 문제가 생겼을때 알아서 장애를 처리해주며, 분산시스템을 탄력적으로 관리 해준다면 얼마나 좋을까? 그래서 쿠버네티스가 존재한다. 쿠버네티스는 애플리케이션의 확장과 장애조치를 처리하고, 배포 패턴 등을 제공한다. ( 롤링업데이트, 카나리아 배포 )

하지만, 쿠버네티스틑 PasS(Platform as a Service)는 아니다. 배포, 스케일링, 로드밸런싱, 로깅 및 모니터링과 같은 기능에서 공통점도 있지만, 이것을 모놀리식하게 제공 하는 것이 아니라, 선택적으로 제공하여, 추가제거가 용이하다. 즉 개발자 플랫폼을 만드는 구성 요소를 제공하지만, 필요한 경우 사용자의 선택권과 유연성을 지켜준다.

 

컨테이너 환경의 배포

컨테이너 출처 - [쿠버네티스 - 여정 돌아보기] 위 그림은 전통적인 배포 -> 가상화 장비에 배포 -> 컨테이너 배포를 의미한다. 전통적인 환경은 일반적으로 물리 장비 한대에 여러개의 어플리케이션(그림에서 "A..

study-book.tistory.com

  • 서비스 디스커버리와 로드 밸런싱 : 네트워크 트래픽을 로드밸런싱 하고, 배포하여 배포가 안정적으로 이루어질 수 있다.
  • 스토리지 오케스트레이션 : 로컬 저장소, 클라우드 공급자 등과 같이 원하는 저장소 시스템을 자동으로 탑재 할수 있다.
  • 자동화된 롤 아웃과 롤백 : 쿠버네티스를 사용하여 배포용 새 컨테이너를 만들고, 기존 컨테이너를 제거하고, 모든 리소스를 새컨테이너에 적용 할수 있다.
  • 자동화된 빈 패킹(bin packing) : 컨테이너화된 작업을 실행하는데 필요한 쿠버네티스 클러스터 노드를 제공하고, 리소스를 관리한다.
  • 자동화된 복구 (self-healing) : 실패한 컨테이너를 다시 시작, 교체, 사용자 정의에 따른 상태에 맞지 않는 컨테이너를 죽이고, 관리하여, 모든 준비가 완료 되었을때 클라이언트에 노출한다.
  • 시크릿과 구성 관리 : 암호, OAuth 토큰, SSH 키와 같은 중요한 정보를 저장하고 관리 한다.