책소개
이 책은 쿠버네티스 창시자인 브렌던 번스와 분산 시스템, 기업용 애플리케이션 개발, 오픈 소스에 조예가 깊은 세 명의 쿠버네티스 전문가가 함께 썼다. 현업에서 쌓은 경험을 바탕으로 쿠버네티스를 성공적으로 운영하기 위한 다양한 기법을 구체적인 코드 예제와 함께 설명한다.
저자소개
짧은 기간 동안 소프트웨어 산업 경력을 쌓은 후, 인간처럼 움직이는 로봇 팔에 대한 운동 계획을 연구해 로보틱스 분야에서 박사 학위를 취득했다. 그 후 잠시 동안 컴퓨터과학 교수로 활동했다. 결국 시애틀로 돌아와 구글에 합류해 저지연 색인을 사용한 웹 검색 인프라 업무를 담당했다. 구글에 있는 동안 조 베다(Joe Beda), 크레이그 맥룩키(Craig McLuckie) 와 함께 쿠버네티스 프로젝트를 탄생시켰다. 현재 마이크로소프트 애저(Microsoft Azure)의 엔지니어링 임원으로 재직 중이다.
마이크로소프트 애저의 최고 엔지니어. 쿠버네티스 오픈 소스 프로젝트의 공동 설립자다. 10년 넘게 클라우드 애플리케이션을 구축해왔다.
목차
chapter 1 기본 서비스 설치</br>1.1 애플리케이션 개요</br>1.2 설정 파일 관리</br>1.3 디플로이먼트를 이용한 복제 서비스 생성</br>1.4 HTTP 트래픽을 처리하는 외부 인그레스 설정</br>1.5 컨피그맵으로 애플리케이션 설정</br>1.6 시크릿 인증 관리</br>1.7 간단한 스테이트풀 데이터베이스 배포</br>1.8 서비스를 이용한 TCP 로드 밸런서 생성</br>1.9 인그레스를 이용해 트래픽을 정적 파일 서버로 전달</br>1.10 헬름을 이용한 애플리케이션 파라미터화</br>1.11 서비스 배포 모범 사례</br>1.12 마치며</br></br>chapter 2 개발자 워크플로</br>2.1 목표</br>2.2 개발 클러스터 구축</br>2.3 다중 개발자를 위한 공용 클러스터 구축</br>2.4 개발자 워크플로 활성화</br>2.5 초기 설정</br>2.6 반복적 개발</br>2.7 테스트와 디버그 동작</br>2.8 개발 환경 설정 모범 사례</br>2.9 마치며</br></br>chapter 3 모니터링과 로깅</br>3.1 메트릭 vs 로그</br>3.2 모니터링 기술</br>3.3 모니터링 패턴</br>3.4 쿠버네티스 메트릭 개요</br>3.5 모니터링할 메트릭</br>3.6 모니터링 도구</br>3.7 프로메테우스를 사용한 모니터링</br>3.8 로깅 개요</br>3.9 로깅 도구</br>3.10 EFK 스택을 사용한 로깅</br>3.11 알림</br>3.12 모니터링, 로깅, 알림 모범 사례 </br>3.13 마치며</br></br>chapter 4 설정, 시크릿, RBAC</br>4.1 컨피그맵과 시크릿을 통한 설정</br>4.2 컨피그맵과 시크릿 API 모범 사례</br>4.3 RBAC</br>4.4 마치며</br></br>chapter 5 지속적 통합, 테스트, 배포</br>5.1 버전 관리</br>5.2 지속적 통합</br>5.3 테스트</br>5.4 컨테이너 빌드</br>5.5 컨테이너 이미지 태그</br>5.6 지속적 배포</br>5.7 배포 전략</br>5.8 운영에서 테스트</br>5.9 파이프라인 구축과 카오스 실험 수행</br>5.10 CI/CD 모범 사례</br>5.11 마치며</br></br>chapter 6 버전, 릴리스, 롤아웃</br>6.1 버전</br>6.2 릴리스</br>6.3 롤아웃</br>6.4 버전, 릴리스, 롤아웃 통합 예제</br>6.5 버전, 릴리스, 롤아웃 모범 사례</br>6.6 마치며</br></br>chapter 7 글로벌 애플리케이션 분산과 스테이지</br>7.1 이미지 분산</br>7.2 배포 파라미터화</br>7.3 글로벌 트래픽 로드 밸런스</br>7.4 안정적인 글로벌 롤아웃</br>7.5 문제 발생 시 대처</br>7.6 글로벌 롤아웃 모범 사례</br>7.7 마치며</br></br>chapter 8 리소스 관리</br>8.1 쿠버네티스 스케줄러</br>8.2 고급 스케줄링 기술</br>8.3 파드 리소스 관리</br>8.4 리소스 관리 모범 사례</br>8.5 마치며</br></br>chapter 9 네트워킹, 네트워크 보안, 서비스 메시</br>9.1 쿠버네티스 네트워크 원칙</br>9.2 네트워크 플러그인</br>9.3 쿠버네티스의 서비스</br>9.4 네트워크 보안 정책</br>9.5 서비스 메시</br>9.6 마치며</br></br>chapter 10 파드와 컨테이너 보안</br>10.1 파드시큐리티폴리시 API</br>10.2 워크로드 격리와 런타임클래스</br>10.3 파드와 컨테이너 보안 고려 사항</br>10.4 마치며</br></br>chapter 11 클러스터 정책과 거버넌스</br>11.1 정책과 거버넌스의 중요성</br>11.2 다른 정책과의 차이</br>11.3 클라우드 네이티브 정책 엔진</br>11.4 게이트키퍼 소개</br>11.5 감사</br>11.6 정책과 거버넌스 모범 사례</br>11.7 마치며</br></br>chapter 12 다중 클러스터 관리</br>12.1 다중 클러스터의 필요성</br>12.2 다중 클러스터 설계 문제</br>12.3 다중 클러스터 배포 관리 </br>12.4 깃옵스를 이용한 클러스터 관리</br>12.5 다중 클러스터 관리 도구</br>12.6 쿠버네티스 페더레이션</br>12.7 다중 클러스터 관리 모범 사례</br>12.8 마치며</br></br>chapter 13 외부 서비스와 쿠버네티스 통합</br>13.1 쿠버네티스로 서비스 가져오기</br>13.2 쿠버네티스 서비스 내보내기</br>13.3 쿠버네티스 간 서비스 공유</br>13.4 서드파티 도구</br>13.5 클러스터와 외부 서비스 연결 모범 사례</br>13.6 마치며</br></br>chapter 14 쿠버네티스에서 머신러닝 실행하기</br>14.1 머신러닝에서 쿠버네티스의 장점 </br>14.2 머신러닝 워크플로</br>14.3 쿠버네티스 클러스터 관리자를 위한 머신러닝</br>14.4 데이터 과학자 관심사</br>14.5 쿠버네티스에서의 머신러닝 모범 사례</br>14.6 마치며</br></br>chapter 15 고수준 애플리케이션 패턴 구축</br>15.1 고수준 추상화 개발 방법</br>15.2 쿠버네티스 확장</br>15.3 플랫폼 구축 시 설계 고려 사항</br>15.4 애플리케이션 플랫폼 구축 모범 사례</br>15.5 마치며</br></br>chapter 16 상태와 스테이트풀 애플리케이션 관리</br>16.1 볼륨과 볼륨 마운트</br>16.2 쿠버네티스 스토리지</br>16.3 스테이트풀 애플리케이션</br>16.4 마치며</br></br>chapter 17 어드미션 컨트롤과 권한</br>17.1 어드미션 컨트롤</br>17.2 권한</br>17.3 마치며</br></br>chapter 18 결론</br>