쿠버네티스 창시자가 알려주는 최신 쿠버네티스 개발 및 배포 기법

 

브랜던 번스, 에디 비얄바, 데이브 스트레벨, 라클런 이븐슨 지음 / 장정호 옮김

 

"한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."

 

10월, 나는 리뷰어다 활동의 9번째 리뷰.

(8번째 리뷰는 완성하지 못하여 비공개입니다. 흙흙)

 

여차저차하여 쿠버네티스 모범 사례 책을 받게 되었다. 회사는 Azure 클라우드 환경에서 개발 및 배포를 진행하기 때문에 쿠버네티스 파이프라인 구성이 굉장히 중요하다. 본인은 아직 주니어기 때문에 쿠버네티스 구성을 직접 한다거나 수정하는 등의 중책을 맡고 있지는 못하지만, 그래도 어떻게 굴러가는 건지는 알아야 할 것 같아서 신청하였다.

 

일단, 쿠버네티스란 무엇인가?

https://kubernetes.io/ko/docs/concepts/overview/what-is-kubernetes/

 

쿠버네티스란 무엇인가?

쿠버네티스는 컨테이너화된 워크로드와 서비스를 관리하기 위한 이식할 수 있고, 확장 가능한 오픈소스 플랫폼으로, 선언적 구성과 자동화를 모두 지원한다. 쿠버네티스는 크고 빠르게 성장하

kubernetes.io

쿠버네티스는 컨테이너화워크로드서비스를 관리하기 위한 이식성이 있고, 확장 가능한 오픈소스 플랫폼이다. 쿠버네티스는 선언적 구성자동화를 모두 용이하게 해 준다. 크고, 빠르게 성장하는 생태계를 가지고 있다. 쿠버네티스 서비스, 기술 지원 및 도구는 어디서나 쉽게 이용할 수 있다.

-----

좋은 것 같긴 한데 도통 뭐라는건지 전혀 모르겠다. 회사 프로젝트가 쿠버네티스를 이용하고 있음에도 이런다. 그나마 도커는 조금 알고 이해하고는 있지만 ...

 

그럼, 쿠버네티스가 왜 필요하고 무엇인지 알아보자.

- 서비스 디스커버리와 로드 밸런싱

- 스토리지 오케스트레이션

- 자동화된 롤아웃과 롤백

- 자동화된 빈 패킹(bin packing)

- 자동화된 복구(self-healing)

- 시크릿과 구성 관리

---

역시 잘 모르겠다. 하하하하하하...

 

쿠버네티스가 더 궁금하다면 조대협님이 블로그를 정독하도록 하자.

https://bcho.tistory.com/1255

 

쿠버네티스 #1 - 소개

Kubernetes #1 - 소개 조대협 (http://bcho.tistory.com) 배경 도커와 쿠버네티스를 알게 된건 수년전인데, 근래에 들어서 다시 쿠버네티스를 보기 시작하였다. 컨테이너 기반의 환경은 배포에 장점이 있고

bcho.tistory.com

자 그럼 이 책에 대해서 알아보자. 이제 본론이다.

옮긴이의 말을 보면, 이 책을 통해 15년 이상 쌓아온 구글의 노하우를 터득할 수 있다고 한다. 쿠버네티스는 자유도가 높기 때문에 제대로 활용할 방법을 찾는 것에 많은 시간과 노력이 든다고 한다. 쿠버네티스의 창시자인 브렌던 번스가 다양한 실무자를 도우며 경험한 내용을 담았으며 초보 실무자는 물론 경험이 많은 프로 실무자에게도 꼭 필요한 책이라고 한다.

 

책의 구성을 보자.

각 장은 독립적인 형태로 구성되어 있으며 각 장은 쿠버네티스에서 수행하는 특정 작업에 대한 전반적인 개요와 같으므로, 특정 주제를 배우고 싶거나 관심사가 생겼을 때 찾아서 읽으면 더 효율적이다.

 

사실 쿠버네티스는 클라우드 네이티브 개발의 사실상 표준으로, 애플리케이션을 더 쉽게 개발하고 빠르게 배포하고 안정적으로 운영하도록 돕는 강력한 도구이다. 이 책은 쿠버네티스를 소개하는 책이 아니며, 독자가 기본적인 쿠버네티스 API와 도구와 친숙하며 쿠버네티스 클러스터를 생성하고 상호작용하는 법을 안다고 가정한다. 아무튼 쿠버네티스에 관심 있는 사람이 보기에 참 좋은 책이라는 이야기다.

 

CONTENTS

1. 기본 서비스 설치

2. 개발자 워크플로

3. 모니터링과 로깅

4. 설정, 시크릿, RBAC

5. 지속적 통합, 테스트, 배포

6. 버전, 릴리스, 롤아웃

7. 글로벌 애플리케이션 분산과 스테이지

8. 리소스 관리

9. 네트워킹, 네트워크 보안, 서비스 메시

10. 파드와 컨테이너 보안

11. 클러스터 정책과 거버넌스

12. 다중 클러스터 관리

13. 외부 서비스와 쿠버네티스 통합

14. 쿠버네티스에서 머신러닝 실행하기

15. 고수준 애플리케이션 패턴 구축

16. 상태와 스테이트풀 애플리케이션 관리

17. 어드미션 컨트롤과 권한

18. 결론

 

CONTENTS를 보면 실무자가 어려움에 처했을 때 케이스를 쉽게 찾을 수 있도록 구성되어 있다.

배포를 할 때 문제가 발생하였다면 5번 CONTENTS를 먼저 참고하고, 책 뒤에 있는 INDEX를 참고하면 될 일이다.
(사실, 그전에 갓글 검색 먼저 하겠지만 말이다.)

 

5장 지속적 통합, 테스트, 배포

책을 보면 명령어와 함께 순서대로 설명을 잘해주기 때문에 그대로 따라 해 보면 바로 적용해 볼 수 있다.

게다가 각 챕터의 끝에는 모범 사례를 말하지만 꿀팁을 제공하고 있는 부분이다.

5.10 CI/CD 모범 사례

5장에서는 CI/CD 파이프라인이 쿠버네티스에 애플리케이션을 전달할 때 위험을 줄이고 처리 속도를 높이는 역할을 하는 부분에 서술하였고, 배포 전략까지 다루고 있다.

 

참말로, 현재 쿠버네티스를 다루고 있는 실무자라면 바로 적용해 볼 수 있는 부분들이 많아서 큰 도움이 된다.

 

본인은 아직 이 책의 전부를 읽어보진 않았고, 필요한 부분만 발췌해서 보고 있지만 앞으로 사전처럼 자주 볼 책임이 분명하다.

언젠가는 쿠버네테스에 관련해서도 블로깅 해보리라 다짐한다.

(현실은 시작한 시리즈가 없지만!!)

 

오늘도 괴발개발 코드 몽키는 조금 더 똑똑한 코딩을 하려 하고 있다.

+ Recent posts