티스토리 뷰

요즘 한참 쿠버네티스에 딥-다이브 하기 위해서 여러 가지 책을 닥치는 대로 읽고 있는데 마침 한빛미디어에서 리뷰를 제안한 책이 쿠버네티스 관련된 책이었다. 제목이 거창하지만 입문하는 사람도 충분히 읽을 수 있을만한 책이라고 생각된다. 컨테이너란 무엇인지부터 천천히 알아보고 쿠버네티스의 발전 배경에 대해서도 다룬다. 

Cloud Native DevOps with Kubernetes

 

클라우드 네이티브 데브옵스라는 이름에 걸맞게 GCP, AWS, Azure 등에서의 쿠버네티스도 가볍게 설명해주고 있으며 관리를 위해 알아야 하는 파드, 클러스터, 스케줄러, 디플로이먼트 등 용어를 하나씩 실습을 통해서 익힐 수 있도록 해준다. 

 

  • 파드 : 하나 이상의 컨테이너 그룹으로 구성된 쿠버네티스 오브젝트
  • 클러스터 : 여러 대의 물리적인 서버를 묶어놓은 상태
  • 스케줄러 : 노드에서 아직 실행되지 않는 파드를 감시하고 적합한 노드를 찾은 다음 해당 노드의 kubelet이 파드를 실행하도록 지시
  • 네임스페이스 : 클러스터를 원하는 목적에 따라 세부 공간으로 논리적으로 나누는 것

실제로 쿠버네티스를 운영하게 되면 무시할 수 없는 부분이 바로 비용인데 이 부분의 최적화에 대한 글도 빼놓지 않고 있다.

 

  • 클러스터 비용 최적화하기
  • 디플로이먼트 최적화하기
  • 파드 최적화하기
  • Vertical Pod Autoscaler
  • 노드 최적화하기
  • 스토리지 최적화하기
  • 사용하지 않는 리소스 정리하기
  • 활용도가 낮은 리소스 파악하기

배포 시에 문제가 생길 수 있는 부분은 디스케줄러(descheduler)를 제시하면서 워크로드를 균형 있게 유지하는 방법에 대해 설명한다. 

 

책의 중간쯤 도달하면 쿠버네티스 환경을 터미널에서 제어할 수 있는 kubectl 명령어에 대한 소개가 나오는데 잠시 쉬어가는 챕터쯤으로 생각하면 된다. 명령어 옵션들의 소개와 함께 예제를 보여주고 있다. 쿠버네티스 버전이 업그레이드되어도 변함없이 계속 제공될만한 핵심적인 것들이기 때문에 숙지해두면 좋겠다.

 

이 책은 컨테이너와 파드에 대해 꽤 심도 있게 다루는 것이 다른 책과의 차이점이라고 볼 수 있다. 컨테이너의 원리와 보안적인 측면을 다른 책에 비해 상세히 다루고 있으며 파드에 대해 지면의 꽤 많은 양을 할애하고 있다. 컨테이너나 파드는 쿠버네티스를 이루는 가장 기본적인 요소인데 그만큼 기본기를 확실히 잡아주고 있다는 뜻이다.

 

책의 후반부에서는 배포 전략으로 아래 내용들을 다룬다.

 

  • 롤링 업데이트
  • Recreate
  • maxSurge와 maxUnavailable
  • 블루/그린 배포
  • 레인보우 배포
  • 카나리아 배포

인프라 관리를 해본 사람이라면 한번쯤 들어봤을 만한 전략들인데 다시 한번 개념을 정리하기에 좋다.

 

 

# 마무리

 

이 책 한권으로 쿠버네티스를 마스터하는 것은 불가능하다. 아니 그 어떤 책이 세상에 나오더라도 그건 불가능하다. 공식 문서와 함께 여러 책을 읽고 회사들의 기술 블로그를 통해 선배들이 겪은 이슈로 감을 잡는 방법밖에는 없다. 그럼에도 이 책은 여러 가지 상황에 대해서 나름 빠짐없이 잘 정리하고 있기 때문에 쿠버네티스를 공부하는데 필연적으로 거쳐가야 하는 책이 될 것을 보인다.

 

 

 

 

 

댓글
댓글쓰기 폼