쿠버네티스 입문 (90가지 예제로 배우는 컨테이너 관리 자동화 표준)

쿠버네티스 입문 (90가지 예제로 배우는 컨테이너 관리 자동화 표준)

$28.50
Description
현업의 운영 경험을 바탕으로 엄선한 쿠버네티스 입문 A~Z
현재 다양한 인프라 구축의 핵심 기술은 컨테이너입니다. 운영체제, 데이터베이스, 웹 서버 등 인프라 구축에 필요한 컨테이너 이미지 각각을 조합해 인프라 환경을 손쉽게 설정할 수 있습니다. 그런데 이러한 컨테이너 각각을 사용자가 수동으로 관리하려면 적지 않은 수고를 들여야 합니다.

쿠버네티스는 자동으로 컨테이너를 관리하는 여러 가지 도구 중 사실상 표준으로 인정받는 검증된 플랫폼입니다. 이 책은 상용 서비스에 쿠버네티스를 도입하면서 얻은 저자들의 노하우를 바탕으로 쿠버네티스의 핵심 개념, 다양한 운영 방법, 쿠버네티스를 이용한 웹 서비스 구축 등을 실습 중심으로 배우도록 구성했습니다. 쿠버네티스를 처음 접한다면 더는 고민하지 말고 이 책으로 시작하세요!
저자

정원천

국내최대메신저회사의컨테이너클라우드플랫폼엔지니어입니다.최근에는어떻게유용한컨테이너플랫폼을만들지와효율적이고안정적으로운영할수있을지를깊이고민하는중입니다.업무에오픈소스를활용해서받은도움을오픈소스생태계에환원하고그이상으로기여하는방법을항상고민하고있습니다.

옮긴책으로『클라우드컴퓨팅바이블』(길벗,2012),『자바프로그래밍면접,이렇게준비한다』(한빛미디어,2015)가있습니다.

목차

PartI.쿠버네티스시작하기

1장.쿠버네티스소개
__1.1컨테이너
__1.2컨테이너오케스트레이션시스템
__1.3쿠버네티스
__1.4쿠버네티스의특징
____1.4.1선언적API
____1.4.2워크로드분리
____1.4.3어디서나실행가능
____1.4.4커뮤니티

2장.쿠버네티스설치하기
__2.1설치없이쿠버네티스사용하기
____2.1.1카타코다쿠버네티스플레이그라운드
____2.1.2PlaywithKubernetes
__2.2도커데스크톱을이용한쿠버네티스설치
____2.2.1윈도우에도커와쿠버네티스설치하기
____2.2.2macOS에도커와쿠버네티스설치하기
__2.3클라우드서비스에서제공하는쿠버네티스도구
____2.3.1구글쿠버네티스엔진
____2.3.2아마존쿠버네티스일래스틱컨테이너서비스
____2.3.3애저쿠버네티스서비스
__2.4쿠버네티스클러스터를직접구성하는도구
____2.4.1Kubeadm
____2.4.2Kubespray

3장.쿠버네티스로컨테이너실행하기
__3.1kubectl
____3.1.1설치
____3.1.2기본사용법
____3.1.3POSIX/GNU스타일의명령작성규칙
____3.1.4플래그
____3.1.5kubeconfig환경변수
____3.1.6자동완성
____3.1.7다양한사용예
__3.2디플로이먼트를이용해컨테이너실행하기
____3.2.1kubectlrun으로컨테이너실행하기
____3.2.2템플릿으로컨테이너실행하기
__3.3클러스터외부에서클러스터안앱에접근하기

PartII.쿠버네티스기본개념

4장.쿠버네티스아키텍처
__4.1쿠버네티스클러스터의전체구조
__4.2쿠버네티스의주요컴포넌트
____4.2.1마스터용컴포넌트
____4.2.2노드용컴포넌트
____4.2.3애드온
__4.3오브젝트와컨트롤러
____4.3.1네임스페이스
____4.3.2템플릿

5장.파드
__5.1파드개념
__5.2파드사용하기
__5.3파드생명주기
__5.4kubelet으로컨테이너진단하기
__5.5초기화컨테이너
__5.6파드인프라컨테이너
__5.7스태틱파드
__5.8파드에CPU와메모리자원할당
__5.9파드에환경변수설정하기
__5.10파드환경설정내용적용하기
__5.11파드구성패턴
____5.11.1사이드카패턴
____5.11.2앰배서더패턴
____5.11.3어댑터패턴

6장.컨트롤러
__6.1레플리케이션컨트롤러
__6.2레플리카세트
____6.2.1레플리카세트사용하기
____6.2.2레플리카세트와파드의연관관계
__6.3디플로이먼트
____6.3.1디플로이먼트사용하기
____6.3.2디플로이먼트롤백하기
____6.3.3파드개수조정하기
____6.3.4디플로이먼트배포정지,배포재개,재시작하기
____6.3.5디플로이먼트상태
__6.4데몬세트
____6.4.1데몬세트사용하기
____6.4.2데몬세트의파드업데이트방법변경하기
__6.5스테이트풀세트
____6.5.1스테이트풀세트사용하기
____6.5.2파드를순서없이실행하거나종료하기
____6.5.3스테이트풀세트로파드업데이트하기
__6.6잡
____6.6.1잡사용하기
____6.6.2잡병렬성관리
____6.6.3잡의종류
____6.6.4비정상적으로실행종료된파드관리하기
____6.6.5잡종료와정리
____6.6.6잡패턴
__6.7크론잡
____6.7.1크론잡사용하기
____6.7.2크론잡설정

7장.서비스
__7.1서비스의개념
__7.2서비스타입
__7.3서비스사용하기
____7.3.1ClusterIP타입서비스사용하기
____7.3.2NodePort타입서비스사용하기
____7.3.3LoadBalancer타입서비스사용하기
____7.3.4ExternalName타입서비스사용하기
__7.4헤드리스서비스
__7.5kube-proxy
____7.5.1userspace모드
____7.5.2iptables모드
____7.5.3IPVS모드

8장.인그레스
__8.1인그레스의개념
__8.2ingress-nginx컨트롤러
__8.3인그레스SSL설정하기
__8.4무중단배포를할때주의할점
____8.4.1maxSurge와maxUnavailable필드설정
____8.4.2파드가readinessProbe를지원하는지확인
____8.4.3쿠버네티스와컨테이너안에그레이스풀종료설정
__8.5무중단배포테스트

9장.레이블과애너테이션
__9.1레이블
__9.2애너테이션
__9.3레이블을이용한카나리배포

10장.컨피그맵
__10.1컨피그맵사용하기
__10.2컨피그맵설정중일부만불러와서사용하기
__10.3컨피그맵설정전체를한꺼번에불러와서사용하기
__10.4컨피그맵을볼륨에불러와서사용하기

11장.시크릿
__11.1시크릿만들기
____11.1.1명령으로시크릿만들기
____11.1.2템플릿으로시크릿만들기
__11.2시크릿사용하기
____11.2.1파드의환경변수로시크릿사용하기
____11.2.2볼륨형식으로파드에시크릿제공하기
____11.2.3프라이빗컨테이너이미지를가져올때시크릿사용하기
____11.2.4시크릿으로TLS인증서를저장해사용하기
__11.3시크릿데이터용량제한

PartIII.쿠버네티스한걸음더들어가기

12장.파드스케줄링
__12.1노드셀렉터
__12.2어피니티와안티어피니티
____12.2.1노드어피니티
____12.2.2파드의어피니티와안티어피니티
__12.3테인트와톨러레이션사용하기
____12.3.1테인트와톨러레이션의하위필드
__12.4클러스터를관리하는커든과드레인
____12.4.1커든설정하기
____12.4.2드레인설정하기

13장.인증과권한관리
__13.1인증
____13.1.1kubectl의config파일에있는TSL인증정보구조확인하기
____13.1.2서비스계정토큰을이용해인증하기
__13.2권한관리
____13.2.1롤
____13.2.2클러스터롤
____13.2.3롤바인딩
____13.2.4클러스터롤바인딩
____13.2.5다양한롤의권한관리확인하기

14장.데이터저장
__14.1볼륨
____14.1.1emptyDir
____14.1.2hostPath
____14.1.3nfs
__14.2퍼시스턴트볼륨과퍼시스턴트볼륨클레임
____14.2.1프로비저닝
____14.2.2바인딩
____14.2.3사용
____14.2.4반환
__14.3퍼시스턴트볼륨템플릿
__14.4퍼시스턴트볼륨클레임템플릿
__14.5레이블로PVC와PV연결하기
__14.6파드에서PVC를볼륨으로사용하기
__14.7PVC크기늘리기
__14.8노드별볼륨개수제한

15장.클러스터네트워킹구성
__15.1파드네트워킹
____15.1.1도커컨테이너의네트워킹이해하기
____15.1.2파드네트워킹이해하기
__15.2쿠버네티스서비스네트워킹
__15.3네트워크플러그인
____15.3.1플라넬
____15.3.2칼리코
____15.3.3실리엄

16장.쿠버네티스DNS
__16.1쿠버네티스DNS
__16.2클러스터안에서도메인사용하기
__16.3DNS질의구조
____16.3.1kube-dns의질의구조
____16.3.2CoreDNS의질의구조
__16.4파드안에DNS직접설정하기

17장.로깅과모니터링
__17.1로깅
____17.1.1파드로그확인하기
____17.1.2일래스틱서치로로그를수집한후모아서보기
____17.1.3클러스터레벨로깅
____17.1.4플루언트디를이용해서로그수집하기
____17.1.5스턴을이용한실시간로그모니터링
__17.2쿠버네티스대시보드
__17.3쿠버네티스클러스터모니터링
____17.3.1쿠버네티스모니터링아키텍처
____17.3.2힙스터
____17.3.3메트릭서버
____17.3.4프로메테우스

18장.오토스케일링
__18.1HPA의구조
__18.2HPA설정하기
__18.3오토스케일링테스트하기

19장.사용자정의자원
__19.1사용자정의컨트롤러
__19.2사용자정의자원과컨피그맵
__19.3사용자정의자원정의하기
__19.4CRD를활용한사용자정의컨트롤러사용하기
__19.5자원유효성검사
__19.6사용자정의자원의정보추가하기
__19.7프로메테우스오퍼레이터사용하기

20장.쿠버네티스기반으로워드프레스앱실행하기
__20.1워드프레스앱의구성
__20.2MySQL비밀번호를시크릿에등록하기
__20.3데이터베이스에사용할볼륨만들기
__20.4mysql파드실행하기
__20.5워드프레스앱을실행하고데이터베이스연결하기
__20.6모니터링도구이용하기
__20.7wordpress파드늘리기
__20.8wordpress파드오토스케일링테스트하기

21장.헬름
__21.1헬름소개
__21.2헬름클라이언트와틸러서버
__21.3헬름설치하고사용하기
__21.4헬름차트의구조
__21.5헬름차트수정해사용하기
__21.6헬름차트저장소를직접만들어사용하기

출판사 서평

실습중심으로쿠버네티스를효율적으로배우는길잡이
인프라관련기술을배우는지름길은인프라를직접구축해보고,운용관련실습을충실히수행하고,문제를겪으면서해결하고,배운지식을다른상황에응용해보는것입니다.

『쿠버네티스입문』은이러한배움의과정을충실하게담으려고노력한입문서입니다.쿠버네티스의주요요소를충실하게설명하려고도노력했을뿐만아니라,운용할때필요한여러가지부가기술도함께담았습니다.또한이책의기획편집자도모든실습과정을직접따라하면서저자와함께많은독자가실제실습하면서발생할수있는여러가지문제사항에대처하는TIP을담으려고노력했습니다.특히실습을도커데스크톱과Kubespray에서진행해서단일클러스터뿐만아니라여러클러스터사이의쿠버네티스운용방법도담으려고애썼습니다.많은독자가쉽게쿠버네티스를운용하는기초를쌓는데큰도움이될것으로생각합니다.

앞으로기술이발전하면쿠버네티스보다더발전한컨테이너오케스트레이션플랫폼이등장할것입니다.또한이미등장한쿠버네티스이외의다른비슷한플랫폼도장점이많습니다.그래도쿠버네티스는‘사실상의표준'이라는문구처럼앞으로컨테이너를다루려는인프라엔지니어에게기초소양이될중요한기술이라고생각합니다.이책이많은독자에게컨테이너오케스트레이션의세계로나가는길잡이가되길희망합니다.

이책에서배우는내용
● 쿠버네티스와컨테이너의관계
● 운영체제별쿠버네티스설치방법
● 파드,컨트롤러,서비스,인그레스,시크릿등핵심요소소개와실습
● 파드스케줄링,볼륨,클러스터네트워킹,로깅,모니터링,오토스케일링등실제쿠버네티스운영방법소개와실습
● 쿠버네티스를이용한웹서비스구축실습