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

한빛출판네트워크

쿠버네티스를 활용한 클라우드 네이티브 데브옵스

클라우드 환경에서 모던 애플리케이션 빌드, 배포, 스케일링하기

한빛미디어

번역서

판매중

  • 저자 : 존 어런들 , 저스틴 도밍거스
  • 번역 : 최경현
  • 출간 : 2019-12-06
  • 페이지 : 420 쪽
  • ISBN : 9791162242445
  • 물류코드 :10244
  • 초급 초중급 중급 중고급 고급
4.3점 (21명)
좋아요 : 2

데브옵스를 위한 쿠버네티스 완벽 활용 가이드 

쿠버네티스가 표준 플랫폼으로 자리 잡은 클라우드 네이티브 세계에서 데브옵스를 실천하는 방법을 다룬다. 쿠버네티스 관련 기본 개념, 애플리케이션을 작성하고 상용 환경에서 배포하는 방법, 클러스터를 구성하고 운영하는 방법, 장애 대처와 데이터 복원 방법을 실용적인 예제와 함께 살펴본다. 또한 쿠버네티스 환경에서 사용하는 여러 도구를 살펴보고 쿠버네티스 확장성을 100% 활용하는 비법을 소개한다. 쿠버네티스를 사용하는 개발자와 운영자, 쿠버네티스 입문자 모두에게 훌륭한 안내서가 될 것이다.

 

추천사

쿠버네티스가 좋다는 건 알고 있지만 사실 실무에 도입해 사용하기는 쉽지 않다. 쿠버네티스는 많은 기능을 제공하고 다양한 기술을 활용한다. 현업에서 쿠버네티스를 활용하면서 언제, 왜, 어떤 기능을 써야 하는지 궁금할 때가 많다. 

이 책은 기능만 설명하는 단순한 책이 아니다. 저자의 경험을 토대로 각각의 기능이 생겨난 배경과 사용하면 좋은 이유까지 친절하게 설명한다. 쿠버네티스를 운영하거나 운영할 계획이 있다면 꼭 읽어보길 바란다.

_ 최용호, 넥슨코리아

 

쿠버네티스는 어렵다. 쿠버네티스 자체뿐 아니라 컨테이너, 운영 체제/분산 시스템, 네트워킹, 가상화 개념, 수많은 오픈소스까지 종합적으로 알아야 하기 때문이다. 이 책은 데브옵스 관점에서 쿠버네티스에 필요한 지식을 12첩 반상처럼 골고루 차려놓았다. 독자가 먹기 좋도록 읽기 쉽게 썼고, 그 의도를 충분히 살려 깔끔히 옮겼다. 역자의 노고 덕분에 맛있게 읽고 잘 배웠다. 많은 사람이 이 책을 읽어보길 강력히 추천한다.

_ 오성근, SK텔레콤 Core솔루션팀 매니저, 『매니징 쿠버네티스』 역자

 

이 책은 오늘날의 분산 시스템 운영에 관한 핵심 가이드다. 그 어떤 책보다 명확하고 풍부한 정보로 가득하며, 모든 세부 사항을 명쾌하게 다루며 유용한 행동 지침도 얻을 수 있다. 

_ 윌 템스, Skedulo 플랫폼 엔지니어

 

쿠버네티스 인프라의 모든 것을 망라한 가장 명확하고 실용적인 책이다. 단연 최고의 필독서다.

_ 제레미 예이츠, 홈디포 SRE 팀 개발자

 

내가 쿠버네티스에 입문할 때 이 책이 있었더라면 얼마나 좋았을까! 이 책이야말로 쿠버네티스 환경에서 애플리케이션을 개발하고 운영하는 모든 이를 위한 필독서다. 

_ 폴 밴 더 린든, VDL 솔루션 개발자

 

이 책 덕분에 정말로 신이 난다. 이 책은 쿠버네티스를 사용하는 사람 누구든 활용할 수 있는 정보의 보고다. 나는 이 책으로 한 단계 레벨업했다.

_애덤 맥퍼틀런, NYnet 시니어 시스템 엔지니어

 

모든 사람이 알고 싶어 하지만 직접 알아낼 순 없는 바로 그런 정보를 담았다.

_나이절 브라운, 클라우드 네이티브 관련 강사

 

상세이미지_쿠버네티스를 활용한 클라우드 네이티브 데브옵스_700.jpg

 

존 어런들 저자

존 어런들

30년 경력 컨설턴트. 기술 서적 몇 권을 집필했다. 세계를 돌아다니며 많은 기업에 클라우드 네이티브 인프라 및 쿠버네티스 관련 컨설팅을 한다. 여가 시간에는 서핑을 즐기며, 라이플과 권총 실력이 뛰어나다. 피아노도 치지만 확실히 잘 치진 못한다. 잉글랜드 콘월에 거주하며 동화 속에 나올 법한 오두막에 산다.

저스틴 도밍거스 저자

저스틴 도밍거스

쿠버네티스와 클라우드 기술 및 데브옵스 환경에서 일하는 오퍼레이션 엔지니어. 야외 활동, 새로운 것 배우기, 커피, 게잡이, 컴퓨터를 좋아한다. 아름다운 고양이, 더 아름다운 아내이자 친구 에이드리엔과 워싱턴주 시애틀에 거주한다.

최경현 역자

최경현

SK텔레콤에서 통신 및 플랫폼 인프라 등 다양한 시스템을 운영했으며 현재는 개발 업무를 담당하고 있다. 옮긴 책으로는 『처음 시작하는 마이크로서비스』(한빛미디어, 2021), 『쿠버네티스를 활용한 클라우드 네이티브 데브옵스』(한빛미디어, 2019)가 있다.

 

CHAPTER 1 소프트웨어 세상의 세 가지 혁명

__1.1 클라우드 혁명

__1.2 데브옵스 탄생

__1.3 컨테이너 등장

__1.4 컨테이너 오케스트레이션

__1.5 쿠버네티스 

__1.6 클라우드 네이티브

__1.7 운영의 미래

__1.8 마치며 

 

CHAPTER 2 쿠버네티스 첫걸음

__2.1 첫 번째 컨테이너 실행하기

__2.2 데모 애플리케이션

__2.3 컨테이너 빌드하기

__2.4 컨테이너 레지스트리

__2.5 헬로, 쿠버네티스

__2.6 Minikube

__2.7 마치며

 

CHAPTER 3 쿠버네티스 구축하기

__3.1 클러스터 아키텍처

__3.2 자체 호스팅 쿠버네티스 비용 

__3.3 관리형 쿠버네티스 서비스

__3.4 턴키형 쿠버네티스 솔루션

__3.5 쿠버네티스 설치 프로그램

__3.6 구입 또는 구축: 우리의 추천 

__3.7 클러스터가 없는 컨테이너 서비스

__3.8 마치며

 

CHAPTER 4 쿠버네티스 오브젝트 다루기

__4.1 디플로이먼트

__4.2 파드

__4.3 레플리카셋 

__4.4 의도한 상태 유지하기

__4.5 쿠버네티스 스케줄러

__4.6 YAML 형식의 리소스 매니페스트

__4.7 헬름: 쿠버네티스 패키지 매니저

__4.8 마치며

 

CHAPTER 5 리소스 관리하기

__5.1 리소스 이해하기

__5.2 컨테이너 생명 주기 관리하기

__5.3 네임스페이스 사용하기 

__5.4 클러스터 비용 최적화하기 

__5.5 마치며 

 

CHAPTER 6 클러스터 운영하기

__6.1 클러스터 사이징과 스케일링

__6.2 적합성 검사

__6.3 검증과 감사

__6.4 카오스 테스팅 

__6.5 마치며

 

CHAPTER 7 유용한 쿠버네티스 도구

__7.1 kubectl 마스터하기

__7.2 리소스 다루기

__7.3 컨테이너 다루기

__7.4 컨텍스트와 네임스페이스

__7.5 쿠버네티스 셸과 도구

__7.6 쿠버네티스 도구 직접 만들기 

__7.7 마치며

 

CHAPTER 8 컨테이너 실행하기

__8.1 컨테이너와 파드

__8.2 컨테이너 매니페스트

__8.3 컨테이너 보안

__8.4 볼륨

__8.5 재시작 정책

__8.6 이미지 풀 시크릿

__8.7 마치며

 

CHAPTER 9 파드 관리하기

__9.1 레이블

__9.2 노드 어피니티

__9.3 파드 어피니티와 안티 어피니티

__9.4 테인트와 톨러레이션

__9.5 파드 컨트롤러 

__9.6 인그레스 리소스

__9.7 이스티오

__9.8 엔보이

__9.9 마치며

 

CHAPTER 10 구성과 시크릿

__10.1 컨피그맵

__10.2 쿠버네티스 시크릿

__10.3 시크릿 관리 전략

__10.4 SOPS로 시크릿 암호화하기

__10.5 마치며

 

CHAPTER 11 보안과 백업

__11.1 접근 제어와 권한

__11.2 보안 스캐닝

__11.3 백업

__11.4 클러스터 상태 모니터링

__11.5 추가 자료 

__11.6 마치며 

 

CHAPTER 12 쿠버네티스 애플리케이션 배포

__12.1 헬름으로 매니페스트 빌드하기

__12.2 헬름 차트 배포하기

__12.3 헬름파일로 여러 개 차트 관리하기

__12.4 고급 매니페스트 관리 도구

__12.5 마치며 

 

CHAPTER 13 개발 워크플로

__13.1 개발 도구

__13.2 배포 전략

__13.3 헬름으로 마이그레이션 처리하기

__13.4 마치며 

 

CHAPTER 14 쿠버네티스에서 지속적 배포하기

__14.1 지속적 배포란 무엇인가?

__14.2 어떤 CD 도구를 사용해야 할까? 

__14.3 CD 컴포넌트

__14.4 클라우드 빌드를 사용한 CD 파이프라인

__14.5 마치며

 

CHAPTER 15 관측 가능성과 모니터링

__15.1 관측 가능성이란?

__15.2 관측 가능성 파이프라인

__15.3 쿠버네티스 모니터링 

__15.4 마치며

 

CHAPTER 16 쿠버네티스 메트릭

__16.1 메트릭이란 무엇인가? 

__16.2 좋은 메트릭 선택하기

__16.3 메트릭 분석

__16.4 대시보드로 메트릭 그래프 그리기

__16.5 메트릭 알림

__16.6 메트릭 도구와 서비스

__16.7 마치며

IT 기술의 발전은 해를 거듭할 수록 그 변화의 폭을 예상할 수 없을 정도로 거세기만 하다. 이는 H/W 생태계 뿐만 아니라 S/W 환경에서도 예외가 될 수 없는 상황이다. S/W 개발 방법론에 있어서는 데브옵스(DevOps)가 애자일 문화와 더불어 거스를 수 없는 하나의 시대적 패러다임으로 온전히 자리를 잡아 가고 있는 위용을 보이고 있는 실정이다. 데브옵스는 기술이 아니라 문화 그 자체이기 때문에 그 문화의 속성을 명확히 뒷받침 해 줄 수 있는 또 다른 도구들이 필요하다. 바로 이 지점에서 클라우드 네이티브 애플리케이션을 쿠버네티스를 통해 데브옵스 기반으로 구현해 나가는 과정에 있어 실질적인 가이드 라인을 제공해 주는 책이 있으니, 이름하여 '쿠버네티스를 활용한 네이티브 데브옵스'가 되겠다. 오늘은 바로 이 책에 대한 서평을 작성하려고 한다. 

 

기업 IT 환경은 온프레미스(On-premise)에서 클라우드로 거침 없이 전환 되고 있는 추세다. 클라우드로 전환 되는 과정에 있어, 레거시 환경의 애플리케이션을 그대로 이식하는 Lift and Shift 전략은 클라우드가 제공하는 확장성과 유연성을 온전히 활용할 수 없는 상황을 초래한다. 그렇기 때문에 컨테이너 환경을 통해 클라우드에 최적화 된 애플이케이션을 개발 가능한 '클라우드 네이티브(Cloud Native)'가 무엇보다 중요 할 수 밖에 없다. 

 

컨테이너 환경을 구축하여 코드(Code)를 작성하고, 빌드, 테스트, 배포, 운영해 나가는 과정이 성공적이었다면 이제는 확장성을 고려하는 상황과 마주하게 된다. 수 십개의 컨테이너에서 많게는 수 백개, 수 천개의 컨테이너를 제대로 운영하고 관리하기 위해선 기존의 방식대로 운영팀이 일일이 수동으로 취해 왔던 것이 아니라 컨테이너 자체를 하나의 그릇에 담을 수 있는 도구가 필요하게 되는데, 바로 컨테이너 오케스트레이션(Orchestration)의 사실상 표준(De Facto) 플랫폼인 쿠버네티스를 찾게 된 순간이 도래하게 된다. '쿠버네티스를 활용한 클라우드 네이티드 데브옵스는' 위에서 열거한 상황들에 대한 여정을 시작하는데 있어 유용한 도움을 주는 지침서라 할 수 있겠다. 

 

 

 

 

이 책은 첫 장은 현재 IT 기술의 '총아'로 일컬어지는 클라우드, 데브옵스, 컨테이너, 쿠버네티스, 클라우드 네이티브가 등장한, 아니 등장할 수 밖에 없었던 시대적 배경과 그 흐름, 그리고 이 기술들이 펼쳐 낼 앞으로의 미래상을 시사하는 것으로 서술되어 있다. 새로운 기술이 등장하고 기존의 기술을 어떻게 변화 시키고 그 기술들이 상호간에 어떠한 영향을 끼치는지에 대한 '역학' 구조를 이해하는 것은 굉장히 중요하기 때문에 결코 첫 장을 가볍게 여겨서는 안 될 것이다.

 

두번째 장에서는 본격적으로 쿠버네티와의 첫 만남이 시작 된다. 컨테이너를 실행하는 것에서 부터 데모 애플리케이션을 올리고 Minikube를 통한 쿠버네티스 설치 및 운영에 대해 다루고 있고, 이후 부터 쿠버네티스 구축, 쿠버네티스 상세 설정, 리소스 관리, 클러스터 운영, 쿠버네티스 관리 도구, 쿠버네티스를 통한 컨테이너 실행, Pod 관리, 보안/백업, 쿠버네티스를 통하 애플리케이션 배포, 개발 워크 플로우, 쿠버네티스 환경에서의 CD(Continuous Delivery), 쿠버네티스 모니터링, 쿠버네티스 메트릭 등을 기술하고 있다. 

 

이 책은 쿠버네티스라는 기술 하나에 대해 심도있게 다루고 있는 책이 아니기 때문에 쿠버네티스에 대해 보다 깊이 있는 서적을 원한다면, 이 책은 좋은 선택지가 될 수 없다. 하지만 클라우드 네이티브 애플리케이션을 개발해 나가는 과정에 있어, 쿠버네티스가 데브옵스를 지원하는 훌륭한 도구로서 어떻게 기능하는지에 대한 궁금증을 해갈하기 위한 독자가 있다면 이 책은 그 소기의 목적을 달성 시켜 주기에 충분하다고 할 수 있겠다. 클라우드를 향한 여정에 데브옵스를 지원하는 도구를 등에 업고 클라우드 네이티브 애플리케이션을 개발할 준비가 되어 있지 않다면 이 책을 통해 첫 발을 떼어 보는게 어떨까?

 

 

요즘 클라우드 환경이 대세로 떠오르고 아마존, 구글, MS 모두가 국내에 데이터센터를 지으면서 클라우드 환경으로의 전환이 더욱 가속화 되고 있는데다가 컴퓨터 성능이 좋아지고 개발환경도 MSA 기반이 늘어나면서 기존 데이터센터를 유지하는 기업에서조차 프라이빗 클라우드 환경을 구축하는 형태로 많이 변경되고 있는 듯 합니다.

저 역시 in-house 시스템만을 사용하다가 클라우드 환경을 사용해야 하는 상황이 되어버려 도커와 쿠버네티스를 반드시 공부해야 하는 상황에서 좋은 책을 보게되어 나는 리뷰어 프로그램에 신청을 했고 이렇게 북리뷰를 쓰게 되었습니다.

먼저 이 책에 대해 말씀드리자면 저같이 처음 쿠버네티스를 접하는 사람도 충분히 쉽게 볼 수 있는 책입니다. 그리고 개발에만 집중해왔던 과거와 달리 데브옵스 환경에서 운영적인 측면을 알아야 할 필요성이 생긴 개발자도 어렵지 않게 받아들일 수 있을 정도로 쉽게 쓰여져 있습니다. 그러나 아쉬운 점은 420페이지밖에 안되는 얇은 책에서 데브옵스가 왜 태어났고 쿠버네티스가 왜 태어났는가부터 시작해서 시작과 구축, 운영, 보안설정, 모니터링, CI/CD 뿐 아니라 수많은 도구까지 설명하려다보니 어쩔 수 없이 깊이가 얕은 부분은 있습니다.

이 책은 앞에서 말씀드린것과 같이 정말 많은 내용을 담고 있고 420페이지밖에 안되는 얇은 책임에도 불구하고 무려 16개의 챕터로 구성되어 있습니다.

Chapter 1. 소프트웨어 세상의 세가지 혁명
Chapter 2. 쿠버네티스 첫걸음
Chapter 3. 쿠버네티스 구축하기
Chapter 4. 쿠버네티스 오브젝트 다루기
Chapter 5. 리소스 관리하기
Chapter 6. 클러스터 운영하기
Chapter 7. 유용한 쿠버네티스 도구
Chapter 8. 컨테이너 실행하기
Chapter 9. 파드 관리하기
Chapter 10. 구성과 시크릿
Chapter 11. 보안과 백업
Chapter 12. 쿠버네티스 애플리케이션 배포
Chapter 13. 개발 워크플로
Chapter 14. 쿠버네티스에서 지속적 배포하기
Chapter 15. 관측가능성과 모니터링
Chapter 16. 쿠버네티스 메트릭

챕터 제목만 봐도 정말 방대한 양인데요 클라우드 서비스 제공업체의 쿠버네티스를 활용하는 것이 아닌 OS에 쿠버네티스를 구성해서 활용하는 방법을 주로 기술하고 있지만 이걸 대형 클라우드 서비스 업체인 구글과 AWS, MS에서는 어떤 서비스로 제공하고 있는지도 함께 얘기하고 있기 때문에 시작단계에서 한번쯤 쭉 훑어보시고 쿠버네티스를 이용한 데브옵스는 어떤 식으로 해야겠다 하는 큰 그림을 보신 후에 본인이 필요한 부분을 집중적으로 다시한번 보면서 책에서 참조하고 있는 웹페이지나 쿠버네티스 공식 문서도 한번씩 보면 본인의 환경에 맞는 데브옵스 환경을 만들어 나갈 수 있지 않을까 싶습니다.

결론적으로 제가 느낀 이 책의 장단점은 이렇습니다.

장점
1. 쿠버네티스를 이용한 데브옵스의 전체적인 그림을 볼 수 있다.
2. 쿠버네티스에 대해 접해보지 못한 개발자나 운영자가 읽어도 부담스럽지 않다.

단점
1. 깊이가 얕다.

이미 쿠버네티스를 너무나 잘 알고 잘 활용하고 있다고 생각하시는 분들이 볼만한 책은 아니라고 생각합니다. 하지만 이제 쿠버네티스 환경을 접하려는 사람들이나 이미 EKS 등 쿠버네티스를 사용은 하고 있지만 도대체 원론적으로 쿠버네티스라는 서비스를 어떻게 활용해야 하는가에 대한 고민을 하고 있는 분들이 보시기에는 참 좋은 책인 듯 합니다.

클라우드, 도커, 쿠버네티스 관련해서 많은 도서들이 출판되고 있습니다. 그 중 DevOps와 함께 작성한 도서들도 출판되고 있습니다. 목차를 보면 매우 많은 내용을 담고 있을 것 같은데, 책을 받았을 때 생각보다 얇아서 놀라웠습니다. 약 400페이지 정도의 두껍다면 두껍고 얇다면 얇은 도서입니다.


이 책을 이용하여 실습하여 클라우드, 쿠버네티스를 습득할 목적으로 구매를 하려는 분들에게는 추천하지 않습니다. 책 도서가 많은 걸 다룰 것 같으면서도 400페이지 정도의 두께인 이유는 실습에 관련된 내용이 매우 적습니다. 그렇다고 실습 관련된 내용이 없는 건 아니지만 상세하게 설명하거나 다양한 문제에 대해 다루고 있지는 않습니다.

이 책은 쿠버네티스가 아니라 DevOps에 더 집중할 분들에게 추천하는 책입니다. 책은 읽는 누군가는 도커와 쿠버네티스의 이론과 조금의 실습이 적힌 책이라고 생각할 수 있지만 큰 그림의 흐름을 그리고 DevOps를 도서를 읽을때 매 순간 인지하면서 읽는다면 충분히 좋은 책이 될 거라 믿습니다.

책은 깊은 기술을 다루고 있지는 않지만 전체적인 개요를 설명하므올써 쿠버네티스 개념 입문자에게도 추천합니다. 각 장은 개요 부분이 많습니다. 얇게 다양한 부분을 하나의 큰 흐름으로 그리고 있기에 하나의 큰 그림을 그려나가기 좋습니다.

개인적인 의견이지만.. 이 책의 단점을 얘기하자면 번역에 대한 불만입니다. 쉽게 읽혀지지 않습니다. 기술서이니 너무 쉽게 읽혀지는 것도 문제겠지만 문맥의 흐름을 이해하기 어려울 정도의 부분들이 있습니다. 처음 위 기술을 접하는 분들은 꼭 다른 책과 함께 보면서 참고서로 쓰는 것을 추천합니다.

 

1.jpg

 

 

 

데브옵스라는 개념도 모른 채로 읽기 시작했다.

생전 처음보는 용어들이 많이 나와 진행 속도가 많이 느렸다.

처음 장에서는 클라우드와 데브옵스의 역사가 나왔다.

10년 전에는 아직 10대때였다. 그 때 PHP 서버나 기타 게임 서버를 구동한다 했을 때 보통

집 컴퓨터에 24시간동안 서버 프로그램을 구동시킨다든지

( 부모님한테 등짝을 얻어 맞을지도 모르겠지만 )

원격으로 접속 가능한 외부 컴퓨터를 월 정액으로 구매하여 거기에 구동하는 식이었다.

 

그 때 당시만해도 AWS 프리티어같은 서비스로 무료로 이런 서비스들을 이용할 수 있을 지 꿈에도 몰랐다. 다른 장의 내용들은 다 처음보는 내용이지만 첫 장 만큼은 공감하며 읽을 수 있었다.

 

 

2.jpg

 

< 쿠버네티스는 만능이 아니다. >

 

 

쿠버네티스 표지.jpeg

 

 

쿠버네티스는 자동화된 플랫폼을 제공하기 위한 목적으로 만들어졌습니다.

 

자동화는 사람이 작업을 편리하게 하기 위해 개발된 겁니다.

 

반복적이고 실수할 수 있는 부분을 방지하는 목적도 있습니다.

 

하나의 컴퓨터 환경을 만들 때 서버 환경의 차이가 있으면 호환이 안 될 수 있습니다.

 

이런 장애를 미연에 방지하기 위해서 자동화 시스템을 만들면 문제가 해결됩니다.

 

사람은 실수하기 마련이기 때문에 생기는 문제인데요.

같은 작업은 컴퓨터가 잘 처리합니다.

 

컴퓨터 입장에서는 한 번 사람이 잘 만들어 놓으면 똑같이 만드는 것은 어렵지 않습니다.

 

그래서 쿠버네티스가 IT에서 주목받는 것으로 보입니다.

 

쿠버네티스 관련 좋은 책이 나와 소개해드리겠습니다.

 

책 제목은 ‘쿠버네티스를 활용한 클라우드 네이티브 데브옵스’입니다.

 

이 책을 통해 쿠버네티스에 처음 접하시는 분도 도움 될 것입니다.

 

그러면 쿠버네티스에 대한 책을 살펴보도록 하겠습니다.

 

쿠버네티스1.jpeg

 

 

◆ 데브옵스

데브옵스는 소프트웨어 개발과 운영의 합성어입니다.

 

개발자와 운영자 등 각각 구별되어 개발했습니다.

 

개발은 기획자와 테스터, 디자이너 등 여러 사람이 일을 합니다.

 

여러 사람이 일을 하면서 의견이 충돌이 일어나기도 하고 조율이 안 되는 문제도 있습니다.

 

이런 문제를 조율하는 것은 데브옵스가 합니다.

 

소통과 협업을 통해 통합된 개발환경을 개선하면 제품 출시 기간을 단축할 수 있습니다.

 

데브옵스가 되려면 쿠버네티스를 이해하고

 

쿠버네티스를 활용할 줄 알면 개발하면서 발생하는 문제를 줄이는 게 가능합니다.

 

쿠버네티스2.jpeg

 

 

◆ 클라우드

클라우드 세계에서 쿠버네티스가 어떻게 표준 플랫폼으로 자리 잡았습니다.

 

클라우드는 가상화 컴퓨터로 처리하는 기술을 말합니다.

 

물리적인 컴퓨터만 있었다면 장비를 직접 구매하고 사용하지 않더라도 낭비를 하게 됩니다.

 

하지만 클라우드를 사용한다면 낭비를 줄이고 사용하는 양만큼만 효율적으로 사용할 수 있습니다.

 

컴퓨터가 발전하면서 클라우드 환경을 사용하는 회사들도 늘어났습니다.

 

서비스를 운영하고 개발하기 위해서 매번 설치하고 여러 대 해야 할 경우 개수만큼 시간이 오래 걸렸습니다.

 

그 단점을 개선하고 서비스를 동시에 관리하는 것이 가능해졌습니다.

 

쿠버네티스를 통해 개발하고 배포를 한다면 다양한 환경의 컨테이너를 만들어 관리를 할 수 있습니다.

 

이 책은 개발부터 서비스 배포하는 방법까지 쿠버네티스에 대한 이해에 도움 될 것입니다.

 

끝으로 데브옵스가 되려면 쿠버네티스와 클라우드에 대한 이해가 있어야 합니다.

 

쿠버네티스 관련 기본 개념도 잘 나와 있습니다.

 

클러스터를 구성하고 운영할 줄 알아야 합니다.

 

이 책에는 쿠버네티스를 활용하는 방법이 소개되어 있습니다.

 

서로 통용되는 언어가 있어야 하나의 기획서를 보고 같은 목표를 향해 달려갈 수 있습니다.

 

또한 쿠버네티스 도구 사용법과 보안을 접근하는 방법도 살펴볼 수 있습니다.

 

쿠버네티스에 관심 있는 분들과 어려워하시는 분들도 이 책을 살펴보시길 추천합니다.

 

 

20200314_074641.jpg

 

책의 좋았던 점은 이 쿠버네티스라는 기능이 나오기까지의 역사와 배경들을 간략하게나마 소개해준 점이다. 데브옵스의 개념이나 쿠버네티스가 어디서 나왔는가, 쿠버네티스를 고민하고 있는 개발자들이 선택을 고민하는 이유도 알려준다. '입문자용'이라는 말에 걸맞게 용어 설명도 세세하게 해주는 편이다. 근데 입문자용이라고 해서 서버 관리 입문자용은 아니고 '쿠버네티스'입문자 용이라고 느껴졌다. 나처럼 도커 자체를 처음 켜본 사람들은 진행이 막히거나 버거운 부분이 있다(내가 그랬다..) 우선 어느정도 CLI에 대한 이해가 있어야 어느정도 따라할 수 있을것 같다. 용어 설명이 친절한 것과 별개로 본격적인 쿠버네티스를 다루는 부분에 있어서는 설명이 생략되어 있어 인터넷을 찾아야 하는 경우도 있었다. 책의 도입부에서도 얘기했듯이 쿠버네티스 선택을 갈등하고 있거나 회사에서 클라우드 네이티브를 쿠버네티스로 사용하려는 사람들에겐 좋은 입문용 책이 될 수 있을것 같다

 

20200326_221150.jpg

 

 

 

 

쿠버네티스를 도입하고자 하는 개발자라면 이 책을 강력 추천한다.

입문부터 다양한 상황에 대한 대처까지 모든 것들을 경험과 정석에 근거하여 작성해뒀기 때문에,

특정 기능이 존재하는 이유와 왜 사용하는지에 대한 내용을 여러 근거를 들어 설명해주는 책이라는 점에서 매력적인 책이다.  


번역


이 책은 원서가 따로 존재하는 번역서다.

번역서들에 대해서 항상 조심스럽게 접근해야 하는데, 여기에는 몇 가지 이유가 있다.

경우에 따라서 의미가 다르게 해석되는 방향으로 번역되는 경우가 있고 일반적인 단어에 대해서 평소 사용하지 않는 해석이 될 수도 있기 때문이다.

이 책은 앞서 말한 부분에서 자유로운 편이다.

오역 및 모호한 해석 문제를 최대한 줄이기 위해, 쿠버네티스 한글화 팀의 용어를 적용하고,

관련 내용이 없으면 위키백과 표제어 표기를, 기본적인 용어에 대해서는 음차표기 방식을 적용해 부자연스러운 번역 내용을 찾아보기 어려웠다.



풍부한 실습 예제 및 소스코드

새로운 기술을 도입하기 위해선 먼저 예제를 돌려보며 직접 사용해봐야 한다. 이 책은 풍부한 예제를 가지고 있고, 관련 예제들은 깃허브에 모두 올라가 있는 상태다.

데모 어플리케이션도 만들어보고, 핵심 개념에 대해 이해해보는 과정에서 어렵지 않게 잘 따라갈 수 있다. 


총평

저는 어떤 책을 읽느냐에 따라 새로운 기술에 대한 접근 방향이 달라질 수 있다고 생각합니다. 물론, 책을 읽는 사람은 바뀌지 않기 때문에 기본적인 학습 방식은 정해져 있겠지만, 많은 사람들이 처음 학습할 때 잡힌 습관으로 때로는 좋은 결과를, 때로는 나쁜 결과를 보게 되어 고생하는 모습을 많이 보이곤 합니다. 이 책을 통해 쿠버네티스에 입문한다면, 나쁜 결과를 보게 되는 사용 습관에서는 어느 정도 벗어날 수 있으리라 생각합니다.


 


추천하는 독자

클라우드 네이티브 서비스 개발자, 관련 업무자

쿠버네티스를 학습하고자 하는 사람 

 

 

소프트웨어 세상의 세가지 혁명이 있다고 한다. 첫 번째는 클라우드 혁명 클라우드란 무엇이며 왜 중요한 걸까?

두번째는 데브옵스(DevOps) 탄생이다. 데브옵스의 범위는 어디까지이고 데브옵스 환경이 어떻게 달라졌을까?

세 번째 혁명은 컨테이너의 등장이다. 컨테이너는 무엇을 변화시켰을까?

 

이 세가지 변화의 물결은 클라우드 네이티브(cloud native)라 불리는 새로운 소프트웨어 세상을 만들고 있다

그리고 그 세상을 위한 운영 시스템이 바로 쿠버네티스(kubernetes)다. 

 


회사에서 Amazon Elastic Kubernetes Service(Amazon EKS)를 사용하여 인프라를 구축하기로 하였다.

쿠베네티스는 이름만 들어봤지 어떤건지 도무지 알수가 없었다.  


인터넷을 뒤져가며 정보를 찾아봤지만 단편적인 정보만 가지고는 알수가 없었다.

전체적으로 정리된 책이 있었으면 좋겠다고 생각했는데 요번에 좋은 기회로 "쿠버네티스를 활용한 클라우드 네이티브 데브옵스"라는 책을 리뷰하게 되었다.

 


이 책은 O'REILLY 에서 나온 원서 Cloud Native DevOps with Kubernetes의 번역서이다.

 

Chapter1

- 소프트웨어 세상의 세가지 혁명

Chapter1 에서는 클라우드 네이티브 데브옵스를 간략하게 소개한다.

클라우드, 컨테이너, 쿠버네티스가 해결 할 수 있는 문제와 이러한 기술이 IT 비즈니스에 어떤 변화를 불러왔는지에 대해서 설명을 하였다.

 

Chapter2 

- 쿠버네티스 첫걸음 

이 장에서는 실습 예제를 진행하며 쿠버네티스를 실행하고 테스트할 환경을 구축한다. 본격적으로 쿠베네티스를 사용할 환경을 구축하는 것이다. 

 

Chapter3

- 쿠버네티스 구축하기

이 장에서는 쿠버네티스의 광범위한 제품, 서비스, 도구들에 대해서 알아본다.

 

 Chapter4

- 쿠버네티스 오브젝트 다루기

쿠버네티스의 기본 오브젝트인 파드(Pod), 디플로이먼트(deployment), 서비스(service)에 대해 설명한다.

파드는 쿠버네티스의 기본작업 단위라고 한다. 스케쥴링이 될 단일 컨테이너나 컨테이너의 그룹을 지정한다. 

디플로이먼트는 파드를 선언적으로 관리하는 고수준 쿠버네티스 리소스다. 어렵다.... 처음 들어보는 용어들이다 몇번 반복해서 보고 실습을 해보면 알게되겠지

 

 Chapter5

- 리소스 관리하기

이 번 장은 클러스터를 최대한으로 활용하는 방법과 리소스 관리의 최적화 방법, 컨테이너 생명 주기 관리 방법, 네임스페이스를 활용한 클러스터 분리를 설명한다.

 

Chapter6

- 클러스터 운영하기

이번 장에서는 클러스터의 크기를 정하고 확장하는 방법, 적합성을 확인하는 방법, 보안 문제를 찾는 방법, 카오스 몽키를 사용한 인프라의 복구 기능 테스트 방법을 다룬다

 

Chapter7

- 유용한 쿠버네티스 도구

이번 장은 쿠버네티스 운영에 도움을 주는 도구와 유틸리티 일부를 살펴본다.

 

Chapter8

- 컨테이너 실행하기

쿠버네티스 오브젝트인 컨테이너에 대해 알아본다. 기술적인 수준에서 컨테이너의 작동 원리를 알아보고 파드와 컨테이너의 관계 및 컨테이너 이미지를 쿠버네티스에 배포하는 방법에 대해서 알아본다

 

Chapter9

- 파드 관리하기

이번 장은 파드와 관련된 다른 주제로 레이블을 추가하는 방법, 노드 어피니티를 활용한 파드 스케쥴링, 테인트와 톨러레이션을 사용한 특정 노드의 파드 실행을 제한하는 방법, 데몬셋과 스테이트풀셋 같은 파드 컨트롤러를 활용한 애플리케이션 오케스트레이션을 다루는 방법에 대해서 알아본다

 

Chapter10

- 구성과 시크릿

애플리케이션의 값이나 설정과 같은 구성은 계속해서 변경될 수 있으니 쿠버네티스 애플리케이션의 로직과 분리하는 것이 좋다. 구성값에는 일반적인 환경별 설정, 서드파티 서비스의 DNS주소, 인증 자격 증명 등이 있다

 

Chapter11

- 보안과 백업

이번 장은 쿠버네티스의 보안과 접속 제어를 다룬다. 역할 기반 접근 제어(RBAC)를 설명하고 보안 취약점 스캔도구와 서비스에 대해서 소개한다.

 

Chapter12

- 쿠버네티스 애플리케이션 배포

매니페스트 파일로 애플리케이션을 실행하는 방법을 다룬다. 애플리케이션용 헬름 차트를 만드는 방법을 설명하

헬름 대신 사용 가능한 다양한 매니페스트 관리 도구에 대해서 살펴본다.

 

Chapter13

- 개발 워크플로

이번 장은 로컬에서 애플리케이션을 개발한 후 쿠버네티스 클러스터에 업데이트를 배포하는 방법과 데이터 마이그레이션 같은 까다로운 주제에 대해서 설명한다.

 

Chapter14

- 쿠버네티스에서 지속적 배포하기

데브옵스 철학의 핵심인 지속적 배포를 알아보고 쿠버네티스 기반의 클라우드 네이티브 환경에서 지속적인 배포를 구현하는 방법에 대해서 다룹니다.

 

Chapter15

- 관측가능성과 모니터링

관측가능성이란 무엇일까? 모니터링과 어떤 관련이 있을까? 쿠버네티스 애플리케이션을 모니터링, 로깅, 메트릭,등 추적할 수 있는 방법에 대해서 알아봅니다.

 

Chapter16

- 쿠버네티스 메트릭

이번 장은 15장 "관측가능성과 모니터링"에서 소개한 메트릭에 대해서 자세히 살펴봅니다. 메트릭이 무엇인지, 어떤 종류가 있는지, 클라우드 네이티브 서비스에서 중요한 메트릭은 무엇인지 알아봅니다.

 

마치며,

쿠버네티스가 표준 플랫폼으로 자리 잡은 클라우드 네이티브 세계에서 데브옵스를 다루는 방법에 대해서 상세하게 알려준다. 쿠버네티스 관련 기본 개념, 어플리케이션을 작성하고 상용 환경에서 배포하는 방법, 클러스터를 구성하고 운영하는 방법, 장애 대처와 데이터 복원 방법을 실용적인 예제와 함께 살펴봅니다. 이 책은 초보자가 보기에는 좀 어려울 수 있는 책이다. 하지만 저자의 경험을 토대로 각각의 기능이 생겨난 이유를 친절히 설명해 주므로, 실습을 병행하면서 구현을 해본다면 충분히 이해 할 수 있을것이다.

 

클라우드 네이티브에서의 데브옵스라면 쿠버네티스는 필수일것이다. 쿠버네티스를 사용하는 개발자와 운영자 , 쿠버네티스 입문자 모두에게 훌륭한 안내서가 될 것이다.


 

IMG_2735.jpg

 

데브옵스라는 말도 현업자이기에 조금 들어봤고 그랬기에 쿠버네티스라는 말도 자주는 들어봤지만

어떤 부분에서 왜 필요한지에 대해서는 알지 못했다.

요즘시대에서 풀스택은 이전처럼 프론트와 백앤드만 안다고 되는 것이아니라 여기에 데브옵스까지 잘 알아야 풀스택이라고 명함을 내밀 수 있다하니, 이 책에 대한 관심도는 더 많이 올라갔었다.

다만, 컨테이너 오케스트레이션을 하는 쿠버네티스에 대해서 알려면, 오케스트레이션을 하는 컨테이너에 대해서도 알아야되고, 그런 컨테이너로서 도커를 알아야하는 것이 아닌가라는 생각이었지만, 이책에서 왜 컨테이너를 도입하고 그 컨테이너를 어떻게 관리하느냐에 대해서 서술해주며 자연스럽게 쿠버네티스에 입문할 수 있도록 해주었다.

컨테이너라던지, 오케스트레이션이라던지, 파드라던지, 그런 개념이 눈에 보이는 개념이 아니고 추상적이다보니 그런부분에 어려움이 있을 수는 있겠지만 꽤 친절하게 설명해준 책이라고 생각한다.

처음에 부담스럽게 느껴졌던 것이 기우로 느껴질 정도로 말이다.

물론 쿠버네티스 자체가 런닝커브가 독특한 만큼이나 자주 들여봐야할 책이지만,

자주 들여다 봄에도 그렇게 부담스럽지 않은 책인 것 같다.

 

자극적이고 대단한 내용이 있을 것만 같은 책이지만 346 페이지 밖에 안되는 책이다.
그러나 내용은 생각보다 많다. 다른 말로, 얕게 설명한다. 많은 케이스와 많은 프렉티스, 데모를 보여준다.
특히 데모는 [Github 레포지토리](https://github.com/cloudnativedevops/demo)로 올라가 있어서 누구든
확인해볼 수 있다.
 
특히 초반에 직접 명령어를 실행해보면서 책을 따라 갔는데, helm 부분에서 outdated 된 명령어가 몇 가지 있었고
실습을 진행할 수 없는 경우도 있었다. 뒷쪽은 가볍게 읽어본다는 느낌으로 훑어봤지만, k8s 초보인 필자에게는 검은 글자
정도로 인식되는 경우도 많았다.

결론적으로, 이 책은 쿠버네티스에 대한 경험과 적당한 견해를 가진 사람이 좋은 예시와 데모를 확인해보고
간단하게 사용해볼 수 있고, 다양한 영역에서 어떻게 접근할 수 있는지를 알려주는 지침서 정도를 해줄 것 같고,
처음이거나 입문한 사람에게 이 책을 보여 줄 필요는 없을 것 같다.

 

ku.jpeg

 

책이 예상보다 두껍지 않다는 점을 나타내고 싶었는데.... 실제보다 두꺼워보이게 나왔네요. 

 

1장 간단한 배경 소개 후에 2장에서는 소스를 받아 첫번째 컨테이너를 실행시키는 것이 나왔습니다.

도커를 실행시켜놓고, 컨테이너를 빌드해서 실행만 시키면 되는거였는데 다 차려진 밥상을 떠먹지 못했습니다. 

책에서는 도커 실행시키고, 바로 컨테이너 이미지를 실행하는 것으로 되어 있었거든요. 

2장은 따라하기 유투브 영상이 있으면 첫발 떼는데 도움이 될것 같습니다. (설명은 책에 있으니 그냥 따라하는 정도?)

 

개념 설명하고, 실습/설명하는 구성으로 되어 있고, (지루하다는 오렐리 책의 선입견 대비) 지루하지는 않았습니다. 

 

 

 

unnamed.jpg

 

요즘 쿠버네티스와 컨테이너가 뜨고 있는 와중에

 

이 책을 보면서 다양한 용어들을 익힐 수 있어서 참 좋았습니다.

 

책 처음부분에 나오는 말 그대로 지금은 클라우드 혁명이 일어나고 있습니다.

 

아직은 it 부분에 관심을 가진지 얼마 안되었지만

 

참 유익하고 재밌는 내용이다고 생각하였고 나중에 좋은 경험과 지식으로 책을 읽었을때 더 와닿을거 같다고 생각하였습니다.

 

 

 

20200323_173707.jpg

 

저는 쿠버네티스와 데브옵스를 이 책을 통해 처음 접해보았습니다. 제가 이 책을 선택한 이유는 빅데이터에 대해 학습하기전에 클라우드에 대해 학습하고싶어 책을 찾던 중에 이 책이 클라우드 초급자도 공부하기 학습하기 쉽게 나와 있어보여서 선택을 하게 되었습니다.

 

이 책의 특성은 쿠버네티스를 개발하는 방법과 서비스를 배포하는 방법에 대해 상세히 설명하는 점이라고 생각합니다. 개발자들은 쿠버네티스를 통해 다양한 환경의 컨테이너들을 다이나믹하게 생성하고 관리할 수 있어야 하는데 이 책을 통해 서비스의 개발과 배포를 더 유동적인 사이클로 관리하는 방법에 대해 좀더 디테일하게 학습할 수 있습니다.

 

현시대는 이제 빅데이터를 기반으로 해서 개개인 맞춤형인 D.I.Y형식의 생활로 나아가고 있는 추세입니다. 여기서 빅데이터를 구성하는 클라우드 서비스의 추세는 더 세밀한 단위의 컴퓨팅을 제공하는 것입니다. 점점 더 세밀한 단위로 대중에게 제공되어 왔는데, 사람들은 더 세밀한 단위로 자신들의 사용량에 대한 요금을 지불하게 되어 좋고, 서비스 업체는 더 세밀한 단위로 전체 클라우드 리소스들을 관리할 수 있습니다. 이 추세는 다음과 같은 용어들로 설명이 가능한데 IaaS(인프라를 서비스로 제공), CaaS(컨테이너를 서비스로 제공), FaaS(함수를 서비스로 제공) 등이 있습니다.

이번 주제인 쿠버네티스는 컨테이너들을 통합적으로 관리하기 위한 툴입니다. 컨테이너를 서비스로 제공하는 CaaS보다 더 세밀한 단위로 서비스를 제공하는 데 있어서, 효율적이고 가벼운 환경셋업들이 생성되었다가 사라지기를 반복하는데 이 때에 이런 환경 셋업들을 컨테이너로 제공되고, 컨테이너화 된 워크로드와 서비스들을 관리하기 위한 툴로 쿠버네티스가 각광을 받고 있습니다.

 

구성

Chapter 1: 소프트웨어 세상의 세 가지 혁명

Chapter 2: 쿠버네티스 첫걸음

Chapter 3: 쿠버네티스 구축하기

Chapter 4: 쿠버네티스 오브젝트 다루기

Chapter 5: 리소스 관리하기

Chapter 6: 클러스터 운영하기

Chapter 7: 유용한 쿠버네티스 도구

Chapter 8: 컨테이너 실행하기

Chapter 9: 파드 관리하기

Chapter 10: 구성과 시크릿

Chapter 11: 보안과 백업

Chapter 12: 쿠버네티스 애플리케이션 배포

Chapter 13: 개발 워크플로

Chapter 14: 쿠버네티스에서 지속적 배포하기

Chapter 15: 관측가능성과 모니터링

Chapter 16: 쿠버네티스 메트릭

 

파트별로 나누어 봤을때 2, 3, 4장은 쿠버네티스 기본 사용법에 대해 설명하고 있고 5, 6장은 쿠버네티스 클러스터 운영법에 대해 7, 8, 9, 10, 11장은 쿠버네티스 관리 및 부가 기능에 대해 12, 13, 14, 15, 16장은 데브옵스 사이클을 위한 쿠버네티스에 대해 설명하고 있습니다.

그리고 1장은 클라우드의 필요성과 쿠버네티스의 기원에 대해 나와있으니 16장까지 학습을 마치신 후 머리도 식히실겸 읽어보시는 것도 좋을것 같습니다.

 

개인적인 생각으로 학습은 저처럼 1부터 시작해야하는 초보자이신 분들께서는 2장부터 시작하시면 좋을것 같고 어느정도 클라우드에 대해 경험이 있으신 분들은 3장부터 시작하시면 좋을듯 싶습니다. 그리고 현재 클라우드에 대해 지식이 어느정도 풍부하시고 프로젝트를 위해서 쿠버네티스를 접하시는 분들은 7장부터 시작하시면 좋을듯 싶습니다.

kubernetes.png

 

요즘 DevOps 에서 대세라고 할수도 있는 컨테이너 기반 관리 툴인 Kubernetes 책이다. 효율적인 시스템 자원관리와 빠른 배포를 통한 서비스, 장애관리까지 컨테이너를 관리 할 수 있는 툴을 소개하는 책이다. 사실 Kubernetes 의 자료는 방대 하고 너무나도 많고, 레퍼런스도 많은데 심도 있는 깊이까진 가진 않는다. 공식 문서를 보고도 시작을 할 수 있지만. 전반적으로 Kubernetes 를 관리하기 위해선 러닝커브가 심하다 보니 적절한 책을 찾기도 어렵다. 이책은 클라우드 기반에서 Kubernetes의 소개와 관리하는 법을 소개한다. 세세한 내용보다는 어떻게 사용을 하고 어떠한 내용은 무엇인지를 잘 알려주는 책이며, 클라우드 시스템에서 비용 최적화등을 잘 소개하고 있으며 실질적으로 어떻게 돌아가는지 설명을 해주며 팁이 많아 팁을 활용하는 법도 설명이 잘되어 있다. 이책으로 kubernetes를 완벽하게 할 수있다 라고 말을 하기엔 부족하지만 이 책을 통해서 Kubernetes의 맛을 알아가며 흥미를 느끼기에는 최고의 책이라고 생각한다.

 



[한줄평]

데브옵스를 위한 쿠버네티스 완벽 활용 가이드



[목차구성]

CHAPTER 1 소프트웨어 세상의 세 가지 혁명

CHAPTER 2 쿠버네티스 첫걸음

CHAPTER 3 쿠버네티스 구축하기

CHAPTER 4 쿠버네티스 오브젝트 다루기

CHAPTER 5 리소스 관리하기

CHAPTER 6 클러스터 운영하기

CHAPTER 7 유용한 쿠버네티스 도구

CHAPTER 8 컨테이너 실행하기

CHAPTER 9 파드 관리하기

CHAPTER 10 구성과 시크릿

CHAPTER 11 보안과 백업

CHAPTER 12 쿠버네티스 애플리케이션 배포

CHAPTER 13 개발 워크플로

CHAPTER 14 쿠버네티스에서 지속적 배포하기

CHAPTER 15 관측 가능성과 모니터링

CHAPTER 16 쿠버네티스 메트릭


[이 책의 특징]

 관리형 서비스의 장단점을 이해하고 선택하기

 간단한 애플리케이션을 빌드하고 쿠버네티스 클러스터에 배포하기

 쿠버네티스 기본 오브젝트인 파드, 디플로이먼트, 서비스 다루기

 상용 환경에서 클러스터 구축, 유지 보수, 리소스 관리하기

 리소스 최적화하고 비용을 절감하는 컨테이너 관리 방법

 쿠버네티스를 활용해 지속적 통합 및 배포를 구축하는 방법

 애플리케이션 모니터링과 데이터 백업 및 복구


[대상 독자]

 쿠버네티스가 홀륭해 보이지만, 익히기가 쉽지 않아서 주저하는 개발자

 쿠버네티스 클러스터 운영 노하우 및 트러블 슈팅이 필요한 서버운영자

 다수 서버 환경에서 컨테이너화된 애플리케이션을 실행하고 관리하는데 관심이 있는 모든 사용자


[서평]

이책은 쿠버네티스를 이용해 애플리케이션을 효과적으로 개발하고 운영할 수 있는 방법을 초보자도 쉽게 이해할수 있습니다. 쿠버네티스 아키텍처와 개념을 상세하게 설명하고 예제와 그림이 이해하는데 많은 도움이 됩니다.


이책의 좋았던 점은 실무 위주로 구성되어 있어 실제 현업에서 쿠버네티스를 구축한다면 많은 책을 보고 따라하면 어렵지 않게 구성할수 있을것이라 생각합니다. 쿠버네티스를 사용하는 개발자와 운영자, 쿠버네티스 입문자 모두에게 추천 하는 책입니다.




오랜만에 다시 책 리뷰를쓰게 되었다. 이번에 리뷰할 책의 제목은 쿠버네티스를 활용한 클라우드 네이티브 데브옵스이고, O'REILLY 에서 나온 원서 Cloud Native DevOps with Kubernetes의 번역서이다. 이번 리뷰에서는 책의 디테일한 내용에 집중하기보다, 요즈음 왜 Kubernetes 같은 툴들이 떠오르로, 이 책을 통해서 독자들이 얻을 수 있는 Benefit의 측면에서 이 책을 리뷰해보고자 한다. 그러므로 이 리뷰의 주 내용은 현재의 클라우드 컴퓨팅의 문맥과, 이 책이 그러한 문맥속에서 독자들에게 이득을 줄 수 있는 부분에 대해서 설명한다.

 

 

 

최근에 클라우드 서비스의 추세는 더 세밀한 단위의 컴퓨팅을 제공하는 것이다. 이 추세는 다음과 같은 용어들로 설명이 가능하다: IaaS, CaaS, FaaS. 순서대로, 인프라를 서비스로 제공, 컨테이너를 서비스로 제공, 함수를 서비스로 제공하는 용어들이다. 클라우드 서비스는 점점 더 세밀한 단위로 대중에게 제공어 왔는데, 사람들은 더 세밀한 단위로 자신들의 사용량에 대한 요금을 지불하게 되어 좋고, 서비스 업체는 더 세밀한 단위로 전체 클라우드 리소스들을 관리할 수 있다. 이러한 클라우드 서비스의 추세를 기반으로, 쿠버네티스를 보자. 쿠버네티스는 컨테이너들을 통합적으로 관리하기 위한 툴이다. 컨테이너를 서비스로 제공하는 CaaS보다 더 세밀한 단위로 서비스를 제공하는 데 있어서, 효율적이고 가벼운 환경셋업들이 생성되었다가 사라지기를 반복한다. 이 때에 이런 환경 셋업들을 컨테이너로 제공되고, 컨테이너화 된 워크로드와 서비스들을 관리하기 위한 툴로 쿠버네티스가 각광을 받고 있는 것이다.

 

 

이 책에서는, 쿠버네티스를 개발과 서비스를 배포하는 DevOps 과정에 어떻게 적용할지 상세히 설명한다. 위에서 설명한 것 처럼, 개발자들은 쿠버네티스를 통해 다양한 환경의 컨테이너들을 다이나믹하게 생성하고 관리할 수 있다. 그러므로 이를 통해서 서비스의 개발과 배포를 더 유동적인 사이클로 관리하는 방법을 이 책은 설명한다. 챕터별로 카테고리를 나눠본다면 다음과 같다.

 

 

- 인트로: Chapter 1

 

- 쿠버네티스 기본 사용법: Chapter 2, 3, 4

 

- 쿠버네티스 클러스터 운영법: Chapter 5, 6

 

- 쿠버네티스 관리 및 부가 기능: Chapter 7, 8, 9, 10, 11

 

- 데브옵스 사이클을 위한 쿠버네티스: Chapter 12, 13, 14, 15, 16

 

 

이러한 구성을 가지고 있으므로, 자신의 상황에 맞게 카테고리별로 학습을 하는 것을 추천한다. 도커의 기본적인 내용을 마치고 쿠버네티스를 입문하는 사람이라면 기본 사용법과 클러스터 운영법을 보는것이 도움이 될 것이다. 이미 쿠버네티스를 이용하고 있는데, 기존의 사용하던 기능 외에 다양한 기능들을 통해 삶을 편하게 만들고 싶은 분들이라면 관리 및 부가기능 쪽을 살펴보는 것을 추천한다. 마지막으로, 프로젝트가 컨테이너와 쿠버네티스를 이용한 데브옵스를 적용하기에 적절한 프로젝트라면, 마지막 카테고리에 집중해서 학습하는 것을 추천한다.

 

 

마지막으로, 번역서를 구입하셨다가 방대한 내용에 앞에 챕터만 몇개 보다가 그만보거나, 내용이 생각보다 어려워서 번역서를 피하게 되는 분들에게 간단히 팁을 드릴까 한다. 번역서로 시작을 하시기전에, 익숙치 않은 것을 새로 배우신다면 입문용 서적을 보고 필요에 따라 특정 챕터들을 번역서에서 참고하면 더 효율적으로 공부하는 개발자가 될 수 있을거라 생각한다. 컴퓨터 분야의 기술변화 속도를 보면, 모든것을 다 알아가려는 것 보다는 상황에 맞게 효율적으로 공부하는 방법을 찾는 것이 좋은 개발자가 되는 첫 걸음일 것이다.

 

1585001595705-1.jpg

 

 

 

사본 -사본 -쿠버네티스22222222.jpg

 

 

 

목차만 봐도 쿠버네티스의 A-Z까지 많은 것을 담고 있는 책입니다.

쿠버네티스가 나온 배경과 구축, 배포, 보안, 모니터링 등등.. 많은 것을 설명해 줍니다.

 

다만 인프라쪽에 완전 경험이 전무하다면 책을 보는데 조금 어려울 수도 있을꺼 같습니다.

데브옵스를 경험을 해보지 못해서 읽기 시작한 쿠버네티스였지만, 도커부터 실습에 나오는 GO언어 등... 

저에겐 조금 생소한 부분이 나와서 인터넷 검색도 해보며 새로 공부해보는 기회가 되었습니다.

 

그리고 쿠버네티스와 관련된 용어를 자세히 설명하고 있습니다. 근래에 저와 관계 없는 용어들에 관심을 기울이고 있지 않았었는데, 

책을 통해서 이런거였구나 하고 새삼 또 배울 수 있어 좋았습니다. 

 

아직 책을 완독을 하진 못했지만, 초보자가 쉽게 진도를 나가며 배우기에는 조금 어려운 것 같습니다. 

다만 인프라쪽에 일을 하고 계시다면 이 책을 보시는데 많은 도움이 되실 것 같습니다.

 

뒤쪽 부분은 훓어만 보았지만, 11장 보안과 백업 부분에서는 설명 중간중간에 CAUTION, 모범사례가 나오는데 

알아두면 실제 문제에 직면했을 때, 많은 도움이 될 것 같습니다. 

 

필자도 책의 말미에 많은 실패를 거쳐 쿠버네티스에 대한 지식을 쌓았다고 하는데, 이 책은 옆에 두고, 

두번 세번 읽고, 필요할 때 찾아볼 수 있는 유용한 책이 아닐까 싶습니다.

 

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

 

Cloud Native DevOps with Kubernetes

 

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

 

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

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

 

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

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

 

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

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

 

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

 

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

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

 

 

# 마무리

 

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

 

 

 

 

 

책소개


데브옵스를 위한 쿠버네티스 완벽 활용 가이드 

쿠버네티스가 표준 플랫폼으로 자리 잡은 클라우드 네이티브 세계에서 데브옵스를 실천하는 방법을 다룬다. 쿠버네티스 관련 기본 개념, 애플리케이션을 작성하고 상용 환경에서 배포하는 방법, 클러스터를 구성하고 운영하는 방법, 장애 대처와 데이터 복원 방법을 실용적인 예제와 함께 살펴본다. 또한 쿠버네티스 환경에서 사용하는 여러 도구를 살펴보고 쿠버네티스 확장성을 100% 활용하는 비법을 소개한다. 쿠버네티스를 사용하는 개발자와 운영자, 쿠버네티스 입문자 모두에게 훌륭한 안내서가 될 것이다.

 

자세한 내용 : 

http://www.hanbit.co.kr/store/books/look.php?p_code=B4886455651

 

 

쿠버네티스를 활용한 클라우드 네이티브 데브옵스

쿠버네티스가 표준 플랫폼으로 자리 잡은 클라우드 네이티브 세계에서 데브옵스를 실천하는 방법을 다룬다. 쿠버네티스 관련 기본 개념, 애플리케이션을 작성하고 상용 환경에서 배포하는 방법, 클러스터를 구성하고 운영하는 방법, 장애 대처와 데이터 복원 방법을 실용적인 예제와 함께 살펴본다.

www.hanbit.co.kr

 

목차


CHAPTER 1 소프트웨어 세상의 세 가지 혁명

__1.1 클라우드 혁명

__1.2 데브옵스 탄생

__1.3 컨테이너 등장

__1.4 컨테이너 오케스트레이션

__1.5 쿠버네티스 

__1.6 클라우드 네이티브

__1.7 운영의 미래

__1.8 마치며 


CHAPTER 2 쿠버네티스 첫걸음

__2.1 첫 번째 컨테이너 실행하기

__2.2 데모 애플리케이션

__2.3 컨테이너 빌드하기

__2.4 컨테이너 레지스트리

__2.5 헬로, 쿠버네티스

__2.6 Minikube

__2.7 마치며


CHAPTER 3 쿠버네티스 구축하기

__3.1 클러스터 아키텍처

__3.2 자체 호스팅 쿠버네티스 비용 

__3.3 관리형 쿠버네티스 서비스

__3.4 턴키형 쿠버네티스 솔루션

__3.5 쿠버네티스 설치 프로그램

__3.6 구입 또는 구축: 우리의 추천 

__3.7 클러스터가 없는 컨테이너 서비스

__3.8 마치며


CHAPTER 4 쿠버네티스 오브젝트 다루기

__4.1 디플로이먼트

__4.2 파드

__4.3 레플리카셋 

__4.4 의도한 상태 유지하기

__4.5 쿠버네티스 스케줄러

__4.6 YAML 형식의 리소스 매니페스트

__4.7 헬름: 쿠버네티스 패키지 매니저

__4.8 마치며


CHAPTER 5 리소스 관리하기

__5.1 리소스 이해하기

__5.2 컨테이너 생명 주기 관리하기

__5.3 네임스페이스 사용하기 

__5.4 클러스터 비용 최적화하기 

__5.5 마치며 


CHAPTER 6 클러스터 운영하기

__6.1 클러스터 사이징과 스케일링

__6.2 적합성 검사

__6.3 검증과 감사

__6.4 카오스 테스팅 

__6.5 마치며


CHAPTER 7 유용한 쿠버네티스 도구

__7.1 kubectl 마스터하기

__7.2 리소스 다루기

__7.3 컨테이너 다루기

__7.4 컨텍스트와 네임스페이스

__7.5 쿠버네티스 셸과 도구

__7.6 쿠버네티스 도구 직접 만들기 

__7.7 마치며


CHAPTER 8 컨테이너 실행하기

__8.1 컨테이너와 파드

__8.2 컨테이너 매니페스트

__8.3 컨테이너 보안

__8.4 볼륨

__8.5 재시작 정책

__8.6 이미지 풀 시크릿

__8.7 마치며


CHAPTER 9 파드 관리하기

__9.1 레이블

__9.2 노드 어피니티

__9.3 파드 어피니티와 안티 어피니티

__9.4 테인트와 톨러레이션

__9.5 파드 컨트롤러 

__9.6 인그레스 리소스

__9.7 이스티오

__9.8 엔보이

__9.9 마치며


CHAPTER 10 구성과 시크릿

__10.1 컨피그맵

__10.2 쿠버네티스 시크릿

__10.3 시크릿 관리 전략

__10.4 SOPS로 시크릿 암호화하기

__10.5 마치며


CHAPTER 11 보안과 백업

__11.1 접근 제어와 권한

__11.2 보안 스캐닝

__11.3 백업

__11.4 클러스터 상태 모니터링

__11.5 추가 자료 

__11.6 마치며 


CHAPTER 12 쿠버네티스 애플리케이션 배포

__12.1 헬름으로 매니페스트 빌드하기

__12.2 헬름 차트 배포하기

__12.3 헬름파일로 여러 개 차트 관리하기

__12.4 고급 매니페스트 관리 도구

__12.5 마치며 


CHAPTER 13 개발 워크플로

__13.1 개발 도구

__13.2 배포 전략

__13.3 헬름으로 마이그레이션 처리하기

__13.4 마치며 


CHAPTER 14 쿠버네티스에서 지속적 배포하기

__14.1 지속적 배포란 무엇인가?

__14.2 어떤 CD 도구를 사용해야 할까? 

__14.3 CD 컴포넌트

__14.4 클라우드 빌드를 사용한 CD 파이프라인

__14.5 마치며


CHAPTER 15 관측 가능성과 모니터링

__15.1 관측 가능성이란?

__15.2 관측 가능성 파이프라인

__15.3 쿠버네티스 모니터링 

__15.4 마치며


CHAPTER 16 쿠버네티스 메트릭

__16.1 메트릭이란 무엇인가? 

__16.2 좋은 메트릭 선택하기

__16.3 메트릭 분석

__16.4 대시보드로 메트릭 그래프 그리기

__16.5 메트릭 알림

__16.6 메트릭 도구와 서비스

__16.7 마치며

 

책을 읽으며


OREILLY의 책 표지는 멸종 위기종으로 이루어져 있습니다.

이번 책은 어센션군함조라는 남대서양 근처에서 발견되는 바닷새라고 합니다. 

 

1.2.1 아무도 데브옵스를 이해하지 못한다

실제로 업무를 하다보면 정확하게 이해하고 있는 사람이 드물다고 할 수 있습니다. 아니, 개념이 모호하다고 하는게 맞다고 생각됩니다. 존 윌리스는 데브옵스의 4가지 핵심을 문화, 자동화, 측정, 공유라고 정의 했다고 하네요.

 

 

 

DepOps 구축에 있어서는 기술적인 문제가 아니라 조직적인 문제에 부딪치는 경우가 많습니다.

왜 구축을 해야하는지 이해를 시켜야 하고, 어떻게 적용하는지 이해를 시켜야하고, 많은 시간과 투자를 통해 진행해야 합니다. 일반적으로 기존의 환경에서 DevOps 환경이나 쿠버네티스 환경으로 전환하는데 6개월에서 1년정도 소요된다.라는 말을 자주 듣습니다. 실제로 기존에 구축된 인프라를 변경하는 문제는 간단한 문제는 아닙니다.

 

 

책 중간중간에는 명언들이 들어가 있습니다. 

좋은 글들이 많이 보여서 읽는 내내 좋은 부분도 있었습니다.

 

책이 약간 불친절한 경우도 있습니다.

Yaml 파일로 쿠버네티스에 Deployment를 생성하는 부분에서는 처음 yaml 매니페스트에 대한 설명이 나오는 것에도 불구하고 설명이 단 3줄입니다. 책 내용 뒤에서는 조금조금 필요한 부분을 설명해주고는 있지만, 모든 부분을 설명해주지 않고 있습니다. 조금 아쉬운 부분이긴 합니다. 생각보다 중요한 내용이라고 생각했던 부분을 너무 쉽게 설명한게 아닌가 라는 생각이 들었습니다.

 

 

 

앞의 내용은 파드 생성이나 기본적인 쿠버네티스의 설명에 대한 내용이 자세하게 나와있습니다.

Deployment, 리소스 관리, Auto-Scale 등에 대한 설명을 통해 직접 구성해보시면 좋을 것 같습니다.

11장에서는 모니터링에 대한 내용을 다루어줍니다. 쿠버네티스 대시보드를 통해 클러스터를 관리할 수 있는 내용이 나와있어 좋았습니다.

 

실제로 DevOps 구축에 대한 내용은 12장부터 시작된다고 생각합니다. 클러스터 배포 전략부터 개발 워크플로, 모니터링, 매트릭스 등등 DevOps를 위한 작업들에 대한 설명과 설정 정보들이 나오니 꼭 한번 보셨으면 좋겠습니다.

 

책에서 '집을 직접 짓지말자'라고 얘기합니다. 

직접 구축하기보다는 쿠버네티스에 대한 환경을 구성해주는 Google이나 AWS를 쓰는것을 권장한다고.

제 생각도 동일합니다. 구축해야하는 대상에 따라 다르겠지만 직접 구축하기에는 너무 많은 부분들을 직접 구현해야합니다. 쿠버네티스를 통해 DevOps를 구축하기에 앞서 책을 통해 미리 경험해보시면 좋을것 같습니다.


쿠버네티스를 활용한 클라우드 네이티브 데브옵스

 

 

표지1.jpg

 

 

 

쿠버네티스를 전혀 모르는 상태에서 책을 읽기 시작했다. (예전에 잠깐 로컬 컴퓨터 Windows 도커를 설치해서 컨테이너를 실행해본게 전부다.)

 

P.59에서 첫 실습을 할 수 있으며, Github에서 데모 파일을 다운로드한 뒤 책의 명령어를 따라서 도커 컨테이너를 실행했다.

그러나 컨테이너 실행과 Github에서 데모 파일 다운로드는 관련이 없어 보인다.

* Unable to find image 'cloudnatived/demo:hello' locally 메시지와 함께 도커 이미지는 인터넷 상에서 다운로드 받는 것 같다.

* 도커가 낯선 사람에게는 이해가 가지 않을 수 있다. (도커를 한 번 실행해본 나도 처음에는 긴가민가했다.)

* 글의 맥락은 깃허브 저장소에서 데모 파일을 받고, 명령어를 수행하면 마치 데모 파일을 받은 것을 수행한다는 느낌을 가지게 하지만 실제 둘은 큰 관련은 없다.

 

P.65에서 빌드한 도커 이미지 실행 시, 포트 충돌이 발생한다.

이전의 P.59에서 실행한 이미지가 실행 중이다. (Ctrl + C로 Shell은 빠져나왔으나 실제 컨테이너는 Run 중이라 별도로 Kill을 수행해서 해결했다.)

 

P.66에서 2.4절 시작에 2.1.3절 컨테이너 이미지 실행하기가 '자동으로 이미지를 다운로드하고 실행한 것'이라고 밝히고 있었다. 

이 부분은 2.1.3절에서 명확히 언급해주었어야 한다고 생각한다. (초심자는 항상 불안하다...)

 

P.110에서 서비스 YAML의 9999->8888로 책에 설명되어 있고, 코드가 명시되어 있으나 실제 데모 코드에서는 8888->8888로 표시되어 있다.

책과 동일하게 9999->8888로 되도록 변경했으나 오류가 발생하였다.

kubectl port-forward service/demo 9999:8888

>error: Service demo does not have a service port 8888

그래서 데모 코드를 원래대로 돌리고 다시 수행하자 정상적으로 진행되었다. (데모 코드가 맞고, 책의 코드가 잘못된 것 같다.)

 

P.114에서 helm init 명령어 인식 안 됨

> heml 버젼 3.0 이상부터는 init이 필요없다고 한다. (현재 2020-03 시점)

> 같은 페이지 helm version은 2.9.1이며, 내가 설치한 최신 버젼은 3.1.2이기 때문에 명령어 인식이 안되는 것 같다.

 

Chapter 4의 마지막 헬름 부분은 쿠버네티스의 리소스(?) 관리를 YAML 없이 수월하게 해준다는 것 같은데, 이 부분만으로는 이해하기 어렵다고 생각한다.

명령어를 따라 쳐서 일단 되는 것은 확인했으나 이전 예제와 동일하게 어플리케이션 접속까지 확인하면 좋을 것 같다.

(책에는 없으나, helm을 통한 서비스 생성에 포트가 80으로 잡혀 있어 http://localhost로 접속하니 이전 예저의 http://localhost:9999와 동일한 화면을 볼 수 있었다.)

 

그리고 헬름을 시작했으면, 종료하는 것도 알려주었으면 좋았을텐데, 일단 헬름 시작 부분의 'kubectl delete all --selector app=demo'를 수행하니 정리가 되긴 했다. 

(초심자로써 이게 맞는지 잘 모르겠다...)

 

Chapter 5, 6은 전체적으로 실습할 수 있는 내용 보다는 이론적인(?) 부분이 많다. (운영을 해보지 못한) 초심자 입장에서는 그렇게 유용하거나 와닿지 않는 부분인 것 같다. (심지어 조금 졸리다...)

Chapter 7은 실습할 수 있는 예제가 있어서 이전 챕터와 달리 지루하지는 않지만 운영을 해본 경험이 있을 경우 유용할 수 있는 부분이었다. 여러 유용한 툴, 커맨드는 실제 초심자에게 그렇게 의미 있지는 않았다.

 

내용이 많고 뒤로 갈수록 복잡해지기 때문에 점점 읽는 속도, 예제를 수행해보는 속도가 느려지고 있다.

책을 절반 조금 못 읽었으나 전반적으로 예제를 수행함에 있어 오류가 적어 좋았다.

 

그림보다 글이 많은 부분은 초심자에게 조금 벽으로 느껴질 수 있으나 관심이 있으나 시도를 아직 못한 사람 입장에서 괜찮은 책이라고 판단된다.

쿠버네스트 입문자가 읽기에 조금 버겁게 느껴지기도 하지만 그래도 진도가 나가기는(?) 한다.

 

이 책의 나머지 절반을 마저 읽고 끝날 수 있을 것 같지 않고, 지속적인 반복 숙달이 필요할 것 같다. (계속 옆에 책을 두어야 할 것 같다.)

직접 쿠버네티스를 운영해보면 더더욱 빛을 발하는 책이 아닐까 싶다.

 

KakaoTalk_20200314_025642739.jpg

 

쿠버네티스는 이번이 처음 다루어보는 오픈소스 입니다.
책에 내용을 보면 크게 3가지 부분으로 나눌수 있습니다.


1번째는 쿠버네티스를 구축하는 방법을 설명합니다.
윈도우와 맥에 도커 컨테이너를 설치하고 구축준비 하는법을 다루며,
자체적인 서버나 클라우드에 쿠버네티스 구축의 장단점
아마존 웹서비스, 마이크로소프트 애저, IBM클라우드 등 에서의
구축 장단점을 다룹니다. 대형 클라우드 서비스들에서 쿠버네티스의 구축은
상대적으로 적은 비용과 인력으로 가능하고 각 클라우드 서비스업체에서 제공하는
쿠버네티스서비스를 이용하므로 실제 구축의 편리성이 생깁니다.
자체 서버에서 쿠버네티스 구축을 하게되면 필요기능을 전부 Go언어로 만들어야 하고
설정과 구축이 복잡함이 있어보입니다.

 

또한 구축에 필요한 Go언어의 대한 설명과 소스코드의 설명이 저에겐 좀 부족하고
Go언어를 어느정도 알고 있는 분들에게는 소스코드의 내용과 동작에 대한 이해가 수월 할것 갔습니다.

 

2번째는 운영방법을 설명합니다.
운영에 대한 부분들을 읽으면서 든 생각은
프로그램이라기 보다 통상적인 프로그램 제작을 하는듯한 느낌이 강하게 듭니다.
그이유는 모든 설정을 Go언어로 프로그램을 만들듯 코드로 설정을 하게되고
통상적인 서버관리 프로그램들과 다르게 GUI로 설정할수 있는 부분이 없습니다.
제 생각엔 좀더 수월한 진행을 위해서 터미널 같은 CLI 환경에 익숙해 지는게 선행되어야 할거 같습니다.
또한 쿠버네티스의 사용할수 있는 도구 또는 플러그인 같은 것들이 굉장히 많이 설명 되어 있는데
이부분은 너무 방대한 내용이고 하나하나 해보질 못해서 설명을 생략합니다.

 

3번째는 관리방법을 설명합니다.
쿠버네티스의 지속적인 배포방법과 효율적인 배포방법을 다루고
모니터링과 관측에 대한 내용도 다룹니다. 이부분은 자세하게 읽지는 안았지만
전체적인 맥락은 배포에대한 설명 호과적인 배포에 관한 설명들이 있고
모니터링의 대한 설명이 있습니다 이부분은 실습을 못해봐서 설명을 생략합니다.

 

전체적으로 책을 보면서 느끼는건 서버에 대한 기본적인 용어와 지식이 좀 필요하고
Go라는 프로그래밍 언어로 소스코딩을 하기에 프로그래밍 언어에 대한 기본은 알고
읽는걸 추천드립니다. 이 두가지 기본 지식이 있으시면 설명이 엄청 쉽게 와다을 겁니다.
설명은 제가 느끼기에 쉽고 자세하게 나와있습니다. 하지만 저같이 Go언어를 접해보지 않으셨으면
소스코드설명이 잘 이해가 안될거라고 생각합니다. 물론 Go언어를 엄청 사용하진 않지만 모르는거보단
쉬울거에요. 이상으로 리뷰를 마칩니다. 읽어주신 모든분들 감사합니다.

 

-한빛미디어 화이팅~~!!-

 

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

배송료 안내

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

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

닫기

리뷰쓰기

닫기
* 도서명 :
쿠버네티스를 활용한 클라우드 네이티브 데브옵스
* 제목 :
* 별점평가
* 내용 :

* 리뷰 작성시 유의사항

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

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

오탈자 등록

닫기
* 도서명 :
쿠버네티스를 활용한 클라우드 네이티브 데브옵스
* 구분 :
* 상품 버전
종이책 PDF ePub
* 페이지 :
* 위치정보 :
* 내용 :

도서 인증

닫기
도서명*
쿠버네티스를 활용한 클라우드 네이티브 데브옵스
구입처*
구입일*
부가기호*
부가기호 안내

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

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

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

닫기

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

자료실