쿠버네티스 쿡북 [클라우드 네이티브 애플리케이션 구축]
- 원서명Kubernetes Cookbook: Building Cloud Native Applications (ISBN 9781491979686)
- 지은이세바스티앙 고아스구엔(Sebastien Goasguen), 마이클 하우젠블라스(Michael Hausenblas)
- 옮긴이유일호
- ISBN : 9791161752013
- 20,000원
- 2018년 09월 12일 펴냄
- 페이퍼백 | 240쪽 | 188*235mm
- 시리즈 : 오픈소스 프로그래밍
책 소개
요약
쿠버네티스와 관련된 지식을 80여 가지의 레시피를 통해 설명하는 책이다. 쿠버네티스에 대한 개념을 더욱 심화하거나, 쿠버네티스를 실제로 사용할 때 참고할 만한 책이다. 쿠버네티스에 대한 기본 개념을 숙지한 상태로 쿠버네티스 인프라를 구축하기 전에 이 책을 가볍게 쭉 읽어 본다면 도움이 될 것이다.
추천사
가장 좋은 인프라는 보이지 않는 인프라다. 『쿠버네티스 쿡북』은 보이지 않는 인프라를 구축할 수 있도록 돕는다. 이 책은 실제 업무에서 어떻게 해야 하는지 실례를 제공한다. 이 과정에서 쿠버네티스를 한 단계 높은 수준으로 다룰 수 있는 기술력을 갖추게 될 것이다.
- 조 베다(Joe Beda) / 헵티오(Heptio)의 설립자 겸 CTO, 쿠버네티스 설립자
쿠버네티스에서 애플리케이션을 만들어 실행하기 위한 환상적이고 실용적인 안내서다. 클라우드 기반의 컨테이너화된 애플리케이션을 만드는 데 도움이 되는 훌륭한 참고 자료이자 수단이다.
- 클레이튼 콜먼(Clayton Coleman) / 레드햇
세바스티앙과 마이클은 쿠버네티스에 좀 더 빨리 익숙해질 수 있도록 다양하고 유용한 레시피를 이 책에 모았다. 실제로 쿠버네티스를 설치하고 애플리케이션을 실행할 때 독자들이 직접 따라해해 볼 수 있게 수십 가지의 유용한 조언과 팁을 제공한다.
- 리즈 라이스(Liz Rice) / 최고 기술 전도사, 아쿠아(Aqua) 시큐리티
이 책에서 다루는 내용
█ 쿠버네티스 클러스터 제작
█ 쿠버네티스 커맨드라인 인터페이스 사용
█ 기본 워크로드 타입 관리
█ 서비스 다루기
█ 쿠버네티스 API 살펴보기
█ 스테이트풀 및 넌클라우드 네이티브 애플리케이션 관리
█ 볼륨 및 설정 데이터 다루기
█ 클러스터 수준 및 애플리케이션 수준 스케일링
█ 애플리케이션 보안
█ 모니터링과 로깅
█ 유지보수 및 문제 해결
이 책의 대상 독자
클라우드 네이티브 개발자, 시스템 관리자 또는 최신 유행의 데브옵스(DevOps) 롤 중 하나를 수행하고 있는 독자를 대상으로 한다. 이 책은 개발에서 프로덕션까지 쿠버네티스 정글을 성공적으로 탐험할 수 있도록 도와줄 것이다. 레시피들을 순서대로 진행할 필요는 없다. 하지만 각 장에는 핵심 쿠버네티스 개념과 API 프리미티브를 활용하는 레시피가 포함돼 있다.
목차
목차
- 1장. 쿠버네티스 시작하기
- 1.1 설치 없이 쿠버네티스 사용하기
- 1.2 쿠버네티스 CLI, kubectl 설치
- 1.3 로컬 쿠버네티스 인스턴스를 실행하기 위해 미니큐브 설치하기
- 1.4 개발 용도로 로컬에서 미니큐브 사용하기
- 1.5 미니큐브에서 애플리케이션 기동하기
- 1.6 미니큐브에서 대시보드 접근하기
- 2장. 쿠버네티스 클러스터 만들기
- 2.1 쿠버네티스 클러스터를 만들기 위해 kubeadm 설치하기
- 2.2 kubeadm을 사용해 쿠버네티스 클러스터 부트스트래핑하기
- 2.3 깃허브에서 쿠버네티스 릴리스 다운로드하기
- 2.4 클라이언트와 서버 바이너리 다운로드하기
- 2.5 hyperkube 이미지를 사용해 도커로 쿠버네티스 마스터 노드 실행하기
- 2.6 systemd 유닛 파일을 작성해 쿠버네티스 컴포넌트 실행하기
- 2.7 구글 쿠버네티스 엔진에 쿠버네티스 클러스터 만들기
- 2.8 애저 컨테이너 서비스(ACS)에 쿠버네티스 클러스터 만들기
- 3장. 쿠버네티스 클라이언트 사용 방법
- 3.1 리소스 조회
- 3.2 리소스 삭제
- 3.3 kubectl로 리소스 변경 감시하기
- 3.4 kubectl로 리소스 편집하기
- 3.5 kubectl 에게 리소스와 필드 설명을 요청하기
- 4장. 기초적인 워크로드 생성하고 수정하기
- 4.1 kubectl run을 사용해 디플로이먼트 생성하기
- 4.2 파일 매니페스트로부터 오브젝트 생성하기
- 4.3 파드 매니페스트 직접 작성하기
- 4.4 매니페스트를 사용해 디플로이먼트 런칭하기
- 4.5 디플로이먼트 업데이트
- 5장 서비스 사용하기
- 5.1 애플리케이션을 노출하기 위해 서비스 생성하기
- 5.2 서비스의 DNS 인트리 검증하기
- 5.3 서비스 타입 변경하기
- 5.4 미니큐브에 인그레스 컨트롤러 배포하기
- 5.5 클러스터 외부에서 접근할 수 있는 서비스 만들기
- 6장. 쿠버네티스 API와 핵심 메타데이터 살펴보기
- 6.1 쿠버네티스 API 서버의 API 엔드포인트 찾기
- 6.2 쿠버네티스 매니페스트 구조 이해하기
- 6.3 이름 충돌을 피하기 위해 네임스페이스 생성하기
- 6.4 네임스페이스 내부에 쿼타 설정하기
- 6.5 오브젝트에 레이블 부여하기
- 6.6 쿼리에 레이블 사용하기
- 6.7 커맨드 하나로 리소스 애노테이트하기
- 7장. 특화된 워크로드 관리하기
- 7.1 배치 잡 실행하기
- 7.2 파드 내부에서 예약된 태스크 실행하기
- 7.3 노드마다 인프라 데몬 실행하기
- 7.4 스테이트풀과 리더/팔로워 애플리케이션 관리하기
- 7.5 파드의 기동 동작에 영향 주기
- 8장. 볼륨과 설정 데이터
- 8.1 로컬 볼륨을 통해 컨테이너들 사이에서 데이터 교환하기
- 8.2 시크릿을 사용해 파드에 API 액세스키 전달하기
- 8.3 애플리케이션에 설정 데이터 제공하기
- 8.4 미니큐브에 퍼시스턴트 볼륨 사용하기
- 8.5 미니큐브에서의 데이터 퍼시스턴시 이해하기
- 8.6 GKE에 퍼시스턴트 스토리지 동적으로 프로비저닝하기
- 9장. 스케일링
- 9.1 디플로이먼트 스케일링하기
- 9.2 GKE에 있는 클러스터를 자동으로 리사이징하기
- 9.3 AWS 애 있는 클러스터 자동으로 리사이징하기
- 9.4 GKE에서 수평 파드 오토스케일링 사용하기
- 10장 보안
- 10.1 애플리케이션에 고유 ID 제공하기
- 10.2 접근 제어 정보 조회하고 확인하기
- 10.3 리소스에 대한 접근 제어하기
- 10.4 Securing Pods
- 11장. 모니터링과 로깅
- 11.1 컨테이너의 로그에 접근하기
- 11.2 Liveness 프로브로 브로큰 상태 복구하기
- 11.3 Readiness 프로브를 사용해 파드로의 트래픽 흐름 제어하기
- 11.4 디플로이먼트에 Liveness와 Readiness 프로브 추가하기
- 11.5 리소스를 모니터링하기 위해 미니큐브에 힙스터 활성화하기
- 11.6 미니큐브에서 프로메테우스 사용하기
- 11.7 미니큐브에서 일래스틱서치-플루언트디-키바나(EFK) 사용하기
- 12장. 관리 및 문제 해결
- 12.1 쿠버네티스의 자동완성 활성화하기
- 12.2 서비스에서 파드 제거하기
- 12.3 클러스터 외부에서 ClusterIP 서비스에 접근하기
- 12.4 리소스 상태 이해하고 파싱하기
- 12.5 파드 디버깅
- 12.6 클러스터 상태에 대한 자세한 스냅샷 얻기
- 12.7 쿠버네티스 워커 노드 추가하기
- 12.8 점검을 위해 쿠버네티스 노드 배출하기
- 12.9 etcd 관리하기
- 13장. 쿠버네티스 개발하기
- 13.1 소스 컴파일하기
- 13.2 특정 컴포넌트 컴파일하기
- 13.3 쿠버네티스 API와 상호작용하기 위해 파이썬 클라이언트 사용하기
- 13.4 커스텀 리소스 정의(CRD)를 사용해 API 확장하기
- 14장. 에코시스템
- 14.1 쿠버네티스 패키지 매니저인 Helm 인스톨하기
- 14.2 애플리케이션을 인스톨하기 위해 Helm 사용하기
- 14.3 Helm으로 애플리케이션을 패키징하기 위해 자신만의 차트 만들기
- 14.4 도커 컴포저 파일을 쿠버네티스 매니페스트로 변환하기
- 14.5 kubicorn으로 쿠버네티스 클러스터 만들기
- 14.6 버전 컨트롤에 암호화된 시크릿 저장하기
- 14.7 kubeless로 기능 배포하기