알라딘

Kubernetes쿠버네티스 - 완벽한 IT 인프라 구축의 자동화를 위한

아사 시호 (지은이), 이영란 (옮긴이), Makabe Toru (감수) | 정보문화사
  • 등록일2020-04-08
  • 파일포맷pdf
  • 파일크기49 M  
  • 지원기기아이폰, 아이패드, 안드로이드, 태블릿, PC
  • 평점 평점점 평가없음

책소개

<b>;Azure를 사용한 쿠버네티스의 개념 파악과 실전 응용</b>;<BR>;<BR>;이 책은 쿠버네티스를 처음 사용하는 업무 애플리케이션 개발자 및 도커에 대한 기초 지식이 있는 분을 대상으로 컨테이너 오케스트레이션 툴인 &lt;쿠버네티스의 구조&gt;와 &lt;기본적인 기능과 내부 동작&gt;을 설명한 책입니다.<BR>;<BR>;한정된 시간 안에서 효율적으로 이해할 수 있도록 가능한 한 추상적이고 난해한 말을 지양하고, 그림이나 일러스트를 넣어서 자세하고 알기 쉽게 설명하고 있습니다. 또한 실제로 시스템에 도입할 때 검토해야 하는 시스템의 가용성이나 확장성, 유지보수성과 같이 기초가 되는 개념도 설명하고 있습니다.<BR>;<BR>;&lt;책에서 다루는 주요 키워드&gt;<BR>;- 컨테이너 기술과 쿠버네티스의 개요<BR>;- Azure를 사용한 쿠버네티스 클러스터 작성<BR>;- 애플리케이션의 디플로이<BR>;- 포드를 사용한 컨테이너 애플리케이션의 관리<BR>;- 리플리카셋으로 여러 포드를 관리<BR>;- 디플로이먼트를 사용한 애플리케이션 디플로이<BR>;- 쿠버네티스의 가용성<BR>;- 쿠버네티스 운용에서 필요한 업데이트와 업그레이드 작업<BR>;- 쿠버네티스의 인증과 인가<BR>;- AKS의 메트릭 수집과 가시화, 로그 분석<BR>;<BR>;<b>;쿠버네트스를 사용한 인프라 구축 입문</b>;<BR>;<BR>;이 책은 쿠버네티스의 기본적인 구조를 설명하고 있는 입문서입니다. 쿠버네티스에는 추상화된 개념이 많아 초보자가 배우기에는 조금 허들이 높을 수 있지만 이 책에서는 그 내부에서 어떻게 움직이고 있는지, 왜 그런 동작을 하는지를 중심으로 알기 쉬운 말과 그림으로 정리하여 설명하고 있습니다. 또 실제로 시스템에 도입할 때 검토해야 하는 시스템의 가용성이나 확장성, 유지보수성 등과 같은 실전적인 개념도 자세하게 설명하고 있습니다. <BR>;<BR>;쿠버네티스는 분산 시스템에서 컨테이너를 운용하기 위한 노하우로 가득 채워진 세련된 오 픈소스 소프트웨어입니다. 전 세계의 우수한 기술자가 개발에 참여하여 지금도 개발이 활발히 진행되고 있기 때문에 이 책에서 모든 기능을 망라하여 소개할 수는 없습니다. 하지만 이 책을 통해 기초가 되는 개념을 공유하고 앞으로 독자 여러분과 함께 진화해 가는 쿠버네티스를 계속 배울 수 있는 계기가 마련된다면 좋겠습니다.

저자소개

금융계열 싱크탱크 등에서 은행 및 증권사용 인프라 엔지니어, 제조업용 인프라 엔지니어로 근무했다. 도시은행 정보 기반 시스템 구축 및 시스템 통폐합, 증권회사용 백오피스 시스템의 공통 기반 개발 및 통합인증 기반 구축 프로젝트, 석유/LNG 공장 건설을 하는 엔지니어링 기업의 시스템 기반 구축 프로젝트 등을 경험했다. 출산으로 퇴직 후 Linux나 클라우드 등을 독학으로 공부하여 초보자용 기술서를 집필했으며, 현재는 일본 마이크로소프트 주식회사에서 파트너용 영업활동과 기술지원 등에 종사하고 있다. 주요 저서로는 <완벽한 IT 인프라 구축을 위한 Docker (2판)> 등이 있다.

목차

제1부 도입편
\r\nCHAPTER 01 컨테이너와 쿠버네티스

\r\n1.1 컨테이너 기술의 개요
\r\n 컨테이너란?
\r\n 컨테이너 애플리케이션 개발의 흐름
\r\n1.2 쿠버네티스의 개요
\r\n 분산 환경에서 컨테이너 운용 관리
\r\n 쿠버네티스의 특징
\r\n 쿠버네티스의 도입
\r\n 쿠버네티스의 유스케이스
\r\n1.3 정리
\r\n
\r\nCHAPTER 02 쿠버네티스의 환경 구축
\r\n2.1 컨테이너 애플리케이션 개발의 흐름
\r\n 쿠버네티스를 사용한 개발 및 운용의 흐름
\r\n Azure의 쿠버네티스 관련 서비스
\r\n2.2 개발 환경의 준비
\r\n Visual Studio Code 설치
\r\n Azure CLI 명령의 설치
\r\n Kubectl 명령의 설치
\r\n Azure Cloud Shell 이용
\r\n2.3 컨테이너 이미지의 빌드와 공개
\r\n Azure Container Registry
\r\n ACR을 사용한 컨테이너 이미지 빌드와 공유
\r\n2.4 Azure를 사용한 쿠버네티스 클러스터 작성
\r\n AKS를 사용한 클러스터 구축
\r\n kubectl 명령을 사용한 클러스터의 기본 조작
\r\n2.5 정리
\r\n
\r\nCHAPTER 03 쿠버네티스를 움직여보자
\r\n3.1 애플리케이션의 디플로이
\r\n 디플로이의 기본 흐름
\r\n3.2 매니페스트 파일의 작성
\r\n 컨테이너 애플리케이션 설정하기
\r\n 서비스 설정하기
\r\n3.3 클러스터에서 리소스 작성
\r\n 애플리케이션 디플로이하기
\r\n 서비스 공개하기
\r\n3.4 애플리케이션의 동작 확인
\r\n3.5 정리
\r\n
\r\n제2부 기본편
\r\nCHAPTER 04 쿠버네티스의 요점

\r\n4.1 쿠버네티스의 개념
\r\n Immutable Infrastructure
\r\n 선언적 설정
\r\n 자기 복구 기능
\r\n4.2 쿠버네티스의 구조
\r\n 스케줄링과 디스커버리
\r\n 쿠버네티스의 서버 구성
\r\n 쿠버네티스의 컴포넌트
\r\n 클러스터에 액세스하기 위한 인증 정보
\r\n4.3 쿠버네티스의 리소스
\r\n 애플리케이션 실행(Pod/ReplicaSet/Deployment)
\r\n 네트워크 관리(Service/Ingress)
\r\n 애플리케이션 설정 정보 관리(ConfigMap/Secrets)
\r\n 배치 잡 관리(Job/CronJob)
\r\n4.4 매니페스트 파일
\r\n 매니페스트 파일의 기본
\r\n YAML의 문법
\r\n4.5 라벨을 사용한 리소스 관리
\r\n 라벨(Label)
\r\n LabelSelector를 사용한 리소스 검색
\r\n4.6 쿠버네티스의 리소스 분리
\r\n4.7 정리
\r\n
\r\nCHAPTER 05 컨테이너 애플리케이션의 실행
\r\n5.1 포드를 사용한 컨테이너 애플리케이션의 관리
\r\n 포드
\r\n 매니페스트 파일
\r\n 포드의 작성, 변경, 삭제
\r\n 포드의 디자인 패턴
\r\n5.2 포드의 스케줄링 구조
\r\n 포드가 어떻게 배치되는가?
\r\n 포드를 배치하는 노드는 어떻게 정하는가?
\r\n 포드를 움직이는 노드를 명시적으로 설정하기
\r\n5.3 포드를 효율적으로 움직이자
\r\n 노드의 CPU와 메모리 리소스 확인하기
\r\n 포드에 필요한 메모리와 CPU를 할당하기
\r\n 포드의 메모리와 CPU의 상한값 설정하기
\r\n 포드에 오류가 발생하면 어떻게 움직이는가?
\r\n 포드의 우선순위(QoS)
\r\n5.4 포드를 감시하자
\r\n 컨테이너 애플리케이션의 감시
\r\n HTTP 리퀘스트의 반환값을 체크하기
\r\n TCP Socket으로 연결할 수 있는지 체크하기
\r\n 명령의 실행 결과를 체크하기
\r\n5.5 리플리카셋으로 여러 포드를 관리하자
\r\n 리플리카셋(ReplicaSet)
\r\n 매니페스트 파일
\r\n 리플리카셋의 작성, 변경, 삭제
\r\n 클러스터 안의 상태를 어떻게 제어하는가?
\r\n 포드 장애가 발생하면 어떻게 될까?
\r\n 노드 장애가 발생하면 포드는 어떻게 될까?
\r\n5.6 부하에 따라 포드의 수를 바꿔 보자
\r\n 스케일러빌리티
\r\n 포드를 수동으로 수평 스케일하기
\r\n 포드를 자동으로 수평 스케일하기
\r\n HPA의 구조
\r\n5.7 정리
\r\n
\r\nCHAPTER 06 애플리케이션 디플로이
\r\n6.1 디플로이먼트를 사용한 애플리케이션 디플로이
\r\n 애플리케이션의 버전업 개념
\r\n 디플로이먼트
\r\n 매니페스트 파일
\r\n 디플로이먼트 작성, 변경, 삭제
\r\n6.2 디플로이먼트의 구조
\r\n 업데이트 처리 방식
\r\n 롤아웃
\r\n 롤백
\r\n 롤아웃 조건
\r\n 롤링 업데이트 제어
\r\n 블루/그린 디플로이먼트
\r\n6.3 애플리케이션의 설정 정보를 관리하자
\r\n 애플리케이션의 설정 정보 관리
\r\n ConfigMap 값 참조
\r\n 비밀번호와 키 관리
\r\n Secrets 값 참조
\r\n6.4 정리
\r\n
\r\n제3부 실전편
\r\nCHAPTER 07 아키텍처와 설계 원칙

\r\n7.1 쿠버네티스의 아키텍처
\r\n 인프라스트럭처와의 관계
\r\n7.2 쿠버네티스의 설계 원칙
\r\n Reconciliation Loops와 레벨 트리거 로직
\r\n API의 watch 옵션
\r\n 이벤트 체인
\r\n7.3 서비스와 제품의 구축
\r\n 쿠버네티스 Conformance Partner
\r\n 쿠버네티스 클러스터에 필요한 인프라스트럭처
\r\n 쿠버네티스 클러스터 구축에 필요한 작업
\r\n AKS의 아키텍처와 Cloud Controller Manager
\r\n7.4 정리
\r\n
\r\nCHAPTER 08 가용성(Availability)
\r\n8.1 쿠버네티스의 가용성
\r\n 마스터의 가용성(모두 액티브한 etcd와 API Server)
\r\n 마스터의 가용성(액티브/스탠바이 컴포넌트)
\r\n 노드의 가용성
\r\n 분산 수를 어떻게 할까? (마스터)
\r\n 분산 수를 어떻게 할까? (노드)
\r\n8.2 인프라스트럭처의 시점
\r\n Blast Radius(폭발 반경)
\r\n 소프트웨어적인 Blast Radius
\r\n 배치 예
\r\n 물리 서버를 의식한 배치
\r\n 랙을 의식한 배치
\r\n 데이터 센터를 의식한 배치
\r\n 광역 재해를 의식한 배치
\r\n AKS의 구축 예
\r\n8.3 정리
\r\n
\r\nCHAPTER 09 확장성(Scalability)
\r\n9.1 쿠버네티스 노드의 수평 자동 스케일
\r\n Cluster Autoscaler
\r\n9.2 AKS에 있어서 Cluster Autoscaler
\r\n Pending 상태를 만들어 낸다
\r\n Cluster Autoscaler의 도입
\r\n 노드 스케일 아웃
\r\n 노드 수의 상한, 하한 설정
\r\n 노드 스케일 인
\r\n 인프라스트럭처 조작 권한 및 시크릿 관리
\r\n9.3 기타 자동 스케일
\r\n HPA와 Cluster Autoscaler의 연동
\r\n 쿠버네티스 외부의 메트릭을 사용한 자동 스케일
\r\n9.4 정리
\r\n
\r\nCHAPTER 10 유지보수성(Manageability)
\r\n10.1 쿠버네티스 운용에서 필요한 업데이트 및 업그레이드 작업
\r\n10.2 서버 업데이트
\r\n 노드 재시작의 영향을 최소한으로 하는 장치
\r\n Cordon/Uncordon
\r\n Drain
\r\n PodDisruptionBudget
\r\n 노드 재시작을 자동으로 수행하려면
\r\n10.3 쿠버네티스 컴포넌트 업데이트
\r\n kubeadm을 사용한 예(v1.10 -> v1.11)
\r\n 업그레이드 전략(인플레이스)
\r\n 업그레이드 전략(블루/그린 디플로이먼트)
\r\n10.4 정리
\r\n
\r\nCHAPTER 11 리소스 분리(Security)
\r\n11.1 쿠버네티스 리소스의 분리 단위
\r\n 사람과 조직, 책임 범위
\r\n 클러스터 분리의 장단점
\r\n11.2 네임스페이스를 사용한 분리
\r\n 네임스페이스 정리
\r\n11.3 쿠버네티스의 계정
\r\n 사용자 계정(User Account)
\r\n 서비스 계정(Service Account)
\r\n11.4 쿠버네티스의 인증과 인가
\r\n 인증
\r\n 인가
\r\n Admission Control
\r\n11.5 RBAC(Role Based Access Control)
\r\n 리소스 표현과 조작
\r\n Role과 RoleBinding
\r\n 사용자와 Role의 연결
\r\n 서비스 계정과 Role의 연결
\r\n11.6 리소스 이용량의 제한
\r\n LimitRange
\r\n ResourceQuota
\r\n 세 가지 상한 설정 기능의 구분
\r\n11.7 정리
\r\n
\r\nCHAPTER 12 관측가능성(Observability)
\r\n12.1 관측가능성이란
\r\n 용어의 탄생 배경
\r\n 쿠버네티스 환경의 관측가능성
\r\n12.2 관측 대상과 방법
\r\n 메트릭
\r\n 로그
\r\n 분산 트레이싱
\r\n12.3 대표적인 소프트웨어와 서비스
\r\n12.4 AKS의 메트릭 수집과 가시화, 로그 분석
\r\n Azure Monitor
\r\n Azure Monitor for Containers
\r\n Azure Log Analytics
\r\n12.5 정리
\r\n
\r\nAPPENDIX 명령 레퍼런스
\r\nA.1 kubectl 명령
\r\nA.2 Azure CLI 명령

한줄 서평