목차
Part I. 쿠버네티스 시작하기

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.2 Play with Kubernetes
 __2.2 도커 데스크톱을 이용한 쿠버네티스 설치
____2.2.1 윈도우에 도커와 쿠버네티스 설치하기
____2.2.2 macOS에 도커와 쿠버네티스 설치하기
__2.3 클라우드 서비스에서 제공하는 쿠버네티스 도구
____2.3.1 구글 쿠버네티스 엔진
____2.3.2 아마존 쿠버네티스 일래스틱 컨테이너 서비스
____2.3.3 애저 쿠버네티스 서비스
__2.4 쿠버네티스 클러스터를 직접 구성하는 도구
____2.4.1 Kubeadm
 ____2.4.2 Kubespray

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

Part II. 쿠버네티스 기본 개념

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.4 kubelet으로 컨테이너 진단하기
__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.1 ClusterIP 타입 서비스 사용하기
____7.3.2 NodePort 타입 서비스 사용하기
____7.3.3 LoadBalancer 타입 서비스 사용하기
____7.3.4 ExternalName 타입 서비스 사용하기
__7.4 헤드리스 서비스
__7.5 kube-proxy
 ____7.5.1 userspace 모드
____7.5.2 iptables 모드
____7.5.3 IPVS 모드

8장. 인그레스
__8.1 인그레스의 개념
__8.2 ingress-nginx 컨트롤러
__8.3 인그레스 SSL 설정하기
__8.4 무중단 배포를 할 때 주의할 점
____8.4.1 maxSurge와 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 시크릿 데이터 용량 제한

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

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.1 kubectl의 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.1 emptyDir
 ____14.1.2 hostPath
 ____14.1.3 nfs
 __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.7 PVC 크기 늘리기
__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.3 DNS 질의 구조
____16.3.1 kube-dns의 질의 구조
____16.3.2 CoreDNS의 질의 구조
__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.1 HPA의 구조
__18.2 HPA 설정하기
__18.3 오토스케일링 테스트하기

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

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

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