상세정보
미리보기
쿠버네티스 입문
- 저자
- 정원천,공용준,홍석용,정경록 공저
- 출판사
- 동양북스(동양books)
- 출판일
- 2020-01-17
- 등록일
- 2020-05-14
- 파일포맷
- PDF
- 파일크기
- 7MB
- 공급사
- YES24
- 지원기기
-
PC
PHONE
TABLET
웹뷰어
프로그램 수동설치
뷰어프로그램 설치 안내
책소개
현업의 운영 경험을 바탕으로 엄선한 쿠버네티스 입문 A~Z
현재 다양한 인프라 구축의 핵심 기술은 컨테이너입니다. 운영체제, 데이터베이스, 웹 서버 등 인프라 구축에 필요한 컨테이너 이미지 각각을 조합해 인프라 환경을 손쉽게 설정할 수 있습니다. 그런데 이러한 컨테이너 각각을 사용자가 수동으로 관리하려면 적지 않은 수고를 들여야 합니다.
쿠버네티스는 자동으로 컨테이너를 관리하는 여러 가지 도구 중 사실상 표준으로 인정받는 검증된 플랫폼입니다. 이 책은 상용 서비스에 쿠버네티스를 도입하면서 얻은 저자들의 노하우를 바탕으로 쿠버네티스의 핵심 개념, 다양한 운영 방법, 쿠버네티스를 이용한 웹 서비스 구축 등을 실습 중심으로 배우도록 구성했습니다. 쿠버네티스를 처음 접한다면 더는 고민하지 말고 이 책으로 시작하세요!
저자소개
국내 최대 메신저 회사에서 클라우드 서비스 개발 리딩을 맡고 있으며, 데이터 센터 자동화, 프라이빗/퍼블릭 클라우드 서비스와 그에 필요한 기술을 연구, 개발해서 실제 서비스에 적용하고 있다. 2015년에는 캐나다 밴쿠버에서 열린 오픈스택 서밋에서 국내 개발자 중 최초로 ‘SDN without SDN’이라는 제목으로 발표했고, 2016년(도쿄)과 2017년(몬트리얼) Netdev 컨퍼런스에서 역시 국내 최초로 확장가능한 컨테이너 네트워크에 대해 발표했다. 한국 데이터베이스 진흥원 자문위원, 클라우드컴퓨팅조합에서 멘토로도 활동 중이다.
목차
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 헬름 차트 저장소를 직접 만들어 사용하기