상세정보
미리보기
완벽한 IT 인프라 구축의 자동화를 위한 Kubernetes 쿠버네티스
- 저자
- Asa Shiho 저/Makabe Toru 감수/이영란 역
- 출판사
- 정보문화사
- 출판일
- 2019-10-30
- 등록일
- 2020-04-28
- 파일포맷
- PDF
- 파일크기
- 49MB
- 공급사
- 예스이십사
- 지원기기
-
PC
PHONE
TABLET
웹뷰어
프로그램 수동설치
뷰어프로그램 설치 안내
책소개
<b>Azure를 사용한 쿠버네티스의 개념 파악과 실전 응용</b></br></br>이 책은 쿠버네티스를 처음 사용하는 업무 애플리케이션 개발자 및 도커에 대한 기초 지식이 있는 분을 대상으로 컨테이너 오케스트레이션 툴인 [쿠버네티스의 구조]와 [기본적인 기능과 내부 동작]을 설명한 책입니다.</br></br>한정된 시간 안에서 효율적으로 이해할 수 있도록 가능한 한 추상적이고 난해한 말을 지양하고, 그림이나 일러스트를 넣어서 자세하고 알기 쉽게 설명하고 있습니다. 또한 실제로 시스템에 도입할 때 검토해야 하는 시스템의 가용성이나 확장성, 유지보수성과 같이 기초가 되는 개념도 설명하고 있습니다.
저자소개
금융계열 싱크탱크 등에서 은행 및 증권사용 인프라 엔지니어, 제조업용 인프라 엔지니어로 근무했다. 도시은행 정보 기반 시스템 구축 및 시스템 통폐합, 증권회사용 백오피스 시스템의 공통 기반 개발 및 통합인증 기반 구축 프로젝트, 석유/LNG 공장 건설을 하는 엔지니어링 기업의 시스템 기반 구축 프로젝트 등을 경험했다. 출산으로 퇴직 후 Linux나 클라우드 등을 독학으로 공부하여 초보자용 기술서를 집필했으며, 현재는 일본 마이크로소프트 주식회사에서 파트너용 영업활동과 기술지원 등에 종사하고 있다. 주요 저서로는 『완벽한 IT 인프라 구축을 위한 Docker (2판)』 등이 있다.<br>
목차
<b>제1부 도입편</br>CHAPTER 01 컨테이너와 쿠버네티스</b></br>1.1 컨테이너 기술의 개요</br>컨테이너란?</br>컨테이너 애플리케이션 개발의 흐름</br>1.2 쿠버네티스의 개요</br>분산 환경에서 컨테이너 운용 관리</br>쿠버네티스의 특징</br>쿠버네티스의 도입</br>쿠버네티스의 유스케이스</br>1.3 정리</br></br><b>CHAPTER 02 쿠버네티스의 환경 구축</b></br>2.1 컨테이너 애플리케이션 개발의 흐름</br>쿠버네티스를 사용한 개발 및 운용의 흐름</br>Azure의 쿠버네티스 관련 서비스</br>2.2 개발 환경의 준비</br>Visual Studio Code 설치</br>Azure CLI 명령의 설치</br>Kubectl 명령의 설치</br>Azure Cloud Shell 이용</br>2.3 컨테이너 이미지의 빌드와 공개</br>Azure Container Registry</br>ACR을 사용한 컨테이너 이미지 빌드와 공유</br>2.4 Azure를 사용한 쿠버네티스 클러스터 작성</br>AKS를 사용한 클러스터 구축</br>kubectl 명령을 사용한 클러스터의 기본 조작</br>2.5 정리</br></br><b>CHAPTER 03 쿠버네티스를 움직여보자</b></br>3.1 애플리케이션의 디플로이</br>디플로이의 기본 흐름</br>3.2 매니페스트 파일의 작성</br>컨테이너 애플리케이션 설정하기</br>서비스 설정하기</br>3.3 클러스터에서 리소스 작성</br>애플리케이션 디플로이하기</br>서비스 공개하기</br>3.4 애플리케이션의 동작 확인</br>3.5 정리</br></br></br><b>제2부 기본편</br>CHAPTER 04 쿠버네티스의 요점</b></br>4.1 쿠버네티스의 개념</br>Immutable Infrastructure</br>선언적 설정</br>자기 복구 기능</br>4.2 쿠버네티스의 구조</br>스케줄링과 디스커버리</br>쿠버네티스의 서버 구성</br>쿠버네티스의 컴포넌트</br>클러스터에 액세스하기 위한 인증 정보</br>4.3 쿠버네티스의 리소스</br>애플리케이션 실행(Pod/ReplicaSet/Deployment)</br>네트워크 관리(Service/Ingress)</br>애플리케이션 설정 정보 관리(ConfigMap/Secrets)</br>배치 잡 관리(Job/CronJob)</br>4.4 매니페스트 파일</br>매니페스트 파일의 기본</br>YAML의 문법</br>4.5 라벨을 사용한 리소스 관리</br>라벨(Label)</br>LabelSelector를 사용한 리소스 검색</br>4.6 쿠버네티스의 리소스 분리</br>4.7 정리</br></br><b>CHAPTER 05 컨테이너 애플리케이션의 실행</b></br>5.1 포드를 사용한 컨테이너 애플리케이션의 관리</br>포드</br>매니페스트 파일</br>포드의 작성, 변경, 삭제</br>포드의 디자인 패턴</br>5.2 포드의 스케줄링 구조</br>포드가 어떻게 배치되는가?</br>포드를 배치하는 노드는 어떻게 정하는가?</br>포드를 움직이는 노드를 명시적으로 설정하기</br>5.3 포드를 효율적으로 움직이자</br>노드의 CPU와 메모리 리소스 확인하기</br>포드에 필요한 메모리와 CPU를 할당하기</br>포드의 메모리와 CPU의 상한값 설정하기</br>포드에 오류가 발생하면 어떻게 움직이는가?</br>포드의 우선순위(QoS)</br>5.4 포드를 감시하자</br>컨테이너 애플리케이션의 감시</br>HTTP 리퀘스트의 반환값을 체크하기</br>TCP Socket으로 연결할 수 있는지 체크하기</br>명령의 실행 결과를 체크하기</br>5.5 리플리카셋으로 여러 포드를 관리하자</br>리플리카셋(ReplicaSet)</br>매니페스트 파일</br>리플리카셋의 작성, 변경, 삭제</br>클러스터 안의 상태를 어떻게 제어하는가?</br>포드 장애가 발생하면 어떻게 될까?</br>노드 장애가 발생하면 포드는 어떻게 될까?</br>5.6 부하에 따라 포드의 수를 바꿔 보자</br>스케일러빌리티</br>포드를 수동으로 수평 스케일하기</br>포드를 자동으로 수평 스케일하기</br>HPA의 구조</br>5.7 정리</br></br><b>CHAPTER 06 애플리케이션 디플로이</br></b>6.1 디플로이먼트를 사용한 애플리케이션 디플로이</br>애플리케이션의 버전업 개념</br>디플로이먼트</br>매니페스트 파일</br>디플로이먼트 작성, 변경, 삭제</br>6.2 디플로이먼트의 구조</br>업데이트 처리 방식</br>롤아웃</br>롤백</br>롤아웃 조건</br>롤링 업데이트 제어</br>블루/그린 디플로이먼트</br>6.3 애플리케이션의 설정 정보를 관리하자</br>애플리케이션의 설정 정보 관리</br>ConfigMap 값 참조</br>비밀번호와 키 관리</br>Secrets 값 참조</br>6.4 정리</br></br></br><b>제3부 실전편</br>CHAPTER 07 아키텍처와 설계 원칙</b></br>7.1 쿠버네티스의 아키텍처</br>인프라스트럭처와의 관계</br>7.2 쿠버네티스의 설계 원칙</br>Reconciliation Loops와 레벨 트리거 로직</br>API의 watch 옵션</br>이벤트 체인</br>7.3 서비스와 제품의 구축</br>쿠버네티스 Conformance Partner</br>쿠버네티스 클러스터에 필요한 인프라스트럭처</br>쿠버네티스 클러스터 구축에 필요한 작업</br>AKS의 아키텍처와 Cloud Controller Manager</br>7.4 정리</br></br><b>CHAPTER 08 가용성(Availability)</b></br>8.1 쿠버네티스의 가용성</br>마스터의 가용성(모두 액티브한 etcd와 API Server)</br>마스터의 가용성(액티브/스탠바이 컴포넌트)</br>노드의 가용성</br>분산 수를 어떻게 할까? (마스터)</br>분산 수를 어떻게 할까? (노드)</br>8.2 인프라스트럭처의 시점</br>Blast Radius(폭발 반경)</br>소프트웨어적인 Blast Radius</br>배치 예</br>물리 서버를 의식한 배치</br>랙을 의식한 배치</br>데이터 센터를 의식한 배치</br>광역 재해를 의식한 배치</br>AKS의 구축 예</br>8.3 정리</br></br><b>CHAPTER 09 확장성(Scalability)</br></b>9.1 쿠버네티스 노드의 수평 자동 스케일</br>Cluster Autoscaler</br>9.2 AKS에 있어서 Cluster Autoscaler</br>Pending 상태를 만들어 낸다</br>Cluster Autoscaler의 도입</br>노드 스케일 아웃</br>노드 수의 상한, 하한 설정</br>노드 스케일 인</br>인프라스트럭처 조작 권한 및 시크릿 관리</br>9.3 기타 자동 스케일</br>HPA와 Cluster Autoscaler의 연동</br>쿠버네티스 외부의 메트릭을 사용한 자동 스케일</br>9.4 정리</br></br><b>CHAPTER 10 유지보수성(Manageability)</b></br>10.1 쿠버네티스 운용에서 필요한 업데이트 및 업그레이드 작업</br>10.2 서버 업데이트</br>노드 재시작의 영향을 최소한으로 하는 장치</br>Cordon/Uncordon</br>Drain</br>PodDisruptionBudget</br>노드 재시작을 자동으로 수행하려면</br>10.3 쿠버네티스 컴포넌트 업데이트</br>kubeadm을 사용한 예(v1.10 -> v1.11)</br>업그레이드 전략(인플레이스)</br>업그레이드 전략(블루/그린 디플로이먼트)</br>10.4 정리</br></br><b>CHAPTER 11 리소스 분리(Security)</b></br>11.1 쿠버네티스 리소스의 분리 단위</br>사람과 조직, 책임 범위</br>클러스터 분리의 장단점</br>11.2 네임스페이스를 사용한 분리</br>네임스페이스 정리</br>11.3 쿠버네티스의 계정</br>사용자 계정(User Account)</br>서비스 계정(Service Account)</br>11.4 쿠버네티스의 인증과 인가</br>인증</br>인가</br>Admission Control</br>11.5 RBAC(Role Based Access Control)</br>리소스 표현과 조작</br>Role과 RoleBinding</br>사용자와 Role의 연결</br>서비스 계정과 Role의 연결</br>11.6 리소스 이용량의 제한</br>LimitRange</br>ResourceQuota</br>세 가지 상한 설정 기능의 구분</br>11.7 정리</br></br><b>CHAPTER 12 관측가능성(Observability)</b></br>12.1 관측가능성이란</br>용어의 탄생 배경</br>쿠버네티스 환경의 관측가능성</br>12.2 관측 대상과 방법</br>메트릭</br>로그</br>분산 트레이싱</br>12.3 대표적인 소프트웨어와 서비스</br>12.4 AKS의 메트릭 수집과 가시화, 로그 분석</br>Azure Monitor</br>Azure Monitor for Containers</br>Azure Log Analytics</br>12.5 정리</br></br></br><b>APPENDIX 명령 레퍼런스</b></br>A.1 kubectl 명령</br>A.2 Azure CLI 명령</br>