쿠버네티스 기초 다지기 3/e [기초부터 시작하는 단계별 가이드]
- 원서명Getting Started with Kubernetes: Extend your containerization strategy by orchestrating and managing large-scale container deployments, 3rd Edition (ISBN 9781788994729)
- 지은이조나단 바이에르(Jonathan Baier), 제시 화이트(Jesse White)
- 옮긴이박규태
- ISBN : 9791161753027
- 35,000원
- 2019년 05월 23일 펴냄 (절판)
- 페이퍼백 | 548쪽 | 188*235mm
- 시리즈 : acorn+PACKT, 오픈소스 프로그래밍
판매처
- 현재 이 도서는 구매할 수 없습니다.
책 소개
소스 코드 파일은 여기에서 내려 받으실 수 있습니다.
요약
쿠버네티스와 컨테이너 관리를 시작하는 입문자를 위한 안내서로, 쿠버네티스를 처음 접하는 사람들을 위해 얕지만 넓은 범위의 내용을 다룬다. 컨테이너와 쿠버네티스의 특징과 기능을 살펴보고 모니터링, 보안, 운영 전략과 같은 고급 주제도 설명한다. 지루하지 않게 학습할 수 있도록 이론과 실습을 번갈아 배치했다.
이 책에서 다루는 내용
■ 다운로드, 설치, 쿠버네티스 코드 베이스 설정
■ 쿠버네티스 클러스터의 모니터링 및 로깅 설정과 접근
■ 클러스터에서 실행되는 애플리케이션에 대한 외부 접근 설정
■ AWS, Azure, GCP 등의 클라우드 플랫폼에서 쿠버네티스를 관리하고 확장하는 방법
■ 여러 개의 클러스터를 실행하고 단일 제어 플레인에서 관리하는 방법
■ 쿠버네티스 클러스터를 배포하고 관리하는 최고의 도구 소개
■ 상용화에 대비하고 쿠버네티스 작업, 네트워킹, 스토리지를 강화하는 방법
이 책의 대상 독자
이 책과 쿠버네티스는 개발자, 운영자, 경영자를 위한 것이다. 모범 사례와 실제 운영 전략과 접목된 단계별 설명을 통해 컨테이너 애플리케이션을 상용 환경으로 이전하는 방법을 이해할 수 있다. 또한 쿠버네티스를 일상 업무에 적용하는 방법을 배울 수 있고 상용화 준비가 완료된 컨테이너 애플리케이션 스택을 준비하는 데도 도움이 된다. 도커 컨테이너를 다뤄봤거나 일반적인 소프트웨어 개발, 높은 수준의 운영 경험이 있다면 좀 더 쉽게 읽을 수 있을 것이다.
이 책의 구성
1장, ‘쿠버네티스 소개’에서는 컨테이너에 대해 간략하게 살펴보고 쿠버네티스 오케스트레이션의 이유, 목적, 방법, 비즈니스 목표와 일상 업무에 어떤 영향을 미치는지 확인한다.
2장, ‘쿠버네티스의 핵심 구성 요소로 기초 다지기’에서는 쿠버네티스의 핵심 구성 요소인 파드, 서비스, 레플리케이션 컨트롤러, 레플리카셋(ReplicaSet), 레이블을 살펴본다. 헬스체크와 스케줄링 등의 기본 작업도 살펴본다.
3장, ‘네트워킹, 로드 밸런서, 인그레스 작업’에서는 쿠버네티스의 클러스터 네트워킹과 쿠버네티스 프록시에 대해 설명한다. 서비스를 자세히 살펴보고 멀티테넌시를 위한 상위 수준 격리 기능을 간략하게 살펴본다.
4장, ‘신뢰성 있는 컨테이너 네이티브 애플리케이션 구현’에서는 수행 시간이 짧은 작업과 장기간 실행되는 애플리케이션의 배포에 관해 설명한다. 데몬셋을 사용해 클러스터의 전체 노드나 일부 노드에서 컨테이너를 실행하는 방법도 살펴본다.
5장, ‘쿠버네티스의 스토리지 개념 탐구’에서는 파드와 컨테이너 수명 주기에 걸친 스토리지 관련 문제와 영구 데이터에 관해 설명한다. 쿠버네티스에서 상태 저장 애플리케이션을 실행하기 위해 나온 새로운 객체에 대해서도 살펴본다.
6장, ‘애플리케이션 업데이트, 단계적인 롤아웃, 오토스케일링’에서는 가동 시간 중단을 최소화하면서 업데이트와 새 기능을 배포하는 방법을 간략하게 살펴본다. 애플리케이션과 쿠버네티스 클러스터를 스케일링하는 방법도 살펴본다.
7장, ‘지속적인 통합과 전달 설계’에서는 쿠버네티스를 지속적인 전달 파이프라인(pipeline)으로 통합하는 방법을 설명한다. 쿠버네티스와 함께 gulp.js, 젠킨스를 사용하는 방법도 살펴본다.
8장, ‘모니터링과 로깅’에서는 쿠버네티스 클러스터에 내장된 모니터링 도구, 서드파티 모니터링 도구의 사용법, 커스터마이징 방법에 관해 설명한다. 내장 로깅과 모니터링, 구글 클라우드의 로깅/모니터링 서비스, 시스딕(Sysdig)을 살펴본다.
9장, ‘운영 체제, 플랫폼, 로컬 및 클라우드 제공자’에서는 오픈 컨테이너 프로젝트와 개방형 컨테이너 명세 제정이라는 프로젝트 사명을 알아보며, 개방형 표준이 다양한 컨테이너 구현(Docker, rkt, Kurma, JetPack) 생태계를 지원하는 방법을 살펴본다. 뒤에서는 CoreOS, Project Atomic 등의 운영 체제(OS, Operating System)에 관해 설명하며, 다양한 컨테이너 구현에 대한 지원과 실행 성능 측면에서 각 OS를 호스트 OS로 사용할 때의 장점을 알아본다.
10장, ‘고가용성과 확장성을 위한 설계’에서는 장기 실행, 상태 비저장, 상태 저장 워크로드의 기반인 데몬셋, 디플로이먼트(Deployment), 레플리카셋, 스테이트풀셋 API와 같은 전체 애플리케이션 워크로드 API를 활용하는 쿠버네티스의 워크로드 기능을 소개한다. 클러스터 내의 객체를 검증하거나 변형하는 어드미션 컨트롤러에 대해 알아보고 구현해본다.
11장, ‘쿠버네티스 SIG, 인큐베이터 프로젝트, CNCF’에서는 쿠버네티스와 파트너 프로젝트의 글로벌 분산 협업 모델에 관해 설명한다. SIG 주변의 세 조직, 인큐베이팅 프로젝트와 졸업자 프로젝트 사이의 차이점, CNCF가 오픈 소스 프로젝트를 분산 기반으로 발전시키는 방법을 설명한다.
12장, ‘클러스터 페더레이션과 멀티테넌시’에서는 새로운 페더레이션 기능을 분석하고 페더레이션을 사용해 여러 개의 클러스터를 관리하는 방법을 설명한다. 핵심 구성 요소의 페더레이티드 버전과 공개 클라우드 벤더 DNS와의 통합을 살펴본다.
13장, ‘클러스터 인증, 권한 부여, 컨테이너 보안’에서는 컨테이너 런타임 수준에서 호스트에 이르는 컨테이너 보안 옵션을 설명한다. 쿠버네티스 클러스터에서 실행 중인 워크로드에 보안 개념을 적용하는 방법과 쿠버네티스 클러스터 실행과 관련된 몇 가지 보안 관심사와 관례를 설명한다.
14장, ‘쿠버네티스 강화’에서는 서드파티 확장과 도구를 자세히 살펴보고 엔터프라이즈급 배포를 위해 벤더에서 제공하는 몇 가지 확장 기능을 알아본다. 쿠버네티스에 모니터링, 보안, 스토리지 기능을 제공하는 몇 가지 기존 도구와 서비스도 간략하게 살펴본다.
15장, ‘쿠버네티스 인프라 관리’에서는 공개 클라우드 플랫폼의 쿠버네티스를 사용하든, 하이브리드로 설치해 사용하든 기반 인프라를 변경하는 방법에 관해 설명한다. 기반 인스턴스와 리소스 불안정성을 처리하는 방법과 부분적으로만 사용할 수 있는 기반 하드웨어에서 고가용성 워크로드를 실행하기 위한 전략을 설명한다.
목차
목차
- 1장. 쿠버네티스 소개
- 기술 요구 사항
- 간략한 컨테이너 소개
- 컨테이너란?
- 컨테이너가 너무 멋진 이유
- 지속적인 통합과 배포의 장점
- 리소스 활용성
- 마이크로서비스와 오케스트레이션
- 향후 과제
- 첫 번째 클러스터
- GCE에서 쿠버네티스 실행
- 쿠버네티스 UI
- 그라파나
- 커맨드라인
- 마스터에서 실행되는 서비스
- 노드에서 실행되는 서비스
- 클러스터 해체
- 다른 프로바이더 사용하기
- CLI 설정
- IAM 설정
- 클러스터 상태 저장소
- 클러스터 생성
- 클러스터 재설정
- 기타 구축 자동화 방법
- 로컬 대안
- 처음부터 직접 만들기
- 요약
- 질문
- 더 읽어볼 거리
- 2장. 쿠버네티스의 핵심 구성 요소로 기초 다지기
- 기술 요구 사항
- 쿠버네티스 시스템
- 쿠버네티스 아키텍처
- 마스터
- 클러스터 상태
- 클러스터 노드
- 마스터
- 노드(이전의 미니언)
- 핵심 구성 요소
- 파드
- 레이블
- 컨테이너의 사후
- 서비스
- 레플리케이션 컨트롤러와 레플리카셋
- 첫 쿠버네티스 애플리케이션
- 레이블 더 살펴보기
- 레플리카셋
- 헬스체크
- TCP 체크
- 수명 주기 훅 또는 정상 종료
- 애플리케이션 스케줄링
- 스케줄링 예제
- 요약
- 질문
- 더 읽어볼 거리
- 기술 요구 사항
- 3장. 네트워킹, 로드 밸런서, 인그레스 작업
- 기술 요구 사항
- 컨테이너 네트워킹
- 도커 네트워크
- 쿠버네티스의 네트워킹 방식
- 네트워킹 옵션
- 네트워킹 비교
- 균형잡힌 설계
- 고급 서비스
- 외부 서비스
- 내부 서비스
- 커스텀 로드 밸런싱
- 크로스 노드 프록시
- 커스텀 포트
- 다중 포트
- 인그레스
- 인그레스 유형
- 마이그레이션, 멀티 클러스터, 이외
- 커스텀 주소 지정
- 서비스 검색
- DNS
- 멀티테넌시
- 제한
- 리소스 사용에 대한 참고 사항
- 요약
- 질문
- 더 읽어볼 거리
- 4장. 신뢰성 있는 컨테이너 네이티브 애플리케이션 구현
- 기술 요구 사항
- 쿠버네티스의 상태 관리 방법
- 디플로이먼트
- 디플로이먼트 유스케이스
- 스케일링
- 업데이트와 롤아웃
- 오토스케일링
- 잡
- 이외의 잡 유형
- 데몬셋
- 노드 선택
- 요약
- 질문
- 5장. 쿠버네티스의 저장소 개념 탐구
- 기술 요구 사항
- 퍼시스턴트 저장소
- 임시 디스크
- 클라우드 볼륨
- 기타 저장소 옵션
- 퍼시스턴트 볼륨과 스토리지 클래스
- 동적 볼륨 프로비저닝
- 스테이트풀셋
- 스테이트풀 예제
- 요약
- 질문
- 더 읽어볼 거리
- 6장. 애플리케이션 업데이트, 단계적인 롤아웃, 오토스케일링
- 기술 요구 사항
- 예제 설정
- 스케일업
- 원활한 업데이트
- 테스트, 배포, 컷오버
- 애플리케이션 오토스케일링
- 클러스터 스케일링
- 오토스케일링
- GCE 클러스터 스케일업
- AWS 클러스터 스케일업
- 수동 스케일링
- 애플리케이션 관리
- 헬름 소개
- 요약
- 질문
- 더 읽어볼 거리
- 7장. 지속적인 통합과 전달 설계
- 기술 요구 사항
- 지속적인 배포 파이프라인과 통합
- gulp.js
- 준비 사항
- gulp.js 빌드 예제
- 젠킨스 쿠버네티스 플러그인
- 준비 사항
- 플러그인 인스톨
- 헬름과 미니큐브
- 보너스
- 요약
- 질문
- 더 읽어볼 거리
- 8장. 모니터링과 로깅
- 기술 요구 사항
- 모니터링 작업
- 내장된 모니터링
- 힙스터 살펴보기
- 대시보드 커스터마이징
- 플루언티드와 구글 클라우드 로깅
- 플루언티드
- 모니터링 작업 고도화
- GCE(스택드라이버)
- 시스딕으로 시스템 모니터링 극대화
- 프로메테우스
- 요약
- 질문
- 더 읽어볼 거리
- 9장. 운영 체제, 플랫폼, 로컬 및 클라우드 제공자
- 기술 요구 사항
- 표준의 중요성
- OCI 헌장
- OCI
- 컨테이너 런타임 인터페이스
- CRI-O 실습
- 이외의 컨테이너 런타임
- CNCF
- 컨테이너 표준 명세
- CoreOS
- rkt
- etcd
- CoreOS에 쿠버네티스 설치
- 텍토닉
- 대시보드
- 호스팅 플랫폼
- 아마존 웹 서비스
- 마이크로소프트 애저
- 구글 쿠버네티스 엔진
- 요약
- 더 읽어볼 거리
- 10장. 고가용성과 확장성을 위한 설계
- 기술 요구 사항
- 고가용성 소개
- 가용성 측정 방법
- HA 모범 사례
- 반취약성
- HA 클러스터
- 주요 클라우드 서비스 제공자의 HA 기능
- 쿠버네티스를 위한 HA 접근법
- 클러스터 수명 주기
- 어드미션 컨트롤러
- 워크로드 API
- 커스텀 리소스 정의
- 요약
- 질문
- 더 읽어볼 거리
- 11장. 쿠버네티스 SIG, 인큐베이터 프로젝트, CNCF
- 기술 요구 사항
- 기여자를 위한 깃 설정
- CNCF의 구조
- 쿠버네티스 생태계
- 쿠버네티스 SIG
- 참여 방법
- 요약
- 질문
- 더 읽어볼 거리
- 기술 요구 사항
- 12장. 클러스터 페더레이션과 멀티테넌시
- 기술 요구 사항
- 페더레이션 소개
- 페더레이션의 필요성
- 페더레이션의 구성 요소
- 주요 컴포넌트
- 페더레이티드 서비스
- 페더레이션 설정
- 컨텍스트
- 페더레이션을 위한 새 클러스터
- 페더레이션 제어 플레인 초기화
- 페더레이션 시스템에 클러스터 추가
- 페더레이티드 리소스
- 페더레이티드 컨피그
- 페더레이티드 수평 파드 오토스케일러
- 이외의 페더레이티드 리소스
- 진정한 멀티 클라우드
- 멀티 클라우드 구성
- 요약
- 질문
- 더 읽어볼 거리
- 13장. 클러스터 인증, 권한 부여, 컨테이너 보안
- 컨테이너 보안의 기본
- 컨테이너 이탈 방지
- 리소스 잠식과 오케스트레이션 보안
- 이미지 저장소
- 지속적인 취약점 스캐닝
- 이미지 서명과 검증
- 쿠버네티스 클러스터 보안
- 보안 API 호출
- RBAC
- 파드 보안 정책과 컨텍스트
- 추가 고려 사항
- 민감한 애플리케이션 데이터 보호(시크릿)
- 요약
- 질문
- 더 읽어볼 거리
- 컨테이너 보안의 기본
- 14장. 쿠버네티스 강화
- 상용화 준비
- 제자리에 준비, 출발
- 상용 환경에서 배운 교훈
- 제한 설정
- 스케줄링 제한
- 메모리 제한 예제
- CPU 제약 조건 스케줄링
- CPU 제약 조건 예제
- 클러스터 보안
- 서드파티 프로젝트 및 제품
- 사설 레지스트리
- 구글 쿠버네티스 엔진
- 애저 쿠버네티스 서비스
- ClusterHQ
- Portworx
- Shippable
- Twistlock
- Aqua Sec
- Mesosphere(메소스와 쿠버네티스 통합)
- Deis
- 오픈시프트
- 요약
- 질문
- 더 읽어볼 거리
- 상용화 준비
- 15장. 쿠버네티스 인프라 관리
- 기술 요구 사항
- 클러스터 계획
- 적합한 솔루션 선택
- 클러스터 보안
- 조정 예제
- 클러스터 업그레이드
- PaaS 클러스터 업그레이드
- 클러스터 스케일링
- GKE와 AKS의 스케일링
- 직접 구축한 클러스터의 스케일링
- 노드 유지보수
- 추가 구성 옵션
- 요약
- 질문