컨테이너 오케스트레이션

SummerToday·2024년 8월 5일
0
post-thumbnail
post-custom-banner

서버 관리의 어려움

  • 가장 초기 서버 관리는 문서화를 통해 이루어졌다.

  • 하지만, 문서를 통해 유지 관리하는 것은 실질적으로 어려운 부분들이 많았다. (문서를 보고 실행을 해도 되지 않거나, 버전이 바뀌면 무용지물이 되는 등의 문제점 존재)

  • 다음으로 CHEF, puppet과 같은 툴을 사용하여 서버를 관리하는 방식이 나타났지만, 서버가 복잡해질수록 해당 툴 사용법들도 복잡해지는 문제점이 존재했다.

  • 가상머신이 다음으로 나타났지만, 클라우드 환경과의 통합의 문제와 속도가 느리다는 단점이 존재했다.


Docker의 등장

  • 모든 실행환경을 컨테이너로 동작할 수 있도록 해준다.

  • 어디서든 동작하고 사용법도 쉽고 속도도 빠르다.

  • 서버 관리의 복잡함을 해소시켜주었다.


Docker Container의 특징

출처: https://www.youtube.com/watch?v=Ia8IfowgU7s&list=PLIUCBpK1dpsNf1m-2kiosmfn2nXfljQgb

  • 가상 머신과 비교하여 컨테이너 생성이 쉽고 효율적이다.

  • 컨테이너 이미지를 이용한 배포와 롤백이 간단하다.

  • 언어나 프레임워크에 상관없이 애플리케이션을 동일한 방식으로 관리한다.

  • 개발, 테스팅, 운영 환경은 물론 로컬 PC와 클라우드까지 동일한 환경을 구축할 수 있다.

  • 특정 클라우드 벤더에 종속적이지 않다.


컨테이너 관리의 어려움

  • 서비스의 규모가 커질수록 다수의 컨테이너를 관리하기가 어려워진다.

  • 컨테이너 하나하나 일일히 관리하기 어렵다.

  • 서비스 이상, 부하 모니터링이 힘들다.

  • 롤아웃/롤백 같은 버전 관리가 힘들다.


컨테이너 오케스트레이션 (Container Orchestration)

  • 복잡한 컨테이너 환경을 효과적으로 관리하기 위한 도구이다.

  • 기존 서버 관리자가 하는 일들을 대신 해주는 프로그램이다.

  • Kubernetes(K8S), AWS EKS, Docker Swarm 등과 같은 서비스들이 존재한다.


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

Cluster - 클러스터 관리

출처: https://www.youtube.com/watch?v=Ia8IfowgU7s&list=PLIUCBpK1dpsNf1m-2kiosmfn2nXfljQgb

출처: https://www.youtube.com/watch?v=Ia8IfowgU7s&list=PLIUCBpK1dpsNf1m-2kiosmfn2nXfljQgb

  • 컨테이너 오케스트레이션에서는 노드 단위가 아닌 클러스터 단위로 관리를 하게 된다.

  • 마스터 노드를 통해 클러스터 내의 노드들을 관리한다.

  • 클러스터 내의 노드끼리는 네트워크 통신이 원할히 되도록 설정해줘야 한다.

  • 다수의 노드가 동작해도 문제가 없도록 노드 스케일을 신경써야 한다.


State - 상태 관리

출처: https://www.youtube.com/watch?v=Ia8IfowgU7s&list=PLIUCBpK1dpsNf1m-2kiosmfn2nXfljQgb

  • 컨테이너 오케스트레이션은 컨테이너의 상태들을 주기적으로 확인하며 관리한다.

  • 예를 들어, 컨테이너에 문제가 생기면 해당 컨테이너를 제거하고 새로운 컨테이너를 생성하게 된다.


Scheduling - 배포 관리

출처: https://www.youtube.com/watch?v=Ia8IfowgU7s&list=PLIUCBpK1dpsNf1m-2kiosmfn2nXfljQgb

  • 서버의 여유에 따라 추가적인 애플리케이션을 배치하거나, 추가로 컨테이너를 생성하여 해당 컨테이너에 애플리케이션을 배치해준다.

Rollout/Rollback - 배포 버전관리

출처: https://www.youtube.com/watch?v=Ia8IfowgU7s&list=PLIUCBpK1dpsNf1m-2kiosmfn2nXfljQgb

  • 컨테이너 각각 버전 관리를 하지 않고, 중앙에서 버전관리를 할 수 있다.

Service Discovery - 서비스 등록 및 조회

출처: https://www.youtube.com/watch?v=Ia8IfowgU7s&list=PLIUCBpK1dpsNf1m-2kiosmfn2nXfljQgb

  • 웹 저장소 설정에 변동이 생길 시 프록시 서버가 자동적으로 설정을 변경하고 관련 프로세스를 자동으로 재시작해준다.

Volume - 볼륨 스토리지

출처: https://www.youtube.com/watch?v=Ia8IfowgU7s&list=PLIUCBpK1dpsNf1m-2kiosmfn2nXfljQgb

  • 노드마다 일일히 볼륨 스토리지를 마운트 하지 않고 간편한 설정으로 가능하게 해준다.



본 포스팅은 다음 내용을 참고하여 작성되었습니다.
[초보를 위한 쿠버네티스 안내서] 컨테이너 오케스트레이션이란? - https://www.youtube.com/watch?v=Ia8IfowgU7s&list=PLIUCBpK1dpsNf1m-2kiosmfn2nXfljQgb
profile
IT, 개발 관련 정보들을 기록하는 장소입니다.
post-custom-banner

0개의 댓글