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

한빛미디어

매니징 쿠버네티스

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

한빛미디어

번역서

판매중

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

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

 

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

 

저자

브렌던 번스

오픈 소스 컨테이너 운영 플랫폼인 쿠버네티스의 공동 창시자. 현재 마이크로소프트에서 애저 리소스 매니저를 운영하며 애저 컨테이너 서비스 팀을 이끄는 엔지니어입니다. 마이크로소프트 이전에는 구글 클라우드 플랫폼에서 수석 엔지니어로 근무했습니다. 클라우드 분야로 이전하기 전 구글 검색 엔진 개발에 큰 기여를 한 웹 검색 백엔드를 개발했습니다. 뉴욕 스키넥터디에 있는 유니온 대학Union College에서 컴퓨터 과학 교수로 역임했으며, 매사추세츠 대학교 애머스트에서 컴퓨터 과학 박사 학위를 윌러엄스 칼리지에서 학사 학위를 받았습니다.

저자

크레이그 트레이시

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

역자

오성근

SK텔레콤에서 통신망 시스템을 구축, 관리, 운용하는 업무를 거쳐 현재 Core솔루션팀에서 다양한 상용환경의 문제를 해결하는 업무를 맡고 있습니다. 쿠버네티스 및 오픈스택을 비롯한 클라우드/가상화 인프라 영역과 4G EPC, 5G MEC, 5G SA 서비스 장비를 담당하고 있습니다. 빠르게 발전하는 클라우드 환경에서 안정적인 통신 시스템을 서비스할 수 있도록 노력하며, 사내 강사로 활동하고 있습니다. 중앙대학교 컴퓨터공학부에서 학사 학위를, 고려대학교 컴퓨터정보통신대학원에서 석사 학위를 받았습니다. 번역서로 『VMware vSphere6 서버 가상화 구축과 운용』(에이콘출판사, 2015), 『오픈스택 인 액션』(2016), 『처음 시작하는 AWS람다』(이상 한빛미디어, 2016)가 있습니다.

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

  • 매니징 쿠버네티스

    들어가며

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

     

     

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

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

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

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

     

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

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

     

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

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

     

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

배송료 안내

  • 책, 아이템 등 상품을 3만원 이상 구매시 무료배송
  • 브론즈, 실버, 골드회원이 주문하신 경우 무료배송

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

닫기

리뷰쓰기

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

* 리뷰 작성시 유의사항

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

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

오탈자 등록

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

도서 인증

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

* 회원가입후 도서인증을 하시면 마일리지 500점을 드립니다.

* 한빛 웹사이트에서 구입한 도서는 자동 인증됩니다.

* 도서인증은 일 3권, 월 10권, 년 50권으로 제한됩니다.

* 절판도서, eBook 등 일부 도서는 도서인증이 제한됩니다.

닫기

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

자료실