컨테이너 오케스트레이션
수십~수백 개의 컨테이너를 관리하고자 할 때 사용하는 툴
왜 수십~수백 개의 컨테이너가 필요한가?
- 아키텍처의 트랜드: 모놀리식 -> 마이크로서비스
- 컨테이너 개수 증가
- 확장성을 고려한 스케일링
쿠버네티스(Kubernates, k8s)
- 오픈소스로 만들어진 컨테이너 오케스트레이션 도구
- 컨테이너화된 애플리케이션을 자동으로 배포, 스케일링하는 등 관리 기능 제공
- 온프레미스, VM, 클라우드 등 각기 다른 환경에 대응 가능
사용이 적합하지 않은 경우
- 여러 단계로 나뉘지 않은 모놀리식 아키텍처
- 마이크로서비스 분해 전략을 세우는 것이 우선
- 서너 개에 불과한 컨테이너
- docker-compose로 충분
- 비교적 단순한 아키텍처, 스케일링이 필요하지 않은 경우
- 트래픽이 증가하거나 스케일링이 필요한 경우, 서버리스 서비스를 사용하면 다소 저렴한 가격에 관리형 서비스를 이용할 수 있음
- AWS 내에서도 오토 스케일링과 같은 관리형 서비스가 배포 환경에서 제공됨
사용이 적합한 경우
- 마이크로서비스를 컨테이너 방식으로 운영하는 조직이 확장성을 고려해야 할 때
- 고가용성(무중단 서비스)을 제공해야 할 때
- 그 외에 다양한 기능들: 자가 치유, 배치 실행, 구성 관리, 로드 밸런싱 등
특징적인 기능은 AWS와 같은 퍼블릭 클라우드 공급자에서도 비슷하게 제공하지만, 비용이 발생함
비용을 피하기 위해 쿠버네티스를 사용하기도 함
사용 예시
- 쿠버네티스를 이용해 온프레미스 상에서 사설 클라우드 인프라 구성
- 저렴한 클라우드 서비스의 일부분을 도입하여 하이브리드 형태로 구성
- 필요에 따라 쿠버네티스로 구성한 인프라를 통째로 AWS 등에 마이그레이션(이식성)
- 주요 퍼블릭 클라우드 공급자들은 관리형 쿠버네티스를 지원함(AWS EKS 등)
'DevOps > Kubernetes' 카테고리의 다른 글
[Kubernates] 쿠버네티스 워크로드 (1) | 2023.10.13 |
---|---|
[Kubernates] 쿠버네티스 작동 원리 (0) | 2023.10.13 |