클라우드 서비스 사용이 일반화되고, 컴퓨팅 정보 자산 활용에 극도의 효율을 요구하는 트렌드는 컨테이너 기술, 도커(Docker), 컨테이너 오케스트레이션의 빠르고 적절한 도입을 견인하고 있다. 쿠버네티스는 최신 트렌드를 충족하는 강력한 도구다. 이 책은 컨테이너 활용에 만족하지 않고 실제 운영 환경에서 발생하는 모니터링, 보안, 확장, 자동화의 문제를 실무자 입장에서 안내한다. 이 책의 독자는 컨테이너 도입, 활용, 관리를 '잘하는 수준'을 넘어 '최고의 전문가'로 발돋움할 것이다.
★ 이 책에서 다루는 내용 ★
- 장기 운영을 위한 안정적 쿠버네티스 클러스터 아키텍처
- GCE, AWS, 애저(Azue), 베어 메탈 환경에서 쿠버네티스 운영의 장점
- 쿠버네티스 인증 모델과 클러스터 연합(federation) 옵션
- 쿠버네티스 모니터링, 문제 해결, 고가용성 운영
- 사용자 정의 쿠버네티스 자원 생성 및 설정과 자동화된 워크플로우 환경에서 서드파티 자원 사용
- 컨테이너 환경에서 복잡한 상태저장 애플리케이션 운영 구조
- 표준 패키지로 구성된 애플리케이션 배포와 설치
★ 이 책의 대상 독자 ★
고급 기술을 익혀 쿠버네티스 마스터가 되고자 하는 중급 수준의 시스템 관리자와 개발자를 대상으로 한다. 이 책은 상급 수준으로, 쿠버네티스를 마스터하는 데 길잡이가 될 것이다.
★ 이 책의 구성 ★
1장 '쿠버네티스 구조의 이해'에서는 이 책의 주요 목적과 분산 시스템 환경에서 컨테이너 오케스트레이션을 간단히 소개한다. 또 쿠버네티스 구축 시 사용하는 기본 지침 원리를 설명하고 디자인을 자세히 다룬다.
2장 '쿠버네티스 클러스터 구축'에서는 사용자가 빠른 테스트 클러스터에서 실무 수준의 클러스터에 이르기까지 다양한 도구를 사용해 여러 쿠버네티스 클러스터를 생성한다.
3장 '모니터링, 로깅, 문제 해결'에서는 쿠버네티스 클러스터상에서의 이벤트 모니터링, 이벤트 로깅, 측정 항목 수집을 설명한다. 이를 통해 클러스터 행위의 패턴을 식별하고 분석할 수 있다.
4장 '고가용성과 신뢰성'에서는 고가용성 아키텍처의 모범 사례를 소개한다. 쿠버네티스는 비용과 성능의 균형, 실시간 업그레이드, 성능 병목 현상을 고려해 다양한 방법으로 고가용성 확보할 수 있도록 구성할 수 있다.
5장 '쿠버네티스 보안, 제한, 계정 설정'에서는 실무 환경에서 SSL API, 애드온, 도커(Docker) 인증 등을 사용해 쿠버네티스를 보호하는 방법을 살펴본다. 다양한 보안 주제와 함께 승인 제어, 외부 인증 시스템의 인터페이스, 네임스페이스를 자세히 다룬다.
6장 '중요 쿠버네티스 자원 사용'에서는 복잡한 마이크로서비스를 기반으로 하는 시스템을 설계한다. 시스템 설계는 쿠버네티스 자원의 검토와 배포로 구성되며, 애플리케이션의 구조와 구성에 따라 각각의 자원과 매핑된다.
7장 '쿠버네티스 스토리지 관리'에서는 쿠버네티스의 영구 볼륨을 설명한다. 또한 특정 사용 사례에 따른 스토리지 유형을 살펴본다.
8장 '쿠버네티스에서 상태 저장 애플리케이션 실행'에서는 데이터베이스, 메시지 큐 등 레거시 모놀리식 상태 저장 애플리케이션과 서비스를 운영할 때 직면하는 문제에 대해 살펴본다. 이와 함께 클러스터링 상태 저장 애플리케이션용 환경 공유 변수와 DNS 레코드도 소개한다.
9장 '배포, 확장성, 할당량'에서는 수평 포드 자동 확장, 클러스터 크기, 업데이트 배포의 고급 기능을 설명한다. 또한 쿠버네티스 확장 테스트와 스트레스 테스트에 사용하는 도구도 살펴본다.
10장 '쿠버네티스 고급 네트워킹'에서는 서드파티 SDN 플러그인에 사용하는 컨테이너 네트워크 인터페이스를 설명한다. CNI 플러그인, 로드밸런싱, 네트워크 보안 정책을 자세히 다룬다.
11장 '다수의 클라우드와 클러스터 페더레이션에서 쿠버네티스 운영하기'에서는 베어 메탈(bare metal), AWE, GCE 같은 특정 플랫폼에서 운영 환경의 쿠버네티스 클러스터 배포 방법을 살펴본다. 실무에서 클러스터 페더레이션(federation)의 필요성도 함께 소개한다.
12장 '쿠버네티스 사용자 최적화: API와 플러그인'에서는 API 수준에서 쿠버네티스를 다루는 방법과 함께 서드파티 자원 개발의 모범 사례 및 동기 부여를 설명한다. 또한 쿠버네티스가 지원하는 플러그인 유형과 사용자에게 최적화된 플러그인의 개발 방법도 함께 소개한다.
13장 '쿠버네티스 패키지 매니저 다루기'에서는 쿠버네티스 애플리케이션을 패키지로 관리하는 방법을 설명한다. 기존 Helm 패키지를 찾는 방법 및 설치 방법과 함께 Helm 차트 작성법을 살펴본다.
14장 '쿠버네티스의 미래'에서는 쿠버네티스의 미래와 함께 로드맵과 동향을 제시한다. 또한 오케스트레이션으로써 위치와 다른 경쟁 제품과 차이점도 함께 알아본다.