DevOps./Kubernetes

[Kubernetes] 쿠버네티스 소개

PI.314 2022. 2. 1. 22:40

쿠버네티스

구글 내부에서 사용하던 배포시스템 borg를 기반으로 재작성하여 2014년에 오픈소스로 공개

 

컨테이너 오케스트레이션 시스템이란?

컨테이너의 배포, 관리, 확장, 네트워킹을 자동화하는 기술

운영체제는 하나의 머신에서 프로세스를 효율적으로 관리하기 위한 프로세스 오케스트레이션 시스템

컨테이너 오케스트레이션 시스템은 여러 머신으로 구성된 클러스터 상에서 컨테이너를 효율적으로 관리하기 위한 시스템

 

왜 쿠버네티스인가?

Planet Scale

  • 구글에서 수 십억 개의 컨테이너를 운영할 수 있게 한 원칙 유지
  • 행성 규모로 확장할 수 있는 스케일

Never Outgrow

  • 다양한 요구사항을 만족할 수 있는 유연함
  • 테스트용 로컬 규모부터 글로벌 서비스 규모까지 유연하게 크기 조정 가능 필요한 기능이 없을 경우 CRD를 통한 기능 확장

Run Anywhere

  • 온프레미스 / 퍼블릭 클라우드 / 하이브리드 환경 어디서나 동작
  • 대부분의 리눅스 환경에서 동작하기 때문에 환경 이동에 제약이 없음

주의사항

복잡한 클러스터 구성

  • 쿠버네티스 자체가 여러 컴포넌트로 구성된 분산 시스템
  • 각 컴포넌트에 대한 이해 필요

방대한 학습량

  • 다른 컨테이너 오케스트레이션 시스템보다 다양한 지식 필요
  • 더 많은 요구사항을 만족하는 만큼, 익혀야 하는 기능도 많음

오버 엔지니어링

  • 운영해야 하는 서비스에 적합한가?
    쿠버네티스 운영 및 관리에 필요한 인력과 비용이 충분한가?