메뉴 바로가기 검색 및 카테고리 바로가기 본문 바로가기

한빛출판네트워크

매니징 쿠버네티스

창시자가 알려주는 쿠버네티스 클러스터 현장 운영 기법

한빛미디어

번역서

판매중

  • 저자 : 브렌던 번스 , 크레이그 트레이시
  • 번역 : 오성근
  • 출간 : 2019-06-05
  • 페이지 : 216 쪽
  • ISBN : 9791162241929
  • 물류코드 :10192
  • 초급 초중급 중급 중고급 고급
4.1점 (20명)
좋아요 : 2

아키텍처 이해에서 재해 복구까지, 쿠버네티스 운영자를 위한 핵심 노트 

 

이 책은 쿠버네티스 기능을 최대로 활용하고 싶은 개발자와 운영자를 위한 책입니다. 쿠버네티스의 구성 방식과 작동 원리를 분석하고 주요 개념을 정리합니다. 그 후 특정 유스 케이스에 맞게 클러스터를 구축, 유지, 조정하는 관리 방법도 알아봅니다. API 서버에서 컨테이너 스케줄링과 네트워킹, 사용자 관리, 모니터링, 재해 복구, 업그레이드까지! 쿠버네티스 창시자인 브렌던 번스와 헵티오 엔지니어 크레이그 트레이시와 함께 쿠버네티스 운영을 위한 중요한 개념을 쉽고 빠르게 정리해보길 바랍니다.

 

브렌던 번스 저자

브렌던 번스

마이크로소프트 애저의 최고 엔지니어. 쿠버네티스 오픈 소스 프로젝트의 공동 설립자다. 10년 넘게 클라우드 애플리케이션을 구축해왔다.

 

크레이그 트레이시 저자

크레이그 트레이시

20년 경력의 인프라 엔지니어. 커널 장치 드라이버부터 대용량 클라우드 스토리지 서비스와 분산 컴퓨팅 플랫폼에 이르기까지 다양한 개발 경력이 있습니다. 현재 헵티오Heptio의 현업 개발자로 클라우드 네이티브 아키텍처의 원칙을 가르치며 다양한 기관이 쿠버네티스를 도입하는 것을 돕고 있습니다. 별다른 일이 없을 땐 보스턴에서 지내며 하키와 유럽 여행을 즐깁니다. 로드아일랜드주 프로비던스 칼리지Providence College에서 컴퓨터 과학 학사 학위를 받았습니다.

오성근 역자

오성근

SK텔레콤에서 통신망 시스템에 대한 구축/운용, 성능 개선/문제 해결 업무를 거쳐 현재 Core엔지니어링팀에서 설계/CAPEX 투자/신기술 도입 등의 업무를 맡고 있다. 5G/4G Gateway, MEC 시스템을 담당하고 있으며 최근에는 SKT 통신망과 AWS 클라우드를 융합하는 AWS 웨이브렝스(WaveLength) 프로젝트도 진행하고 있다. 빠르게 발전하는 IT/클라우드 환경에서 안정적인 통신 시스템을 만들도록 노력하고 사내 강사로 활동하고 있다. 중앙대학교에서 컴퓨터 공학 학사를 따고, 고려대학교에서 컴퓨터 공학 석사로 졸업했으며 동 대학원에서 기술경영학 박사 과정을 밟고 있다. AWS, MS Cloud Admin, 레드햇 RHCE/RHCVA/OpenStack, 오라클 OCP, CISSP, CISA 등의 자격증을 보유하고 있으며 번역서로 『VMware vSphere6 서버 가상화 구축과 운용』(에이콘출판사, 2015) 외에도 『오픈스택 인 액션』(2016), 『처음 시작하는 AWS 람다』(2016), 『매니징 쿠버네티스』(이상 한빛미디어, 2019)가 있다.

 

CHAPTER 1 쿠버네티스란

1.1 클러스터 작동 방식 

1.2 클러스터 조정, 보안, 적용하기 

1.3 문제에 대응하기 

1.4 새로운 기능과 사용자 정의 기능으로 시스템 확장하기 

1.5 마치며 

 

CHAPTER 2 쿠버네티스 살펴보기

2.1 컨테이너 

2.2 컨테이너 오케스트레이션 

2.3 쿠버네티스 API 

2.4 마치며 

 

CHAPTER 3 아키텍처

3.1 개념 

3.2 구조 

3.3 구성 요소 

3.4 마치며 

 

CHAPTER 4 쿠버네티스 API 서버

4.1 관리 효율을 위한 기본 특성 

4.2 API 서버의 구성 

4.3 요청 관리 

4.4 API 서버 내부 

4.5 API 서버 디버깅 

4.6 마치며 

 

CHAPTER 5 스케줄러

5.1 스케줄링이란 

5.2 스케줄링 프로세스 

5.3 스케줄링 제어하기 

5.4 마치며 

 

CHAPTER 6 쿠버네티스 설치

6.1 쿠베어드민 

6.2 컨트롤 플레인 설치 

6.3 워커 노드 설치 

6.4 애드온 

6.5 단계 

6.6 고가용성 

6.7 업그레이드 

6.8 마치며 

 

CHAPTER 7 인증과 사용자 관리

7.1 사용자 

7.2 인증 

7.3 쿠베컨피그 파일 

7.4 서비스 계정 

7.5 마치며 

 

CHAPTER 8 인가

8.1 REST 

8.2 인가 

8.3 역할 기반 접근 제어 

8.4 마치며 

 

CHAPTER 9 승인 제어

9.1 설정 

9.2 일반 컨트롤러 

9.3 동적 어드미션 컨트롤러 

9.4 마치며 

 

CHAPTER 10 네트워킹

10.1 컨테이너 네트워크 인터페이스 

10.2 kube-proxy 

10.3 서비스 검색 

10.4 네트워크 정책 

10.5 서비스 메시 

10.6 마치며 

 

CHAPTER 11 모니터링

11.1 모니터링의 목표 

11.2 로깅과 모니터링 

11.3 모니터링 스택 구축 

11.4 모니터링 대상 

11.5 마치며 

 

CHAPTER 12 재해 복구

12.1 고가용성 

12.2 상태 

12.3 애플리케이션 데이터 

12.4 워커 노드 

12.5 etcd 

12.6 아크 

12.7 마치며 

 

CHAPTER 13 쿠버네티스 확장하기

13.1 쿠버네티스 확장 포인트 

13.2 클러스터 데몬 

13.3 클러스터 어시스턴트 

13.4 API 서버의 생명 주기 확장 

13.5 사용자 정의 API 추가하기 

13.6 마치며 

 

CHAPTER 14 마지막으로

쿠버네티스 운영자를 위한 『매니징 쿠버네티스』

쿠버네티스를 활용해 애플리케이션을 구축하고 배포하는 방법을 설명하는 온라인 문서나 출판물이 많이 있지만, 쿠버네티스 클러스터를 설치, 유지/관리, 업그레이드하는 운영자를 위한 내용은 비교적 적습니다. 이 책은 개발자와 운영자 간의 정보 격차를 좁히고자, 쿠버네티스를 성공적으로 운영하는 데 필요한 정보를 간결하게 모았습니다.

 

창시자가 알려주는 쿠버네티스 클러스터 현장 운영 기법

쿠버네티스 창시자 브렌던 번스와, 헵티오 엔지니어 크레이그 트레이시가 쿠버네티스를 운영하며 겪은 다양한 경험과 지식을 공유합니다. 이 책은 클라우드 네이티브 환경에서 애플리케이션을 개발하는 개발자보다는, 개발자를 위해 클러스터를 안정적으로 유지하는 일을 맡은 인프라 운영자를 위한 세부 정보에 집중했습니다. 

 

이 책에서 다루는 내용

  • 클러스터의 동작 방식과 애플리케이션 배포 방법
  • 클러스터를 조정, 보안, 적용하는 쿠버네티스 API 결합 및 옵션 설정 방법
  • 컨테이너를 실행하고 적절한 노드에 스케줄링하는 방법
  • 사용자의 신원을 확인하고 접근 수준을 결정하는 인증 및 인가 방법
  • 클러스터 모니터링으로 문제를 미리 발견하며, 장애 발생 시 신속하게 대응하는 방법
  • 재해 복구 전략 수립 및 자동 재해 복구 방법
  • 쿠버네티스 확장 클러스터를 기반으로 구축, 확장, 개선하는 라이브러리, 툴, 플랫폼을 추가하는 방법

(이미지 출처 : yes24)

매니징 쿠버네티스

이번달 내가 받은 책은 쿠버네티스에 대한 책이다.

도커, 쿠버네티스... 많이 들어봤지만 아직 잘 모르기에 일단 신청 부터 해봤다.

IT 분야중 인프라 분야에서 가장 큰 이슈는 가상화 부분일 것이다.

하지만 꽤나 오래전 부터 우리는 이런 시스템을 많이 이용해 왔다.

개발자들은 자신의 로컬 컴퓨터에 vmware 등을 설치해 이기종의 OS를 설치하여

개발환경이나 테스트 환경을 사용해 왔다.

이제 이것이 IT 인프라 영역 전반에 퍼진 것이다.

개발자라면 누구나 '도커(Docker)'와 '쿠버네티스(Kubernetes)'를 많이 들어 보았을 것이다.

쿠버네티스에 대해 간단히 소개 하자면 '컨테이너'화된 애플리케이션을 배포/관리하기 위한 도구로 이해하면 될 듯 하다.

여기서 '컨테이너' 라는 용어의 의미가 중요하다.

쿠버네티스의 공식 홈페이지를 보면 "'컨테이너'는 애플리케이션을 포장하고 실행하는 좋은 방법" 이라고 말하고 있다.

컨테이너는 각 애플리케이션이 실행될 독립된 작은 OS라고 보면 된다.

즉, 쿠버네티스는 이런 수많은 작은 OS들을 관리하기 위한 도구라고 이해하면 접근하기 쉬워질 것이다.

책의 구성은 알차다.

쿠버네티스의 창시자가 저자이기 때문인지 내용의 구성이 상당히 잘 짜여져 있다.

쿠버네티스의 기본 개념부터, 아키텍처, API 서버 구성, 스케줄러, 인증과 사용자 관리, 네트워킹, 모니터링 등

관리에 필요한 모든 부분이 잘 정리되어 있다.

하지만 이 책은 쿠버네티스 사용법에 대한 가이드 매뉴얼이 아니다.

쿠버네티스를 이용해 당장 컨테이너를 관리하기 사람이라면 다른 책을 찾아야 한다.

이 책은 조금 전에 이야기한 쿠버네티스의 기능들을 관리하기 위해 알아야 할 기본적인 사상과 동작 원리를 다루고 있는 책이다.

따라서 쿠버네티스를 처음 접하는 분들에게 추천하기 어렵다.

하지만 쿠버네티스를 통해 개발을 경험해본 사람 중 쿠버네티스의 기본적인 내용에 대해 알고 싶어 하는 사람이라면

한 번 쯤은 읽어 보아야 하지 않을까 싶다.

그중에 쿠버네티스를 이용해 인프라를 관리하는 사람이나, 해당 팀원 이라면 반드시 읽어 보았으면 한다.

매니징쿠버네티스_축소.jpg

 

 

   쿠버네티스의 공동창시자 중 한 명인 브렌던 번스인 집필한 책. 일반적으로 각 기능에 대한 정의와 실습예로 알려주는 책들과는 다르게 동작원리나 과정 등이 자세하게 설명되어 있습니다.

   책이 얇은만큼(약 210페이지) 쿠버네티스가 무엇인지 알고 싶다면 기존의 API위주위 서적처럼 필요한 부분만 골라 읽는 방식이 아닌 전체적으로 내용을 훝어보는 것이 좋을 것 같습니다. 특히 인증이나 네트워크, api 서버 등에 대한 내용들은 당장 쿠버네티스를 활용할 때보다 이후에 관리나 운영 등으로 넘어간 이후에 도움이 되는만큼 알아두면 나중에 큰 도움이 될 것입니다.

이 책은 Kubernetes 를 구축해봤거나 운영하고 있는 등 다뤄본 경험이 있으면서 Kubernetes 에 대해 좀 더 세부적으로 이해해보고 싶은 사람에게 적합한 책인 것 같습니다

 

 

 

27E49FBC-41E0-44BD-A2E2-9A00E2A480BD.jpeg

 

 

쿠버네티스에 대해서는 매우 라이트한 사용자였다. '매니징 쿠버네티스'는 실제 창시자가 알려주는 쿠버네티스 운영에 대한 내용이라 개발자의 시각에서 더 깊게 이해하기 좋을 것이라는 기대로 이 책을 시작했다. 

 

1-2장에서는 쿠버네티스의 몇 가지 개념에 대해 다루고 있다. 기초적인 사항은 이미 알고 있다는 전제로 시작하기 때문에 처음 쿠버네티스를 접한다면 다른 참고자료를 접하기를 권고하고 있다. 2장에서는 대략적인 컴포넌트들을 간략한 요약정도로만 다루고 있다. 

 

3장은 쿠버네티스 아키텍쳐로 설계 원칙과 구성 등에 대해 알수있다. 쿠버네티스는 선언적 구성을 채택했다. (그동안은 대체로 일련의 명령어를 나열하는 식의 명령어 구성을 알고 있었던 것 같다.) 선언적 구성으로 능동적으로 개발자가 원하는 상태로 제어되는 것이 가능했다. 설계에 대해서는 유닉스 철학(각자 하나의 일을 잘 수행하게)을 기반으로 유연하게 모듈화되어 있고 모든 상호작용이 API기반으로 동작한다. -이 API는 API 서버로 4장에서 구체적으로 다룬다. 또 시스템 레벨의 노드 구성에 대해서 구체적으로 알 수 있다.  

 

4장 API 서버와 5장 스케줄러까지는 좀 더 심화된 아키텍쳐를 다루고 6장부터는 설치 등 운영에 대한 내용이 나오기 시작한다. 만약 운영으로 골머리를 앓고있는 개발자라면 미리 고난을 피할 수 있거나 도움이 될 것 같았다.  

 

사용자로서 쿠버네티스의 내부를 좀 더 잘 이해하기 좋은 책이었다.

 

 

 

KakaoTalk_20200823_225707504_02.jpg

 

 

기본기에 충실한 책으로 기본기부터 심화까지 전부 완벽하게 다룰 순 없지만, 기본 입문용으로는 괜찮은 것 같습니다.

 

클라우드 컴퓨팅은 기본적으로 컨테이너에 대한 이해도가 필요하니 잘 모르시는분들은 컨테이너 이해하신 후 읽으시면 될 것 같습니당.

먼저 이 책에 대해 한줄평을 하자면 '쿠버네티스의 모든것을 담고있는 책'으로 표현할 수 있을 것 같습니다.

211페이지밖에 안되는 얇은 책입니다만 '모든것'을 담고 있다고 얘기할 정도로 많은 내용이 실려 있습니다.

책의 구성은 다음과 같습니다.

CHAPTER 1. 쿠버네티스란
CHAPTER 2. 쿠버네티스 살펴보기
CHAPTER 3. 아키텍처
CHAPTER 4. 쿠버네티스 API 서버
CHAPTER 5. 스케줄러
CHAPTER 6. 쿠버네티스 설치
CHAPTER 7. 인증과 사용자 관리
CHAPTER 8. 인가
CHAPTER 9. 승인 제어
CHAPTER 10. 네트워킹
CHAPTER 11. 모니터링
CHAPTER 12. 재해복구
CHAPTER 13. 쿠버네티스 확장하기

책의 초입에서 얘기하듯 이 책은 쿠버네티스를 운영하는 사람이나 아키텍처와 설치 및 유지방법에 대한 깊은 지식을 얻고자 하는 사람을 위한 책입니다.

그렇기 때문에 모든 것을 설명해주고 어쩌면 재미없게 느낄수도 있습니다.

분명 쿠버네티스 초보자를 위한 책은 절대로 아닙니다. 많은 내용이 이론적인 내용으로 이루어져 있으며 쿠버네티스를 정말 맛만 보긴 했습니다만 기본적인 쿠버네티스에서 사용하는 용어 정도는 알고 있는 저 조차도 쉽지 않은 내용이 대부분이었습니다.

하지만 서비스 환경 변화의 필요성을 느끼든 아니면 쿠버네티스 도입을 검토하라는 지시가 내려왔든 실제로 환경을 구성할 필요가 있는 분이라면 그리고 사용자 관점이 아닌 운영자 관점에서 깊이있게 알아볼 필요가 있는 분이라면 이 책을 보고 상세히 쉽게 얘기하고 있는 다른 도서도 참고하는 것도 괜찮을 것 같다는 생각이 듭니다.

표지01.jpg

 

*******  이 책의 특징

 

이 책은 쿠버네티스가 어떻게 작동하는지 정리하고 쿠버네티스 클러스터를 성공적으로 운영하는 데 필요한 세부 주제를 자세히 설명하고 있습니다.


다소 내용의 수준이 높다고 할 수 있다.


*******  이 책은 각 장과 각 절의 내용은 어느 정도 독립적이다.


*******  이 책이 다루는 범위


1장. 쿠버네티스란


2장. 쿠버네티스 살펴보기


3장. 아키텍처


4장. 쿠버네티스 API 서버


5장. 스케줄러


6장. 쿠버네티스 설치


7장. 인증과 사용자 관리


8장. 인가


9장. 승인 제어


10장. 네트워킹


11장. 모니터링


12장. 재해 복구


13장. 쿠버네티스 확장하기

 

로 구성이 되어있다.

====================================================================

쿠버네티스는 함께 제공되는 핵심 API도 훌륭하지만 필요에 맞게 클러스터의 사용자를 정의할 수 있는 동적 확장 포인트 측면에서도 우수한걸 이 책을 통하여 알 수가 있습니다.


실무에서 사용되고 바로 적용 가능한 내용들을 위주로 책이 쓰여져 있어

서 초급자가 보기에는 난이도가 있다고 생각합니다.


다양한 실습보다는 왜라는 질문의 형식이라 초급자가 보기에는 쉽게 접근이 어렵습니다.


 

책에 총평을 하자면 - 어느정도 클라우드 개념과 쿠버네티스에 대한 이해가 있어야 볼만하다고 생각됩니다. 클라우드에 대해서 전반적으로 알고 계신다면 충분히 가치가 있는 책이라고 할 수 있습니다.

k8s.png

 

devops 에서 대세이며 필수로 된 컨테이너 오케스트레이션 툴인 쿠버네티스 책이다. 쿠버네티는 kubernetes 혹은 k8s 라고 줄여서 사용을 하는데 쿠버네티스가 영어로 너무길어서 앞글자인 k와 끝글자 s 사이의 문자는 8개이므로 k8s 라고 부르기도 한다. 쿠버네티스의 한글화는 생각보다 많은 분들이 참여하여 높은 수준의 한글화는 되어있고, 여러 레퍼런스들을 보면 실질적으로 운영을 하는 환경은 클라우드환경에서 구축된 내용들이 많다. 클라우드 기반은 해당 클라우드 제공업체들이 기반을 제공해 주기 때문에 쿠버네티스 운영을 하기 좀더 수월하지만 그렇지 못한 환경에 관한 내용들이 많이 부족한데, 이책은 클라우드 기반이 아닌 환경에서 운영하는 노하우와 개념을 설명을 해주고 있기 때문에 관련 책을 보려면 이부분을 확인하고 구입하는게 좋을 것 같다. 쿠버네티스를 공동 개발한 저자가 쓴 관점에서 책을 보니 새로운 시각에서 보는 즐거움이 있고, 깊이가 있는 것보단 쿠버네티스를 사용하기 위한 중간 다리를 해주는 아주 중요한 책인 것같다. 위에 말한바와 같이 자신의 환경이 클라우드 환경이 아니라면 이책은 필수로 읽어야 하는책이라고 강력하게 말하고싶다.

  본 글은 한빛미디어 측의 "나는 리뷰어다" 프로그램을 통해 무상으로 제공받아 작성된 글입니다 

 

Image from iOS.jpg

 

 

 이번에 읽은 책은 매니징 쿠버네티스를 선택하였다. ​ 

 

 백엔드 개발자라 항상 인프라를 구축을 해왔다. 

 

그렇다고 너무 신기술로 구축한 것도 아니고 익숙한 환경으로 구축을 해오다 보니 ​ 발전이 없겠다는 위기의식에 이 책을 선택하였다. ​ 

 

 그리고 이미 나온 지는 꽤 되었지만 도커로 애플리케이션 환경을 구축하다 보면 도커 또한 여러 개의 서버와 서비스를 관리해 주는 서비스인 컨테이너 오케스트레이션이 있다. 하지만 서버가 많아지면 관리가 하기 힘들고 그래서 나온 게 쿠버네티스인거다. ​ 

 

 나도 아주 간단히만 이해하고 있는 거다. 지금은 회사에서는 AWS를 이용하지만 그렇다고 도커 기반의 인프라가 아닌 실제로 AWS에 종속적인 서비스로만 인프라로 되어있어서 나중에 AWS에서 제공하는 EKS(https://aws.amazon.com/ko/eks/ Amazon EKS – 관리형 Kubernetes 서비스Amazon EKS는 자체 Kubernetes 클러스터를 설치 및 운영할 필요 없이 AWS에서 쉽게 Kubernetes를 실행할 수 있게 해줍니다.aws.amazon.com )라는 게 있는데 이게 쿠버네티스랑도 비슷한 기술이라 먼저 선행기술인 쿠버네티스 이론 및 운영방법을 알고 싶어서 선택한 책이다. ​ ​ ​ 

 

 일단은 이 책을 선택한 이유는 쿠버네티스를 운영할 때 어떤 방식으로 운영하는지 또한 쿠버네티스를 창시한 브레던 번스라는 쿠버네티스의 공동 창시자가 직접 서술한 책이므로 더욱더 신뢰도가 있었다. ​ ​ ​ 

 

 확실히 이 책은 실습은 없다. 단지 운영에 관한 전반적인 노하우가 깃들여 있는 책이다. 

 이 부분을 확실하게 인지하고 이 책을 읽기를 바란다. ​ 난 실습이 있는 줄 알았는데; 생각 외로 없다.. 없다.. 이 책은 주로 개념 위주의 설명이 되어 있다. ​ 

 

 이 책의 대상 독자는 책의 서두에 너무 잘 나와 있었다... 이 책은 쿠버네티스를 운영하는 사람이나 아키텍처와 설치 및 유지 방법에 대한 깊은 지식을 얻고자 하는 사람을 대상으로 합니다. 매니징 쿠버네티스 - 한빛미디어 ​ 

 

 그리고 처음 접하는 거고 개인적으로 도커도 미리 공부하고 보면 좋을 것 같다. ​ 

 

 그리고 3장 쿠버네티스 API에 대한 설명 중에 오픈 API 규격 스웨거도 지원한다는 게 신기했다. 

아는 거 나와서 반가웠음 ​ 그리고 이 책을 읽을 때는 일단은 쿠버네티스 기준에서 생각을 해야 한다. 

 

쿠버네티스의 기준에서 API 서버는 쿠버네티스 리소스나 생성할 때 API를 이용해서 생성할 수도 있다는 점 등.. 쿠버네티스 API가 많이 중요하다고 한다. 

 

책 내용을 읽다 보면은~! ​ 

 

 이 책을 읽으면서 좋았던 점은 ​ 

 첫 번째로 그래도 각종 도표로 개념을 이해시키는 점이 좋았습니다. ​ 

 두 번째로 쿠버네티스에서는 그래도 애플리케이션이 돌아가기 위한 각종 인프라에 대한 설명이 잘되어 있습니다. 쿠버네티스를 통해 프록시,쿠버DNS 서버 등, 쿠버 프록시 관련 등 내용이 있으니 인프라 관련된 공부도 될 수도 있을 것입니다. ​ 

 세 번째로 이 책은 아무래도 쿠버네티스로 운영 인프라를 운영하는 인프라 운영자들에게는 정말 세부적인 운영방법들이 있어서 참고할 만한 정보가 많다는 점. ​ 

 네 번째로 그리고 중간중간 하단에 옮긴이주 내용이 자세하게 적혀있어서 용어의 이해를 하기에 좋았다. ​ 

 

 이 책은 추후에 다시 한번 볼 것 같다. 추후에 쿠버네티스로 인프라를 세팅을 하고 난 후에 운영 면에서 많이 참조를 할 것 같다. ​ ​ 

 

 

 

 

이 글은 2020년 7월 한빛미디어에서 진행하는 <나는 리뷰어다리뷰어다> 프로그램에 참여하게 되어 책을 제공받아 글을 작성하였습니다.

매니징 쿠버네티스 표지

이번 7월 리뷰어로 참여하면서 받게 된 책은 '매니징 쿠버네티스'라는 책이다.

이 책을 신청한 이유


이제 학부생 4학년이 되고 대학원이 아닌 취업을 하겠다고 마음먹은 지 약 5개월이 지났다.
그러면서 코딩 테스트를 대비하기 위해 알고리즘 책도 사고, Docker에 대해 공부하기 위해 책도 사고 내가 부족한 부분을 공부하기 위해 계속 책만 사놓고 있다.  하지만 정작 사놓고 아직까지 1장도 못 열어봤다. 

사실 매달 <나는 리뷰어다> 프로그램을 통해 한빛 미디어에서 내가 선택한 3권 중 1권을 선택하여 보내주시지만, 종합 프로젝트 결과물을 완성시키기 위해 약 3개월간은 책을 완벽하게 읽지 않고 적은 적도 2번 정도 있었던 거 같다. 그 당시 책 선정 역시 내가 아는 지식의 책을 받아서 적은 적이 더 많았다.

하지만 여름 방학이 시작되고 시간이 널널 해지면서 내가 공부하고 싶은 분야의 책을 신청하여 받기로 다짐했다.

그 첫 번째 책은 "매니징 쿠버네티스"라는 책이다.
이 책은 제목에서 알 수 있듯이 최근 많은 기업에서 사용하는 쿠버네티스에 관한 책이다. 이번 달에 신청 한 책중에서 사실 이 책을 받길 원했었는데 다행히 이 책이 와서 쿠버네티스에 대해 공부할 수 있게 되었다. (한빛 미디어 관계자님께 정말 감사하다는 말을 전하고 싶다 ㅠㅠ)

이 책을 받기 원했던 가장 큰 이유는 위에서 언급했듯이 나는 취업준비생이다.
여름 방학부터 인턴 공고를 시작으로 신입 개발자 공고를 계속 주시하면서 보고 있다. 
많은 기업의 공고를 보다 보면 Docker와 쿠버네티스 사용 경험이 있는 사람을 우대하고 있는것을 볼 수 있다. 그 만큼 많은 기업이 Docker와 쿠버네티스 환경을 사용하고 있음을 알 수 있었고, Docker와 쿠버네티스 환경을 한 번이라도 사용해 봐야겠다고 생각했다.

목차


이 책의 목차는 다음과 같다.


CHAPTER 1 쿠버네티스란
CHAPTER 2 쿠버네티스 살펴보기 
CHAPTER 3 아키텍처
CHAPTER 4 쿠버네티스 API 서버
CHAPTER 5 스케줄러
CHAPTER 6 쿠버네티스 설치
CHAPTER 7 인증과 사용자 관리
CHAPTER 8 인가
CHAPTER 9 승인 제어
CHAPTER 10 네트워킹
CHAPTER 11 모니터링
CHAPTER 12 재해 복구
CHAPTER 13 쿠버네티스 확장하기
CHAPTER 14 마지막으로

책의 구성은 정말 알차고, 초심자가 읽기 편하게 되어있다. 
총 14개의 챕터로 나누어져 있으며, 쿠버네티스란 무엇인가?를 시작으로 작동원리, 클러스터 운영에 필요한 주제들을 설명하고 있다. 또한 API을 요청하는 법과 처리 하는 방법  및 스케줄 하는 방법 및 장애가 발생시 어떻게 대처 해야하는지 또한 설명 해준다.

챕터만 봐도 쿠버네티스를 시작하여 클러스터를 운영하는 방법까지 설명 해주고 있다.

 

예상독자


1.  쿠버네티스를 운영하는 사람
2. 쿠버네티스를 사용하여 아키텍처 및 설치, 유지 방법에 대해 공부하고 싶은 사람
3. Docker의 개념을 알고, 쿠버네티스를 공부해보고 싶은 사람


이 책의 저자는 Chapter2에서 다음과 같이 설명 하고 있다.

쿠버네티스가 처음인데 시스템위에서 애플리케이션을 만드는데 관심이 있다면, 쿠버네티스에서 애플리케이션을 구축하는 데 필요한 지식을 제공하는 다른 참고 자료를 확인 하는것이 좋습니다. - P27 내용 일부 -

나 역시도 Docker용어에 대해 자세히 알지 못했기 때문에 Docker에 대해 사전 지식(컨테이너, 클러스터 등) 및 용어를 알지 못한채 이 책의 내용을 이해 하려 하니 조금은 어려운 부분이 있었다.
(하지만 용어에 대해 검색하면서 읽으면 충분히 이해 하기 쉽게 설명 되어 있는 책이다.)

 

<본 글은 한빛미디어 측의 "나는 리뷰어다" 프로그램을 통해 무상으로 제공받아 작성된 글입니다.>

매니징 쿠버네티스

들어가며

어느정도 규모가 있는 회사라면 개발 외 다른 부분을 해결해주는 여러 팀들이 존재하겠지만 대부분의 회사들에서는 백엔드 개발자가 많은 부분을 감당해야한다. 그래서 요즘들어 백엔드 개발자가 개발만 잘해서는 부족하다는 생각을 한다. 개발 중간에도 수시로 빌드를 하고, 테스트 서버로 배포를 해야하는데 자동화 되어 있지 않고 일일이 수동으로 배포해야한다면 어떨까? 매일 많은 시간들을 허비하게 될 것이다. 그리고 실제 서비스를 런칭하게 되면 백엔드개발자가 인프라까지 생각해야 될텐데 개발, 빌드, 배포부터 서비스 런칭까지 백엔드 개발자가 이 모든 것들을 감당하는 것이 가능할까? 클라우드와 컨테이너라면 충분히 가능하다고 생각한다. 나 또한 요즘들어 컨테이너와 자동화에 관심이 많이 생겨서 개발보다 더 열심히 공부하고 있는데, 소규모 인원으로 이러한 많은 것들을 관리하고자 하는 요구사항은 어느 조직에나 필요한 부분인지 이미 많은 도구들이 만들어져 있다. 인프라 프로비저닝을 위한 도구로 많이 알려진 테라폼과 컨테이너 관련 도구로 잘 알려진 Docker와 Docker Swarm, Kubernetes와 같은 도구들이 존재한다. 기존에는 Docker를 공부하며 당연히 Docker사에서 밀고 있는 Docker Swarm이 대세가 될 것이라고 생각했는데 얼마 지나지 않아 대형 벤더들에서 쿠버네티스 기반 서비스들을 제공하면서 쿠버네티스로 대동단결 하고 있다.

책을 읽으며

트렌드를 따라가고자 쿠버네티스 관련 책들을 구입해서 읽어보았고, 매니징 쿠버네티스를 읽기 전 가장 최근에 읽었던 책은 쿠버네티스 인 액션이었다. 지금껏 읽었던 쿠버네티스 관련 책들은 각 기능에 대한 설명서였다면 매니징 쿠버네티스는 기능에 대한 이해를 기반으로 실제 운영에 필요한 부분들에 대한 노하우가 담겨져있다. (이펙티브 C++이나 이펙티브 자바와 비슷한 느낌)

이미 쿠버네티스에 대해 잘 알고 있다는 전제하에 기술된 책이다보니 난이도가 꽤 있다. 대신에 전제조건을 갖춘 사람이 읽었을 땐 굉장히 큰 도움이 될 것이라 생각한다. 나는 쿠버네티스에 대한 공부를 꾸준히 하긴 했지만 실제 운영 경험이 없어서 읽을 때 어려운 부분들이 다소 존재했지만 보완할 만한 다른 글들을 찾아가며 읽었을 때 큰 문제가 문제되진 않았다. 번역서이다보니 다소 매끄럽지 않은 번역이 존재하긴 하지만 읽기 불편할 수준은 아니다.

  • 책의 저자인 브랜던 번스와 찍은 사진

책의 내용이 운영적인 부분이 많고, 쿠버네티스에 대한 깊은 곳까지 파고들기 때문에 정말 이렇게 동작 하나? 하는 의문이 들기도 했는데 책의 저자가 쿠버네티스 co-founder인 브랜던 번스라서 믿고 볼 수 있었다. 책에 알고리즘적인 부분이나 동작 원리에 대한 부분을 설명할 때면 실제 코드를 첨부하기도 하고 코드에 대한 링크를 남기기도 해서 애매한 부분은 직접 코드로 확인해볼 수도 있다.

마무리

이제 운영을 위한 쿠버네티스 클러스터를 구축해야 하는 시점에서 굉장히 큰 도움을 준 책이었고, 아직 전부 소화해내진 못했다. 쿠버네티스는 네트워크, 보안, 파일시스템 등 광범위한 분야의 노하우가 집대성한 느낌이다. 앞으로는 쿠버네티스가 더 많은 부분을 차지할 것이라고 생각하고, 공부도 게을리하면 안되겠다는 생각을 했다. 운영을 해가며 차차 이 책과 함께 운영 노하우를 쌓아가길 기대한다.

이 책의 대상 독자는 어떤 사람들인지 책의 서두에 잘 나와있다.

이 책은 쿠버네티스를 운영하는 사람이나 아키텍처와 설치 및 유지 방법에 대한 깊은 지식을 얻고자 하는 사람을 대상으로 합니다.

물론 쿠버네티스 사용자나 개발자에게도 유용한 정보가 있긴 합니다만, 궁극적으로 이 책은 대부분의 쿠버네티스 사용자에게 필요한 것보다는 낮은 수준으로 구성되어 있습니다. 대신 쿠버네티스 환경에서 애플리케이션을 개발하는 개발자를 위해 클러스터를 안정되게 유지/확인하는 일을 맡는 인프라 운영자를 위한 세부 정보에 더 집중했습니다.

즉 (나같은) 쿠버네티스 클러스터에 어플리케이션을 배포하려는 사람을 위해 쓴 책은 아니다. 오로지 쿠버네티스 사용법이 궁금하다면 다른 책을 권한다. (이 책에서는 [쿠버네티스 시작하기]를 추천한다.)

하지만 라이브러리 혹은 프레임워크를 사용할 때 그 내부를 들여다 보는 것은 언제나 플러스다. (저자가 이 프레임워크의 창시자이므로 더 믿음이 간다.) 코드 레벨에서 샅샅이 뜯어보지 않더라도 이 프로젝트가 어떤 철학 위에 만들어졌고 어떤 아키텍쳐를 가지고 있는지를 알고 있으면 디버깅, 스케일 업 과정에서 큰 도움을 얻은 경험이 있다.

그래서 쿠버네티스 구성 요소와 아키텍처를 소개한 챕터 1–3은 누구에게나 큰 도움이 될 것으로 보인다. 하지만 (내 기준에서는) 다른 챕터들은 이해하기가 쉽지 않았다. 쿠버네티스 이용자 입장에서 자주 들여다보지 않을 개념들이 자세히 소개되니 일단 지금은 넘어가고 추후 관심이 생기면 다시 돌아보기로 하고 빠르게 넘어갔다.

아무쪼록 쿠버네티스 관련자들에게 큰 도움이 되었으면 하는 바람이다.

이 책은 대부분 개념에 가까운 이론을 주로 설명을 하고 있다. 후반부에 갈수록 실제 예제로 설명을 하고 있다.

사실, 쿠버네티스를 이용하는데에는 진입점이 조금 어렵다. 어떻게 해야 할까?

 

이 책은 어떻게 이루어지고 어떤 동작으로 쿠버네티스가 동작하는지를 설명하고 있다. 그리고, 주요한 내용인 아키텍처, 쿠버네티스 API 서버, 스케줄러, 인증과 사용자 관리, 모니터링, 재해복구등을 설명하고 있다.

 

물론, 쿠버네티스를 학습하는 데에는 짧은 지식이 담겨져 있을 수 있다. 하지만, 이 책과 더불어 쿠버네티스의 Document를 같이 참조하면 좋다.

이 글을 쓰는 지금, 한빛미디어 리뷰 쓰기란에 여러장의 사진이 안 올라가서, 블로그 링크를 걸어둡니다. https://blog.naver.com/eonnow/221584336622

 

SAM_7841.JPG

 

 

이번달에는 쿠버네티스를 읽었습니다. 
호기롭게 매니징 쿠버네티스를 읽기 시작했지만, 도움 받은 내용과 힘들었던 점을 이야기해볼까 합니다.
이 책 소개 이전에 저의 쿠버네티스 여정을 먼저 소개하려고 합니다. 그래야 이 책에 대한 제 의견을 좀 더 이해하실 수 있을 것 같아서요.
올해 초까지만 해도 쿠버네티스에 대해서 관심이 별로 없었어요. 왜냐하면 인프라 관리를 하는 것도 아니고, 먼저 하신 분들이 쿠버네티스 어렵다고 하셨거든요.
그런데, 구글 스터디 잼이란 프로그램을 시작하면서, 클라우드 스터디잼 심화반 ( https://sites.google.com/view/studyjamkr/cloud_advanced )을 하게 되었어요. 후후 나란 남자, 초급 중급 건너뛰고 바로 심화반부터 시작하였지요. 다음에 초급부터 하려고 마음먹고, 일단 들어나 보자 하는 마음으로 시작하였습니다.
헉~ 코세라 강의를 듣고 있는데, 도대체 무슨 말씀이신지? 이렇게 첫 쿠버네티스를 알게 되었습니다.
그래도, 코세라 번역반도 모아서 하면서 좀 더 열정적으로 공부한 덕에 개념도 알게 되었고, 퀵랩을 하면서, 아~ 하면 될지도 모르겠네 하는 생각이 들었습니다.
그래서 이번에 한빛에서 책이 나오면서 바로 쿠버네티스를 가져다 읽기 시작하였어요.
쿠버네티스에 대한 제 실력이 어느 정도인지 아시겠지요? 이런 수준에서 이 책에 대한 후기 들어갑니다.

 

 

이 책에서도 말하듯이 개념 중심으로 쓴 책이에요. 하하 실습이 없어요 없어...
아직 저에게는 소스 코드로 실습하면서 개념을 잡아가야 할 시점인데, 이 책은 중급 개념으로 바로 들어가버리십니다. 아 책을 잘 못 골랐나 하는 생각도 들었지만, 요즘 IT 책을 보면서, 새로운 개념을 익히는 것은 지금 하나, 나중에 하나 똑같다는 생각을 많이 하기 때문에, 구글 스터디 잼에서 기본은 익혔다고 생각하고, 끝까지 가보자는 생각이 들었습니다.

목차를 보면, 그래도 코세라 강좌를 들으면서 대충 다 들어본 것 같은 느낌이 들었어요.

인가, 승인제어 등은 잘 모르지만, 네트워킹, 모니터링은 들어본 개념이네요. 뭔가 될듯 말듯 합니다.

책을 다 읽어보았는데, 중반까지는 코세라의 개념 강의랑 비슷해서, 글도 빨리 읽히고, 재미도 있었어요. 복습한다는 느낌. 물론 새로 알게된 개념과 원리도 많았어요. 코세라 강의 양도 적은 편이 아닌데, 알지 못했던 것들이 꽤 있네요.

실습은 아닌데, 소스로 공부할 때의 결과물은 많이 있는 편이에요. 보이시나요?  저 중간까지 부분은 두번 공부했어요.

이 책 후반부는 요청, 인증, 접근 제어, 승인제어, 요청 승인에 대한 이야기입니다. 쉬워보이시죠? 아 그런데, 전 API 에 대한 공부를 한 적이 없어서 그런지, 생명 주기랑 그 상세한 개념들을 이해하기 어렵더군요. 거기다 쿠버네티스 마스터 부분에 대한 운영이라서 좀 더 힘들었던 것 같아요.
구글, MS 에서 쿠버네티스 관련 세미나를 좀 들었는데, 클러스터 운영이 매우 힘들기 때문에, 매니지드 서비스를 이용하는 것이 좋다고 하고, 주로 워커 노드쪽 이야기를 많이 들었는데...
이 책은 운영 그자체를 설명하기 때문에 마스터 부분도 많이 다루고 있어요.

모니터링 부분은 구글 스터디잼 할때 스택드라이브의 프로메테우스를 사용해보았기 때문에, 로깅, 메트릭 등을 실제로 구현해보면서 익혔기 때문에 매우 쉽게 접근할 수 있었어요.

책을 덮어면서, 드는 생각이 이 책은 확실히 중급자를 위한 책이며, 쿠버네티스를 운영하기 위한 책이라고 결론지었습니다. 저처럼 쿠버네티스를 처음 접하는 초보가 읽기에는 좀 어려운 책입니다. 오히려 구글 스터디잼 클라우드편을 공부하면서, 도커, yaml 파일 등을 천천히 익히고 충분히 실습한 뒤, 쿠버네티스 또한 초급 정도 개념과 실습한 후에, 그 뒷단에서 돌아가는 실제 이야기를 이해하고 싶으시면 그때 잡아야 할 책입니다.

이책을 읽으면서 좋았던 것을 정리하면,
클러스터의 주기를 이해했던 점,
영문으로 된 코세라 강의에서의 쿠버네티스 개념을 한글 번역 책으로 좀 더 공신력있게 잡게 된점,
API 서버의 역할을 이해하게 되면서 그냥 따라치던 수준에서, 그 역할이 무엇인지 알게 된 점,
yaml 파일의 각 선언적 구성이 하나하나 막대한 영향을 미친다는 점,
API에 후반부에 이해하지 못한 많은 글들이 앞으로의 숙제로 남았다는 점

클라우드, 쿠버네티스, 마이크로 서비스, 데브옵스, 모니터링의 박자가 하나하나 잘 맞아야 더 현대적인 기술을 체화시킬수 있다는 점을 알게된 요즘 쿠버네티스를 공부하면서 좀더 깊은 원리를 알게 되었습니다.
 
쿠버네티스를 준비하신다면, 본인의 실력을 어느 정도 높인 후에, 이 책을 보세요. 그리고 꼭 운영을 하지 않더라고, 이 책을 보신다면, 돌아가는 상황을 알기 때문에 쿠버네티스를 잘 사용하실 수 있게 될꺼에요. 

 

구글 클라우드 스터디잼과 퀵랩을 통한 실습을 통해(내지 쿠버네티스 사용 실습들) 연습도 많이 해보시기를 추천드려요.

 

 

개발자라면 누구나 한 번쯤 자신의 개발 환경에서 잘 동작하던 애플리케이션이 테스트 서버나 상용 서버에 배포만 하면 정상적으로 동작하지 않는 경험을 해보았을 것이다. 이러한 개발 환경 이전을 쉽게 하기 위해서 컨테이너라는 기술이 등장하게 되었다. 컨테이너는 "애플리케이션과 애플리케이션을 구동하는 환경을 격리하는 공간"을 뜻한다. 애플리케이션 동작에 필요한 모든 것을 이미지에 담아서 배포하기 때문에 외부 구동 환경에 독립적으로 애플리케이션 실행이 가능하다. 이러한 편리한 컨테이너도 그 수가 많아지만 관리와 운영 난이도가 높아질 수 밖에 없는데 이를 효율적으로 운영할 수 있게 해주는 도구가 쿠버네티스다.

 

이 책은 약 200 페이지의 적은 분량에 핵심적인 개념과 실무에 많이 사용될 만한 관리 방법들을 설명하고 있다. 쿠버네티스를 사용하는 실무자들은 쿠버네티스 심화 학습의 길잡이로써 이 책을 읽는 다면 많은 도움이 되지 않을까 생각된다.

 

개인적으로는 개발자로써 실제 애플리케이션이 어떻게 운영되는지를 아는 것도 좋은 서비스 아키텍쳐를 설계하는데 중요하다고 생각해서 이 책을 읽게 되었다. 도커 컨테이너에 대한 배경 지식은 있었지만 복수 개의 컨테이너를 관리하는 컨테이너 오케스트레이션 플랫폼 사용 경험은 전무했기 때문에 책의 내용을 이해하는데는 어려움이 많았다. 그래서 컨테이너나 쿠버네티스에 대한 지식이 부족하다고 생각하시는 분들은 먼저 기초 지식을 공부한 후에 이 책을 보시길 추천한다.

안녕하세요, 괴짜 개발자 namedboy 입니다.
 
 
여러분은 혹시 쿠버네티스를 사용해보셨나요? 아니면 혹시 도커를 업무에 쓰고 계신가요?
만약 아직 사용하지 않으신다면 최대한 빠르게 배우신 다음에 업무에 하나씩 차근 차근 적용해보시는 것을 강력하게 추천 드립니다.
이미 아주 많은 회사가 도커와 쿠버네티스를 사용하면서 엄청난 업무 효율호를 이뤄냈기 때문이죠.
 
도커는 컨테이너라는 개념을 사용하여 개발자가 만들어내는 애플리케이션을 쉽게 패키징하여 구축과 테스트 및 배포를 쉽게 할 수 있도록 지원하는 소프트웨어 플랫폼입니다.
패키징하여 관리할 수 있다는 장점 때문에 이미 많은 회사에서 도커를 사용하여 개발을 진행하고 있습니다.
패키징된 애플리케이션이라 새롭게 설치하거나 서버를 켜서 세팅할 필요가 전혀 없어지게 되죠.
설정이나 OS 환경을 구축하기 위해 매번 동일한 작업을 하지 않아도 되죠. 
패키징된 도커 컨테이너를 올리기만 하면 뿜 하고 서버가 실행 되니까요.
덕분에 분산시스템에 더 최적화된 개발을 할 수 있게 됩니다.
애플리케이션 단위를 좀 더 잘게 나눠서 패키징 하면 각각의 기능에 대해 유지보수를 더 쉽게 할 수 있도록 도와줍니다.
대신에 새로운 문제가 생기게 됩니다. 
도커를 사용해서 더 작은 단위의 크기로 애플리케이션을 만들면서 더 많은 애플리케이션 컨테이너가 생기게 됩니다.
전통적인 소프트웨어 방식은 하나의 애플리케이션에 여러개의 기능을 담아서 처리하도록 만드는 방식이었습니다만, 도커 컨테이너를 도입하면서 그 많은 기능들이 전부 각각 하나의 어플리케이션으로 동작하게 되었습니다.
이러한 구조를 사용하는 방식을 마이크로서비스 아키텍처라고 합니다.
하지만 언제나 장점과 단점은 공존합니다.
이 마이크로서비스 아키텍처도 당연히 장점만 존재하지 않습니다.
서비스의 규모에 따라 운영 방식에 따라 작업이 더 늘어나게 되는 경우도 생깁니다.
아주 큰 규모가 아니라고 하더라도 여러개의 도커 컨테이너를 관리하는 것 자체는 쉬운일은 아닙니다.
컨테이너를 업데이트 하는 일이나 컨테이너에 문제가 발생한 경우 또는 각각의 컨테이너가 통신을 하는 방법도 운영하는 입장에서는 쉽지 않은 문제로 인식됩니다.
그래서 컨테이너 오케스트레이션 플랫폼이 생겨나게 됩니다.
쿠버네티스는 이 컨테이너 오케스트레이션 플랫폼중 하나인데 구글에서 10년 이상의 시간동안 내부에서 사용하고 외부로 공개한 오픈소스 입니다.
구글 내부에서 먼저 테스트하면서 검증을 거치기 때문에 안정성도 높고 운영에 필요한 다양한 기능들을 담고 있습니다.
제가 읽은 책 Managing Kubernetes에는 쿠버네티스에서 지원하는 기능들의 상세한 소개와 실제 쿠버네티스 클러스터를 운영할 때 도움이 되는 직접적인 내용들을 다루고 있습니다.
쿠버네티스에 대해 다루는 책인 만큼 앞부분에서는 쿠버네티스가 어떤 것인지에 대한 내용도 같이 다루고 있습니다.
인프라 엔지니어로 일을 하고 계신 분이라면 쉽게 이해할 수 있을 만한 내용들입니다.
저는 개발자지만 배포나 테스트 CI/CD와 관련해서 쿠버네티스를 어떤식으로 활용하면 좋을지에 대해 고민하고 사용했었습니다.
그 때는 따로 책을 사지 않고 쿠버네티스의 메뉴얼을 보면서 진행 했습니다.
사용해보니 발견 할 수 있었던 문제점들이 많았는데 이 책을 읽다보니 그 때 문제들을 어떻게 풀어야 하는지에 대해 방법적인 많은 해결방법을 찾을 수 있었습니다.
정말 실질적으로 도움이 되는 책이라고 생각이 들었습니다.
다만 초심자용은 아니기 때문에 초보자라면 개념적인 부분을 충분히 이해하신 뒤에 책을 읽는 것을 추천 드립니다.
만약 쿠버네티스를 운영하고 있고 여러 문제점들을 해결해야 하는 상황이라면 이 책이 많은 도움이 되실꺼라 생각합니다.
Managing Kubernetes는 [이곳]에서 구매가 가능합니다.

쿠버네티스를 빠르게 이해하는 길!

 

 

이 책이 최근에 나온 것을 알고 읽어봐야겠다라는 생각을 하고 있었는데 이렇게 리뷰어로 선정되어 읽게 되었다. 

 

우선 이 책의 목차를 보면 총 13개의 Chapter 로 구성되어있다.

 

1. 쿠버네티스란

2. 쿠버네티스 살펴보기

3. 아키텍처

4. 쿠버네티스 API 서버

5. 스케줄러

6. 쿠버네티스 설치

7. 인증과 사용자 관리

8. 인가

9. 승인제어

10. 네트워킹

11. 모니터링

12. 재해복구

13. 쿠버네티스 확장하기

 

Chapter 1 에서부터 6 까지는 쿠버네티스의 이론 적인 내용이 주로 설명되어있다. 단, 이 책은 운영에 대해서 초점을 맞춘 책이기 때문에 오브젝트 단위까지의 자세한 설명은 언급하지 않았다. 그리고 그 이후 Chapter 에서는 운영 환경에서 설정을 해줄수 있는 또는 해줘야 하는 인증, 승인에 대해서 알려주고 있다. 

 

이 책의 장점은 쿠버네티스 API 서버와 연관해서 인증, 인가, 승인제어 부분을 자세히 다뤄주고 있다. 쿠버네티스에가 가장 중요하다고 할 수 있는 API 에 대해서 어떻게 호출하는지, 또는 누가 어떤 API 를 호출 할수 있고 또는 없는지, 그런 설정들은 어떻게 해나갈수 있는지 차례대로 설명을 해준다. 

 

그런데 단점 부분이 좀 아쉽다. 읽다가 문뜩 드는 생각은 과연 이렇게 하면 잘 운영할 수 있는건가 라는 의문이 들게 된다. 생각보다 내용이 많지 않다는 것을 느꼈다. 내가 일부분 잘 이해를 못해서 그럴수는 있지만 사례에 대한 설명이나 예제가 좀 부족하지 않나라는 생각이 계속 들었다. 

# 1. 슬픔이 밀려왔다.


 

나는 1년 전만해도 도커를 DB 인스톨러 전용으로 사용했다. 윈도우에서 PostgreSQL 등을 사용할 때 도커를 사용했다. VirtualBox를 사용하지 않은것만 해도 감지덕지라 생각했다. 회사 동료에게 docker-compose를 배워서 개인 django 프로젝트를 시작할 때 사용했다. docker-compose 정도만 해도 충분했다. 이게 내가 사용했던 도커의 전부였다.

 

친구 회사에서 파일럿 프로젝트를 진행하는데 도와달라고 했고, 별로 큰일이 아니라고 해서 오랜만에 겸사겸사해서 프로젝트를 도와주기 시작했다. 해당 프로젝트가 마이크로서비스로 모니터링 시스템 구현하는 것인데 도커를 많이 사용했고 k8s도 도입하기로 했다. 쓸 일도 없고 할 일도 없었던 k8s를 사용하게 되면서 뭔가 저세상 기술과 용어 때문에 애를 먹었다(도커 조금 안다고 덤볐다가 저세상 기술 때문에 엄청나게 애를 먹었다). Coursera에서 몇가지 강의를 수강했으나 영어의 압박을 이기지 못했다. 하지만 언제나 그렇듯이 마이크로서비스 구현 관련 일은 적당히(?) 잘(!) 마무리(야홋!) 되었다(끝났으니 마무리되었다고 생각하자!).

 

# 2.

 

이 책을 쿠버네티스의 개발자가 집필한 했다고 해서 두근 두근거리며 읽었다. 개인적인 경험으로 미뤄보건데 개발자가 직접 책을 집필하면 둘 중 하나로 귀결된다. 1)너무 자세하거나, 2) 아주 중요한 핵심만 설명하거나! 

 

전자는 과도한 친절함에 책을 읽기 곤란하고, 후자는 초보자가 접하기 쉽지 않다. 어느 책을 선호하는지 모르겠지만 개인적으로 전자를 선호한다. 초보자가 접하기 쉽지 않은 책은 나도 접근하기 쉽지 않고 많은 분량은 안 읽으면(주도적독서) 된다.

 

# 3.

이 책은 전자에 속한다. 책의 분량이 많지 않지만 핵심적인 요소들에 대해서 자세히 정리되어 있다. 특히 k8s 관련된 용어가 깔끔하게 정리되어 있고 무엇보다 설정관련 내용들은 실제 hands-on 에 적용할 수 있을만큼 자세히 소개하고 있다(설정 코드 전체를 설명하는 부분이 love it!). k8s를 프로젝트에 적용해야 하거나, 컨테이너 관리를 하셔야 된다면 이 책을 참고하시면 좋을 듯 하다(현재 이 책 밖에 없음 ㅎㅎ)

 

# 4.

하지만 초보자가 읽기엔 어떨지 조금 조심스럽다. 필자가 도커를 1년 정도 가볍게 사용했던 경험이 있고, 작지만 몇가지 프로젝트에 적용했던 경험 덕분인지 책에 적혀있는 소소한 내용들이 너무 좋았는데, 처음 접하는 분들이라면 어떻게 다가올지 잘 모르겠다. 만약 도커를 처음 접하는 분들이라면 이 책뿐만 아니라 도커와 도커-컴포즈를 다루는 책을 같이 읽어보는게 좋을 듯 싶다. 도커가 쉬운데 쉽지 않고, 좋은데 좋지 않은 어떤 지점이 있는 것 같다.

 

01.jpg

 

 

도커를 활용하여 만든 독립적인 컨테이닝 환경을 활용한 서비스가 요즘 대세로 떠오르고 있다. 거의모든 대기업들이 도커라이징을 통해 머신을 컨테이닝화 하여 서비스 별로 컨테이너에 띠우는 식의 서비스를 진행하고 있다. 무엇보다 이런 구조의 서비스는 완벽히 독립된 구조의 서비스 환경을 제공하기 때문에 특정 서비스의 상태가 다른서비스에 전혀 영향을 끼치지 않는 장점을 지니고 있다. 이러한 대세에 맞춰 다양 도커와 관련된 기술들으두각을 보이고 있는데 오늘은 그 중에 특히나 인기 있고 주목받는 기술인 쿠버네티스와 관련된 책의 리뷰를 진행하려 한다.

책에 관한 본격적인 리뷰에 임하기에 앞서 어떤 사람들에게 본 서를 권하는지 적어보도록 하겠다.

【어떤 독자를 위한 책인가】

이 책은 쿠버네티스의 창시자가 직접 지은 책이다. .. 솔직희 책의 내용이 얼마나 디테일한지는 리뷰어는 잘 모르겠으나, 확실히핵심적인 요소들 중심으로 잘 정리한 책이라는 인상은 강력히 받을 수 있었다. 무엇보다 쿠버네티스와 관련된용어 정리와 쿠버네티스를 활용하기 위한 설정 등을 조작하는 방법등이 잘 정리되어있기 때문에 초보 독자도 읽는데에 무리가 없을 것이라 보였다. 왜냐하면 리뷰어도 컨테이너와 관련된 지식은 거의 전무하기 때문이다. 그럼에도학습하는데에 있어 크게 무리가 없었다.

 

【책의 구성】 '매니징 쿠버네티스' 책의 구성은 어떠한가.

각장의 서두는처음에 섭 서브젝트의 정의를 설명하는 것으로 시작하고 있으며 이와 관련된 기술 중, 특히나 중요한 요소를잘 설명하고 있다. 그리고 그 기술을 활용하는 방안을 예를 들어가며 기술하고 있으며, 무엇보다 코드와 설정을 직접 보여줌으로써 독자가 쉽게 다가갈 수 있도록 잘 기술해두었다. 따라서 직접 하나하나 따라 가다보면 쿠버네티스와 관련하여 상당히 친숙해 질 수 있을 것이라 보인다.

 

매니징 쿠버네티스를 읽으며…….

예전에는 하나의 머신에 다양한 서비스들을 올려서 관리했었다. 웹이든뭐든.. 뭐 물론 상당히 오래전의 이야기이지만, 하지만 이제는데브 옵스라는 용어가 나타날 정도로 서비스 못지 않게 서비스에 필요한 관리 기술과 운영 기술이 상당히 주목받고 있다. 그만큼 서비스들이 고도화 되었고 양질의 서비스를 하기 위해서 체계적인 서비스 관리 기술들이 필요로 하는 시대가온 것이다. .. 이 직군에 들어온지 꽤 된거 같지만, 배움에는 정말 끝이 없는 직업이란 생각이 든다.

 

결제하기
• 문화비 소득공제 가능
• 배송료 : 2,000원배송료란?

배송료 안내

  • 20,000원 이상 구매시 도서 배송 무료
  • 브론즈, 실버, 골드회원이 주문하신 경우 무료배송

무료배송 상품을 포함하여 주문하신 경우에는 구매금액에 관계없이 무료로 배송해 드립니다.

닫기

리뷰쓰기

닫기
* 도서명 :
매니징 쿠버네티스
* 제목 :
* 별점평가
* 내용 :

* 리뷰 작성시 유의사항

글이나 이미지/사진 저작권 등 다른 사람의 권리를 침해하거나 명예를 훼손하는 게시물은 이용약관 및 관련법률에 의해 제재를 받을 수 있습니다.

1. 특히 뉴스/언론사 기사를 전문 또는 부분적으로 '허락없이' 갖고 와서는 안됩니다 (출처를 밝히는 경우에도 안됨).
2. 저작권자의 허락을 받지 않은 콘텐츠의 무단 사용은 저작권자의 권리를 침해하는 행위로, 이에 대한 법적 책임을 지게 될 수 있습니다.

오탈자 등록

닫기
* 도서명 :
매니징 쿠버네티스
* 구분 :
* 상품 버전
종이책 PDF ePub
* 페이지 :
* 위치정보 :
* 내용 :

도서 인증

닫기
도서명*
매니징 쿠버네티스
구입처*
구입일*
부가기호*
부가기호 안내

* 온라인 또는 오프라인 서점에서 구입한 도서를 인증하면 마일리지 500점을 드립니다.

* 도서인증은 일 3권, 월 10권, 년 50권으로 제한되며 절판도서, eBook 등 일부 도서는 인증이 제한됩니다.

* 구입하지 않고, 허위로 도서 인증을 한 것으로 판단되면 웹사이트 이용이 제한될 수 있습니다.

닫기

해당 상품을 장바구니에 담았습니다.이미 장바구니에 추가된 상품입니다.
장바구니로 이동하시겠습니까?

자료실