DevOps/Kubernetes

[Kubernetes] 쿠버네티스와 컨테이너 오케스트레이션

ki1111m2 2023. 10. 13. 16:13

컨테이너 오케스트레이션

수십~수백 개의 컨테이너를 관리하고자 할 때 사용하는 툴

왜 수십~수백 개의 컨테이너가 필요한가?
- 아키텍처의 트랜드: 모놀리식 -> 마이크로서비스
- 컨테이너 개수 증가
- 확장성을 고려한 스케일링

 

쿠버네티스(Kubernates, k8s)

  • 오픈소스로 만들어진 컨테이너 오케스트레이션 도구
  • 컨테이너화된 애플리케이션을 자동으로 배포, 스케일링하는 등 관리 기능 제공
  • 온프레미스, VM, 클라우드 등 각기 다른 환경에 대응 가능

 

사용이 적합하지 않은 경우

  • 여러 단계로 나뉘지 않은 모놀리식 아키텍처
    • 마이크로서비스 분해 전략을 세우는 것이 우선
  • 서너 개에 불과한 컨테이너
    • docker-compose로 충분
  • 비교적 단순한 아키텍처, 스케일링이 필요하지 않은 경우
    • 트래픽이 증가하거나 스케일링이 필요한 경우, 서버리스 서비스를 사용하면 다소 저렴한 가격에 관리형 서비스를 이용할 수 있음
    • AWS 내에서도 오토 스케일링과 같은 관리형 서비스가 배포 환경에서 제공됨

 

사용이 적합한 경우

  • 마이크로서비스를 컨테이너 방식으로 운영하는 조직이 확장성을 고려해야 할 때
  • 고가용성(무중단 서비스)을 제공해야 할 때
  • 그 외에 다양한 기능들: 자가 치유, 배치 실행, 구성 관리, 로드 밸런싱 등

특징적인 기능은 AWS와 같은 퍼블릭 클라우드 공급자에서도 비슷하게 제공하지만, 비용이 발생함

비용을 피하기 위해 쿠버네티스를 사용하기도 함

 

사용 예시

  • 쿠버네티스를 이용해 온프레미스 상에서 사설 클라우드 인프라 구성
  • 저렴한 클라우드 서비스의 일부분을 도입하여 하이브리드 형태로 구성
  • 필요에 따라 쿠버네티스로 구성한 인프라를 통째로 AWS 등에 마이그레이션(이식성)
    • 주요 퍼블릭 클라우드 공급자들은 관리형 쿠버네티스를 지원함(AWS EKS 등)

'DevOps > Kubernetes' 카테고리의 다른 글

[Kubernates] 쿠버네티스 워크로드  (1) 2023.10.13
[Kubernates] 쿠버네티스 작동 원리  (0) 2023.10.13