0과 1을 공부하다.

[Kube] Kubernetes - 컨테이너 오케스트레이션이란 ? (1) 본문

Study/Server

[Kube] Kubernetes - 컨테이너 오케스트레이션이란 ? (1)

Developer_Jay 2024. 7. 15. 23:37
728x90

 

본 게시글은 인프런 subicura 강사님의 초보를 위한 쿠버네티스 안내서 강의 수강 후 작성한 내용입니다.

 


 

서버관리는 매우 복잡하다.

  1. 많은 요구조건
  2. 계속해서 바뀌는 서버 및 개발 환경
  3. Etc.. 등등

컨테이너 특징

  • 가상머신과 비교하여 컨테이너 생성이 쉽고 효율적이다.
  • 컨테이너 이미지를 이용한 배포와 롤백이 간단하다.
  • 언어나 프레임워크에 상관없이 애플리케이션을 동일한 방식으로 관리한다.
  • 개발, 테스팅, 운영 환경은 물론 로컬 피시와 클라우드까지 동일한 환경을 구축할 수 있다.
  • 특정 클라우드 벤더에 종속적이지 않다.

모든 것들을 컨테이너를 만드는 과정에서 여러개의 컨테이너가 생성되게 되고 다수의 컨테이너를 관리 방법에 대한 이슈가 생긴다.

 


레거시 환경에서의 컨테이너 배포

  • 3개의 컨테이너를 실행하기 위해서는 3번의 실행 명령어를 실행해야 한다.
  • 부하가 적은 서버에 컨테이너를 실행하기 위해 각각의 서버의 모니터링이 필요하다.
  • 컨테이너 버전을 업데이트를 위해 롤아웃/롤백이 많은 반복 작업이 필요하다.
  • 많은 서버 증설과 마이크로 서비스로 인해 서비스 검색 측면에서 일일이 라우팅 주소를 변경하거나 로드밸런서를 달아야 하는 번거로움이 존재한다.
  • 서비스 노출(gateway)을 위한 변경 작업이 필요하다.
  • 서비스 이상 및 부하 모니터링을 하기 위한 자동화가 필요하다.

컨테이너 오케스트레이션 = 복잡한 컨테이너 환경을 효과적으로 관리하기 위한 도구

컨테이너 오케스트레이션 특징

  • cluster
    • 노드를 클러스터 단위로 추상화하여 관리함.
    • 마스터 서버를 두고 마스터 서버가 각 노드에 명령어를 전달함.
    • 가상 네트워크를 추가하여 서버간 통신이 원할하게 되도록 함.
    • 초기 설계를 잘해야만 향후 부하에 대비할 수 있음.
  • state
    • 사용자의 요구조건에 맞게 자동으로 컨테이너 상태를 유지하게 하는 것.
  • scheduling (배포관리)
    • 부하가 적은 서버를 체크하여 자동으로 배포함.
  • rollout/ rollback (배포버전관리)
    • 일괄적으로 컨테이너의 버전을 rollout / rollback 할 수 있도록 함.
  • service discovery
    • 프록시 정보와 같은 내용을 자동으로 서비스 정보를 등록하여 전달함.
  • volume
    • 저장소 연결을 수동으로 하는 것이 아닌 추상적으로 관리 할 수 있음.

 

 

 

 

 


※ 본 게시글의 정보가 잘못 되었거나 부족한 부분에 대한 피드백을 환영합니다.

 

 

* CopyRight 2024. Jay Park All rights reserved.

728x90
Comments