Ops-Beginner
article thumbnail
Published 2023. 1. 29. 21:21
1. 쿠버네티스 소개 Books
반응형

쿠버네티스 입문 : 90가지 예제로 배우는 컨테이너 관리 자동화 표준

내돈내산으로 공부하면서 작성한 포스팅입니다.
http://www.yes24.com/Product/Goods/85578606

쿠버네티스 소개

2021년 기준 컨테이너 오케스트레이션 시스템세계의 사실상 표준입니다. 몇 년 전까지 컨테이너 오케스트레이션 시스템에는 도커 스웜, 코어 OS 플리트, D2iQ의 DC/OS 등 여러 가지가 있었습니다. 하지만 처음 컨테이너의 대중화를 이끌었던 도커가 자사에서 개발한 스원뿐만 아니라 쿠버네티스를 지원하기 시작했고, 코어 OS는 플리트 개발을 종료했습니다. D2iQ의 DC/OS 역시 자체 오케스트레이터였던 마라톤 외에 쿠버네티스를 지원합니다. 그렇기에 컨테이너 오케스트레이션을 처음 배우는 분이라면 쿠버네티스를 배워야합니다.

 

컨테이너

리눅스는 원래 프로세스별로 자원을 격리해서 사용하는 cgroup과 특정 디렉터리로 권한을 제어하는 chroot 등으로 격리 환경을 구성할 수 있습니다. 여기에 디스크 파일 변경 사항을 레이어 형태로 저장하는 파일 시스템을 합해 컨테이너라는 개념이 탄생된 것입니다. 도커는 방금 소개한 기능들을 모아서 컨테이너를 손쉽게 사용할 수 있도록 한 것으로 주목받았습니다. 도커 이후에는 containerd, runc, cri-o 같은 다양한 컨테이너 런타임들이 등장했습니다.

출처(https://hwanine.github.io/web/Container-vs-VM/)

왼쪽이 가상 머신의 구조이고, 오른쪽이 컨테이너의 구조입니다. 컨테이너에는 호스트 운영체제 위에 도커가 있고 바로 앱이 위치합니다. 반면 가상 머신은 하이퍼바이저 위에 가상 머신마다 게스트 운영체제가 있고 그 위에 앱이 위치합니다.

즉, 컨테이너가 구조상 레이어가 더 간단하므로 가상 머신보다 성능을 높이기 쉽다고 생각하시면 됩니다.

 

출처(https://www.leafcats.com/146)

도커를 이용하면 그림과 같이 간단한 명령어로 컨테이너 이미지를 만들고 저장소에 저장할 수 있습니다. 그리고 도커가 설치된 호스트에 해당 컨테이너 이미지를 다운로드해서 컨테이너를 쉽게 실행시킬 수 있습니다. 마치 화물 선박의 컨테이너처럼 규격화된 컨테이너를 만든 후 실행하려는 호스트로 옮겨서 그대로 사용하는 것입니다.

 

컨테이너가 등장하기 전에는 호스트에도 개발 환경에 필요한 설정들을 똑같이 해야만 했습니다. 이 과정에서 휴먼 에러 등등 여러 가지 장애 요소가 많이 발생해서 어려움이 많았습니다. 이런 불편함 점을 컨테이너와 쿠버네티스를 사용하면서 손쉽게 사용할 수 있습니다.

 

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

컨테이너를 이용하면 개발 환경과 운영환경의 차이 때문에 발생되던 장애를 막을 수 있습니다. 개발 환경에서 사용하던 컨테이너를 컨테이너 런타임만 있다면 실제 서버 어디에서든지 실행할 수 있기 때문입니다. 하지만 컨테이너만으로 실제 상용 서비스를 운영하기에는 부족한 부분이 있습니다. 그래서 컨테이너 오케스트레이션이 필요로 한 것입니다.

 

실제 상용 서비스를 운영할 때는 서버 하나만 운영하지 않습니다. 서버 하나에 장애가 발생했을 때 그 장애 때문에 상용 서비스에 영향이 받지 않도록 여러 대 서버를 이용해서 상용 서비스 하나를 구성합니다. 이런 상용 서비스 구성에서 컨테이너만 단독으로 사용한다고 생각하면 아래 그림과 비슷하게 상용되는 환경마다 직접 관리를 해줘야합니다.

하지만, 오케스트레이션 시스템을 사용하면 수동제어 부분을 모두 자동화 할 수 있습니다.

반응형

'Books' 카테고리의 다른 글

3. 오브젝트와 컨트롤러 - 1  (0) 2023.03.29
2. 쿠버네티스 아케틱처  (0) 2023.03.28
profile

Ops-Beginner

@asher_r

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!