이미 소장하고 있다면 판매해 보세요.
|
1장. 쿠버네티스 소개
__속도 __불변성의 가치 __선언형 컨피규레이션 __자가 치유 시스템 __서비스와 팀의 확장 ____분리 ____애플리케이션 및 클러스터의 손쉬운 확장 ____마이크로 서비스를 통한 개발 팀 확장 ____일관성 및 확장에 대한 고려사항 분리 __인프라 추상화 __효율성 __요약 2장. 컨테이너 생성 및 실행 __컨테이너 이미지 ____도커 이미지 포맷 __도커를 활용한 애플리케이션 이미지 빌드하기 ____도커파일 ____이미지 크기 최적화하기 ____이미지 보안 __다단계 이미지 빌드 __원격 레지스트리에 이미지 저장 __도커 컨테이너 런타임 ____도커로 컨테이너 실행하기 ____kuard 애플리케이션 탐색하기 ____리소스 사용량 제한하기 __정리 __요약 3장. 쿠버네티스 클러스터 배포 __퍼블릭 클라우드 제공자 환경에 쿠버네티스 설치하기 ____구글 쿠버네티스 엔진 ____애저 쿠버네티스 서비스에 쿠버네티스 설치하기 ____아마존 웹 서비스에 쿠버네티스 설치하기 ____미니큐브를 통해 로컬 환경에 쿠버네티스 설치하기 __도커 환경에서 쿠버네티스 실행하기 __라즈베리파이에서 쿠버네티스 실행하기 __쿠버네티스 클라이언트 ____클러스터 상태 확인 ____쿠버네티스 워커 노드 조회하기 __클러스터 컴포넌트 ____쿠버네티스 프록시 ____쿠버네티스 DNS ____쿠버네티스 UI __요약 4장. 공통 kubectl 커맨드 __네임스페이스 __컨텍스트 __쿠버네티스 API 객체 조회 __쿠버네티스 객체 생성, 수정, 삭제 __객체 라벨링과 애노테이션 __디버깅 커맨드 __커맨드 자동완성 __클러스터 조회의 대안들 __요약 5장. 파드 __쿠버네티스에서의 파드 __파드에 대한 생각 __파드 매니페스트 ____파드 생성 ____파드 매니페스트 생성 __파드 실행하기 ____파드 조회하기 ____파드 세부사항 ____파드 삭제하기 __파드에 접근하기 ____포트 포워딩 사용하기 ____로그를 통해 더 많은 정보 얻기 ____exec를 사용해 컨테이너에서 커맨드 실행하기 ____컨테이너 내외부로 파일 복사하기 __상태 검사 ____활성 프로브 ____준비 프로브 ____상태 검사 타입 __리소스 관리 ____리소스 요청: 최소 필요 리소스 ____리소스 제한으로 리소스 사용량 제한 __볼륨을 통한 데이터 보존 ____파드에 볼륨 사용하기 ____파드에서 볼륨을 사용하는 다양한 방법 ____원격 디스크를 사용한 데이터 보존 __종합 __요약 6장. 라벨과 애노테이션 __라벨 ____라벨 적용하기 ____라벨 수정하기 ____라벨 셀렉터 __API 객체의 라벨 셀렉터 ____쿠버네티스 아키텍처의 라벨 __애노테이션 ____애노테이션 정의 __정리 __요약 7장. 서비스 탐색 __서비스 탐색이란 무엇인가? __서비스 객체 __서비스 DNS __준비 검사 __클러스터 외부로의 서비스 __클라우드 연계 __고급 세부 정보 ____엔드포인트 ____수동 서비스 탐색 ____kube-proxy와 클러스터 IP ____클러스터 IP 환경 변수 __다른 환경과 연결 __정리 __요약 8장. 인그레스를 통한 HTTP 로드밸런싱 __인그레스 스펙과 인그레스 컨트롤러 __컨투어 설치 ____DNS 설정 ____로컬 hosts 파일 설정 __인그레스의 사용 ____가장 간단한 사용법 ____호스트 이름의 사용 ____경로 사용 ____정리 __심화된 인그레스 주제와 문제 ____다중 인그레스 컨트롤러 실행 ____다중 인그레스 객체 ____인그레스와 네임스페이스 ____경로 재작성 ____TLS 제공 __인그레스의 대체 구현 __인그레스의 미래 __요약 9장. 레플리카셋 __조정 루프 __파드와 레플리카셋의 관계 ____기존 컨테이너 수용 ____컨테이너 격리 __레플리카셋을 통한 설계 __레플리카셋 명세 ____파드 템플릿 ____라벨 __레플리카셋 생성 __레플리카셋 검사 ____파드에서 레플리카셋 찾기 ____레플리카셋에 대한 파드 집합 찾기 __레플리카셋 확장 ____kubectl scale을 사용한 명령형 확장 ____kubectl apply를 사용한 선언형 확장 ____레플리카셋 자동확장 __레플리카셋 삭제 __요약 10장. 디플로이먼트 __디플로이먼트 시작하기 ____디플로이먼트 내부 __디플로이먼트 생성 __디플로이먼트 관리 __디플로이먼트 업데이트 ____디플로이먼트 확장 ____컨테이너 이미지 업데이트 ____롤아웃 이력 __디플로이먼트 전략 ____재생성 전략 ____롤링업데이트 전략 __서비스 안정을 위한 느린 롤아웃 __디플로이먼트 삭제 __디플로이먼트 모니터링 __요약 11장. 데몬셋 __데몬셋 스케줄러 __데몬셋 생성 __데몬셋을 특정 노드로 제한 ____노드에 라벨 추가 ____노드 셀렉터 __데몬셋 업데이트 ____데몬셋의 롤링업데이트 __데몬셋 삭제 __요약 12장. 잡 __잡 객체 __잡 패턴 ____원샷 ____병렬 __작업 대기열 __크론잡 __요약 13장. 컨피그맵과 시크릿 __컨피그맵 ____컨피그맵 생성 ____컨피그맵 사용 __시크릿 ____시크릿 생성 ____시크릿 사용 ____사설 도커 레지스트리 __명명 규칙 __컨피그맵과 시크릿 관리 ____조회 ____생성 ____업데이트 __요약 14장. 쿠버네티스를 위한 역할 기반 접근 제어 __역할 기반 접근 제어 ____쿠버네티스에서의 ID ____역할 및 역할 바인딩의 이해 ____쿠버네티스에서의 역할 및 역할 바인딩 __RBAC를 관리하기 위한 기술 ____can-i를 통한 권한 부여 테스트 ____소스 제어에서 RBAC 관리 __고급 주제 ____클러스터 역할 조합 ____바인딩을 위한 그룹 사용 __요약 15장. 스토리지 솔루션과 쿠버네티스의 연계 __외부 서비스 가져오기 ____셀렉터가 없는 서비스 ____외부 서비스의 제약사항: 상태 검사 __신뢰할 수 있는 싱글톤 실행 ____MySQL 싱글톤 실행 ____동적 볼륨 프로비저닝 __스테이트풀셋을 통한 쿠버네티스 네이티브 스토리지 ____스테이트풀셋의 속성 ____스테이트풀셋을 통한 몽고DB 수동 복제 ____몽고DB 클러스터 생성 자동화 ____영구 볼륨과 스테이트풀셋 ____마지막 단계: 준비 프로브 __요약 16장 쿠버네티스 확장 __쿠버네티스 확장의 의미 __확장 지점 __사용자 정의 리소스를 위한 패턴 ____저스트 데이터 ____컴파일러 ____오퍼레이터 ____시작하기 __요약 17장. 실제 애플리케이션 배포 __주피터 __파스 ____사전 준비 ____parse-server 빌드 ____parse-server 배포 ____파스 테스트 __고스트 ____고스트 구성 __레디스 ____레디스 구성 ____레디스 서비스 생성 ____레디스 배표 ____레디스 클러스터로 사용 __요약 18장. 애플리케이션 구성 __알아야 할 원칙 ____신뢰성 있는 원천 데이터로서의 파일시스템 ____코드 리뷰의 역할 ____피처 게이트 및 가드 __소스 제어에서의 애플리케이션 관리 ____파일시스템 레이아웃 ____정기 버전 관리 __개발, 테스트 및 배포를 위한 애플리케이션 구조화 ____목표 ____릴리스 진행 __템플릿을 통한 애플리케이션 매개변수화 ____헬름 및 템플릿을 통한 매개변수화 ____매개변수화를 위한 파일시스템 레이아웃 __전 세계에 애플리케이션 배포 ____전 세계 배포를 위한 아키텍처 ____전 세계 배포 구현 ____전 세계 배포를 위한 대시보드 및 모니터링 __요약 부록A. 라즈베리파이 쿠버네티스 클러스터 구축 __부품 목록 __이미지 굽기 __첫 번째 부팅: 마스터 노드 ____네트워크 설정 ____쿠버네티스 설치 ____클러스터 설정 __요약 |
Kelsey Hightower
켈시 하이타워의 다른 상품
Joe Beda
조 베다의 다른 상품
Brendan Burns
브렌던 번스의 다른 상품
이준의 다른 상품
이설민의 다른 상품
|
★ 이 책에서 다루는 내용 ★
■ 쿠버네티스의 동작 방식을 살펴보기 위해 간단한 클러스터 생성 및 실행 ■ 쿠버네티스, 파드, 서비스, 인그레스, 레플리카셋을 사용한 애플리케이션 배포 방법 ■ 쿠버네티스에서 실행되고 있는 컨테이너화된 마이크로서비스와 스토리지의 연계 ■ 데몬셋, 잡, 컨피그맵, 시크릿과 같은 쿠버네티스 특수 객체 ■ 쿠버네티스에서 실제 애플리케이션을 개발하고 배포하는 방법과 관련한 실용적인 예제 ★ 이 책의 대상 독자 ★ 분산 시스템을 처음 접하든, 아니면 수년간 클라우드 네이티브 시스템을 배포한 경험이 있는 사용자든 관계없이 컨테이너와 쿠버네티스는 새로운 수준의 속도, 민첩성, 신뢰성, 효율성을 달성하는 데 도움이 될 수 있다. 이 책은 쿠버네티스 클러스터 오케스트레이터, 도구와 API를 사용해 분산 애플리케이션의 개발, 배포 및 유지 관리를 개선하는 방법을 설명한다. 쿠버네티스를 사용해본 경험이 없는 상태에서 이 책을 최대한 활용하려면, 서버 기반 애플리케이션에 대한 빌드 및 배포 지식을 갖추고 있어야 한다. 필수 사항은 아니지만 로드밸런서 및 네트워크 스토리지 같은 개념에 익숙하다면 내용을 이해하는 데 도움이 된다. 마찬가지로 리눅스, 리눅스 컨테이너, 도커에 대한 경험 역시 필수는 아니지만, 경험이 있다면 이 책을 최대한 활용하는 데 있어 큰 도움이 될 것이다 ★ 이 책의 구성 ★ 1장, ‘쿠버네티스 소개’는 쿠버네티스의 장점을 상위 수준 개념으로 소개하며, 쿠버네티스를 처음 접하는 경우 이 책의 내용을 모두 읽어야 하는 이유를 이해할 수 있다. 2장, ‘컨테이너 생성 및 실행’은 컨테이너 및 컨테이너화된 애플리케이션 개발 방법을 자세하게 소개한다. 이전에 도커(Docker)를 사용해본 경험이 있다면, 2장이 매우 유용할 것이다. 이미 도커에 대한 전문가라면 다시 한번 리뷰할 수 있는 기회가 될 것이다. 3장, ‘쿠버네티스 클러스터 배포’는 쿠버네티스를 배포하는 방법을 설명한다. 이 책은 쿠버네티스 사용 방법에 중점을 두고 있지만, 클러스터를 본격적으로 사용하기에 앞서 클러스터를 구동하고 이를 실행해야 한다. 이 책에서 운영 환경 구성을 위해 클러스터를 실행하는 방법을 다루지는 않지만, 3장에서 설명하는 클러스터를 생성하는 몇 가지 쉬운 방법을 통해 쿠버네티스 사용법을 알 수 있다. 4장, ‘공통 kubectl 커맨드’는 쿠버네티스 클러스터와 상호작용하는 데 사용되는 몇 가지 공통 커맨드를 소개한다. 5장부터는 쿠버네티스를 사용해 애플리케이션을 배포하는 방법을 자세히 살펴본다. 파드(5장), 라벨 및 애노테이션(6장), 서비스(7장), 인그레스(8장), 레플리카셋(9장)은 쿠버네티스에서 서비스를 배포하는 데 필요한 핵심 기본 사항이다. 그런 다음, 완전한 애플리케이션의 생명주기와 밀접한 관련이 있는 디플로이먼트(10장)를 살펴본다. 이후에는 쿠버네티스에서 데몬셋(11장), 잡(12장), 컨피그맵 및 시크릿(13장) 같이 좀 더 쿠버네티스에 특화된 객체를 다룬다. 이 개념은 대부분의 운영 환경 애플리케이션에 필수적이지만, 쿠버네티스를 학습하는 단계에서는 일단 건너뛰고 더 많은 경험과 전문 지식을 쌓고 난 후에 살펴보는 것이 더 도움이 될 수 있다. 15장에서는 쿠버네티스와 스토리지를 연계하는 방법을 살펴볼 것이다. 16장에서는 쿠버네티스의 확장을 설명한다. 마지막으로 쿠버네티스에 실제 애플리케이션을 개발 및 배포하는 방법(17장)과 애플리케이션을 소스 제어로 구성하는 방법(18장)을 사례를 통해 설명한다. ★ 지은이의 말 ★ 쿠버네티스는 프로세스를 재기동하기 위해 새벽 3시에 잠에서 깨는 모든 시스템 관리자에게 감사의 말을 전한다. 모든 개발자는 자신의 개발 환경에서 잘 실행되던 코드가 실제 운영 환경에서는 제대로 실행되지 않던 경험을 해봤을 것이다. 시스템 아키텍트는 아직 업데이트되지 않은 호스트 이름으로 인해, 운영 환경의 서비스에 잘못된 부하 테스트를 지시했던 경험도 있을 것이다. 쿠버네티스 개발에 영감을 준 것은 이러한 고통의 시간과 끔찍한 오류였다. 한마디로 요약하면, 쿠버네티스는 분산 시스템의 구축, 배포 및 유지 관리를 근본적으로 단순화하려는 노력의 산물이다. 쿠버네티스는 신뢰할 수 있는 시스템을 구축하려는 수십 년 동안의 실제 경험에서 영감을 얻었으며, 이러한 작업을 수행할 때 행복감까지는 아니더라도 적어도 즐거운 경험을 할 수 있도록 처음부터 설계됐다. 여러분이 이 책의 내용을 즐기길 바란다. ★ 옮긴이의 말 ★ 클라우드 컴퓨팅 분야의 발전과 함께 최근 클라우드 네이티브 아키텍처(cloud native architecture)가 각광을 받고 있다. 클라우드 네이티브 아키텍처는 애플리케이션에 기존 레거시 환경에 비해 더 많은 유연성과 확장성을 제공할 수 있는데, 이를 실현해줄 수 있는 도구가 바로 쿠버네티스다. 쿠버네티스는 컨테이너 오케스트레이션(container orchestration) 도구로서 컨테이너화된 애플리케이션에 대해 자동 배포 및 확장 등의 기능을 제공하는 오픈소스 기반 관리 시스템이다. 따라서 기존 시스템을 클라우드 네이티브 아키텍처로 진화시키려면 쿠버네티스에 대한 체계적인 이해와 학습이 필요한 시점이다. 이 책은 최근 릴리즈된 RBAC(Role Based Access Control)를 포함해 쿠버네티스 학습에 필요한 필수 요소를 예제와 함께 다루고 있으며, 실제 환경에 컨테이너화된 애플리케이션을 배포하고 관리할 수 있는 방법까지 설명하고 있다. 이 책이 클라우드 네이티브 아키텍처로의 전환을 꿈꾸는 모든 담당자에게 큰 도움이 되길 바란다. 대표역자 이준 |
|
“클라우드 네이티브 시스템과 관련해 세계에서 가장 존경받는 세 사람이 쓴 이 책은 쿠버네티스 개념의 기초를 탄탄히 세워주며, 스스로 탐구하는 데 도움이 되는 예제를 제공한다.” - 리즈 라이스 (Liz Rice, 아쿠아 시큐리티)
|