이미 소장하고 있다면 판매해 보세요.
|
1장. 쿠버네티스 소개
__속도 ____불변성의 가치 ____선언형 설정 ____자가 치유 시스템 __서비스와 팀의 확장성 ____분리 ____애플리케이션과 클러스터를 위한 쉬운 확장 ____마이크로서비스로 개발 팀 확장 ____일관성과 확장성에 대한 고려사항 분리 __인프라 추상화 __효율성 __요약 2장. 컨테이너 생성과 실행 __컨테이너 이미지 ____도커 이미지 포맷 __도커를 활용한 애플리케이션 이미지 생성 ____도커 파일 ____이미지 보안 ____이미지 크기 최적화 __원격 레지스트리에 이미지 저장 __도커 컨테이너 런타임 ____도커로 컨테이너 실행 ____kuard 애플리케이션 탐색 ____자원 사용량 제한 __정리 __요약 3장. 쿠버네티스 클러스터 배포 __공용 클라우드 제공자 서비스에 쿠버네티스 설치하기 ____구글 컨테이너 서비스 ____애저 컨테이너 서비스에 쿠버네티스 설치하기 ____아마존 AWS에 쿠버네티스 설치하기 __minikube를 사용해 로컬에 쿠버네티스 설치하기 __라즈베리파이에서 쿠버네티스 운영 __쿠버네티스 클라이언트 ____클러스터 상태 확인 ____쿠버네티스 워커 노드 목록 조회 __클러스터 구성요소 ____쿠버네티스 프록시 ____쿠버네티스 DNS ____쿠버네티스 UI __요약 4장. 일반적인 kubectl 명령 __네임스페이스 __컨텍스트 __쿠버네티스 API 객체 보기 __쿠버네티스 객체의 생성, 업데이트, 삭제 __라벨과 애노테이션 __디버깅 명령 __요약 5장. 포드 __쿠버네티스에서의 포드 __포드에 대한 고찰 __포드 매니페스트 ____포드 생성 ____포드 매니페스트 생성 __포드 실행 ____포드 목록 ____포드 세부사항 ____포드 삭제 __포드 접속 ____포트 포워딩 사용 ____로그에서 더 많은 정보 확인 ____컨테이너에서 exec로 명령 실행 ____컨테이너 내외부로의 파일 복사 __상태 검사 ____활성 프로브 ____준비 프로브 ____상태 검사 유형 __자원 관리 ____자원 요청: 최소 필요 자원 ____limits로 자원 사용 제한 __볼륨에서 데이터 유지 ____포드로 볼륨 사용 ____포드에서 볼륨을 사용하는 다른 방법 ____원격 디스크를 사용한 영구 데이터 __종합 __요약 6장. 라벨과 애노테이션 __라벨 ____라벨 적용 ____라벨 수정 ____라벨 선택기 ____API 객체의 라벨 선택기 __애노테이션 ____애노테이션 정의 __정리 __요약 7장. 서비스 탐색 __서비스 탐색 __서비스 객체 ____서비스 DNS ____준비 상태 검사 __클러스터 외부로의 서비스 __클라우드 연계 __고급 세부 정보 ____엔드포인트 ____수동 서비스 탐색 ____kube-proxy와 클러스터 IP ____클러스터 IP 환경 변수 __정리 __요약 8장. 레플리카세트 __조정 루프 __포드와 레플리카세트 관계 ____기존 컨테이너 수용 ____컨테이너 격리 __레플리카세트 설계 __레플리카세트 명세 ____포드 템플릿 ____라벨 __레플리카세트 생성 __레플리카세트 검사 ____포드에서 레플리카세트 확인 ____레플리카세트에 대한 포드 집합 찾기 __레플리카세트 확장 ____kubectl scale을 사용한 명령형 확장 ____kubectl apply를 사용한 선언형 확장 ____레플리카세트 자동 확장 __레플리카세트 삭제 __요약 9장. 데몬세트 __데몬세트 스케줄러 __데몬세트 생성 __특정 노드로 데몬세트 제한 ____노드에 라벨 추가 ____노드 선택기 __데몬세트 업데이트 ____개별 노드를 삭제해 데몬세트 업데이트 ____데몬세트 롤링 업데이트 __데몬세트 삭제 __요약 10장. 잡 __잡 객체 __잡 패턴 ____원샷 ____병렬성 ____작업 대기열 __요약 11장. ConfigMap과 시크릿 __ConfigMap ____ConfigMap 생성 ____ConfigMap 사용 __시크릿 ____시크릿 생성 ____시크릿 사용 ____사설 도커 레지스트리 __명명 규칙 __ConfigMap과 시크릿 관리 ____목록 조회 ____생성 ____업데이트 __요약 12장. 디플로이먼트 __디플로이먼트와의 첫 만남 ____디플로이먼트 내부 __디플로이먼트 생성 __디플로이먼트 관리 __디플로이먼트 업데이트 ____디플로이먼트 확장 ____컨테이너 이미지 업데이트 ____롤아웃 이력 __디플로이먼트 전략 ____재생성 전략 ____롤링업데이트 전략 ____서비스 안정을 위한 느린 롤아웃 __디플로이먼트 삭제 __요약 13장. 스토리지 솔루션과 쿠버네티스 연계 __외부 서비스 가져오기 ____선택기 비사용 서비스 ____외부 서비스의 제약사항: 상태 검사 __신뢰 가능한 싱글톤 운영 ____MySQL 싱글톤 운영 ____동적 볼륨 프로비저닝 __스테이트풀세트를 사용한 쿠버네티스 기반 스토리지 ____스테이트풀세트 속성 ____스테이트풀세트를 사용한 수동 복제 몽고DB ____몽고DB 클러스터 자동 생성 ____영구 볼륨과 스테이트풀세트 ____마지막 단계: 준비 프로브 __요약 14장. 실제 애플리케이션 배포 __Parse ____사전 준비 ____Parse 서버 구축 ____Parse 서버 배포 ____Parse 테스트 __Ghost ____Ghost 구성 ____Ghost + MySQL __Redis ____Redis 구성 ____Redis 서비스 생성 ____Redis 배포 ____Redis 클러스터 사용 __요약 부록 A. 라즈베리파이 쿠버네티스 클러스터 구축 __부품 목록 __이미지 굽기 __첫 번째 부팅: 마스터 ____네트워크 설정 ____쿠버네티스 설치 ____클러스터 설정 __요약 |
Kelsey Hightower
켈시 하이타워의 다른 상품
Joe Beda
조 베다의 다른 상품
Brendan Burns
브렌던 번스의 다른 상품
차연철의 다른 상품
차원호의 다른 상품
|
이 책에서 다루는 내용
- 쿠버네티스가 다루는 분산 시스템 문제에 대한 탐구 - 도커 같은 컨테이너를 사용해 컨테이너화된 애플리케이션 개발 - 도커 이미지 포맷과 컨테이너 런타임을 사용해 쿠버네티스에서 컨테이너 생성 및 실행 - 운영 환경에서 애플리케이션을 실행하는 데 필수적인 핵심 쿠버네티스 개념 API 객체 탐구 - 다운타임과 오류 없이 새로운 소프트웨어 버전을 안전하게 배포 - 쿠버네티스에서 실제 애플리케이션을 개발하고 배포하는 방법에 대한 예제 참조 이 책의 대상 독자 분산 시스템에 입문하려는 사람이든 이미 클라우드 기반 시스템을 개발해본 경험이 있는 사람이든 관계없이, 컨테이너와 쿠버네티스는 모두에게 새로운 수준의 속도, 민첩성, 신뢰성, 효율성을 가져다 줄 것이다. 이 책은 쿠버네티스 클러스터 오케스트레이터(Orchestrator) 및 그 도구와 API를 사용해 분산 애플리케이션의 개발, 배포, 유지 관리를 향상하는 방법에 관한 지침을 전달한다. 쿠버네티스에 대한 경험이 없는 상태에서 이 책을 최대한 활용하려면 서버 기반 애플리케이션의 개발과 배포에 대한 지식을 갖추고 있어야 한다. 로드밸런서(Load Balancer)나 네트워크 스토리지(Network Storage) 같은 용어는 필수는 아니지만 익숙하다면 도움이 된다. 마찬가지로 리눅스, 리눅스 컨테이너, 도커(Docker)에 대한 이해 역시 필수는 아니지만 알고 있다면 이 책을 좀 더 효율적으로 이용할 수 있다 이 책의 구성 1장은 쿠버네티스의 장점을 개념적인 상위 수준에서 설명한다. 쿠버네티스를 처음 접하는 경우 이 책의 나머지 부분을 모두 읽어야 하는 이유에 대해서도 알 수 있다. 2장은 컨테이너와 컨테이너 애플리케이션에 대해 소개한다. 도커 관련 경험이 없는 경우라면 도커에 대한 유용한 소개를 얻게 될 것이며, 이미 도커를 경험해봤다면 복습하는 기회가 될 것이다. 3장은 쿠버네티스 배포에 대해 다룬다. 이 책의 대부분에서 쿠버네티스 사용에 대해 설명하지만 사용 전에 클러스터를 동작시켜야 한다. 운영 환경에서 클러스터를 동작시키는 것은 이 책의 범위를 벗어나지만, 쿠버네티스 사용에 대한 이해를 높이고자 이 장에서는 클러스터를 생성하는 쉬운 방법 몇 가지를 보여줄 것이다. 5장을 시작으로 쿠버네티스를 사용해 애플리케이션을 배포하는 방법을 자세히 다룬다. 5장에서는 포드(Pod), 6장에서는 라벨(Label)과 애노테이션(Annotation), 7장에서는 서비스(Service), 8장에서는 레플리카세트(ReplicaSet)에 대해 각각 다룬다. 방금 소개한 개념들은 쿠버네티스에서 서비스 배포의 핵심적인 기본 사항이다. 이후 좀 더 쿠버네티스에 특화된 주제를 다룬다. 9장에서는 데몬세트(DeamonSet), 10장에서는 잡(Job), 11장에서는 ConfigMap과 시크릿(Secret)을 다룬다. 이 개념들은 많은 운영 환경 애플리케이션에서 핵심 사항이다. 그렇지만 이제 막 쿠버네티스를 배우는 중이라면 우선 이 부분은 건너뛰고 좀 더 많은 경험과 전문 지식을 쌓은 후 다시 학습할 것을 권장한다. 12장에서는 애플리케이션의 생명주기와 밀접한 관련이 있는 디플로이먼트(Deployment)에 대해 다루며, 13장에서는 쿠버네티스로 스토리지(Storage) 연계에 대해 알아본다. 마지막으로 쿠버네티스를 사용해 실제 애플리케이션을 개발하고 배포하는 예제로 이 책을 마무리하고자 한다. 지은이의 말 새벽 3시에 프로세스를 재시작하려고 일어난 시스템 관리자, 자신의 노트북에서 테스트한 결과처럼 실행되지 않는 부분을 찾으려고 운영 환경에 코드를 주입하는 개발자, 아직 업데이트되지 않고 남은 호스트명으로 인해 운영 환경 서비스에서 잘못된 부하 테스트를 지정한 시스템 아키텍처, 쿠버네티스는 이들 모두에게 감사를 전한다. 쿠버네티스의 개발에 영감을 준 것은 바로 이러한 고통, 시간, 이상한 오류들이다. 한 문장으로 요약하면 쿠버네티스는 분산 시스템을 구축, 개발, 유지 관리하는 작업을 철저하게 단순화하려는 것이다. 쿠버네티스는 신뢰 가능한 시스템을 구축하려는 수십 년 동안의 실제 경험에서 영감을 받았다. 그리고 이런 작업을 진행할 때 황홀함은 아니라도 최소한 즐거움을 느낄 수 있도록 설계됐다. 나와 마찬가지로 독자들도 이 책의 내용을 즐기기 바란다 옮긴이의 말 최근 IT 인프라 환경은 도커(Docker)활용과 함께 변하고 있는 중이다. 기존의 무겁고 많은 자원을 소모하는 가상 환경은 데브옵스와 마이크로서비스의 활용이 높아지는 현재 추세에 버거워 보인다. 이에 컨테이너를 기반으로 한 경량화된 환경의 도커를 도입하는 곳이 크게 증가하고 있다. 이런 도커 사용이 증가하면서 관리자/개발자의 우려와 걱정도 함께 증가하고 있다. 수많은 도커를 어떻게 유연하게 관리할 수 있을까? 서로 어떻게 연계를 하고 애플리케이션을 배포할 수 있을까? 수많은 사람들이 항상 머릿속으로 고민을 하는 문제들이다. 오픈소스 프로젝트인 쿠버네티스는 이에 대한 답이 될 것이다. ‘쿠버네티스에 대한 작지만 강한 책'이 이 책을 가장 짧고 강하게 표현할 수 있는 구문이라 생각한다. 이 책은 쿠버네티스가 무엇이며 무엇을 할 수 있는지를 독자들에게 많은 예시와 함께 설명하고 있다. 쿠버네티스에 대한 소개부터 개념, 오브젝트, 실제 애플리케이션 배포 실습까지 이 책은 각 장/절마다 독자들의 지적 호기심을 자극해, 책을 읽으면 읽을수록 점점 더 쿠버네티스의 매력에 빠지게 한다. 이 책을 읽고 나면 쿠버네티스 세상에서 진두지휘하며 수많은 도커를 오케스트레이션하는 자신의 모습을 발견할 것이다. 이미 도커를 구축하고 관리 중인 독자도, 아직 도입하지는 않았지만 도입을 고려 중인 독자도, 이 책에서 소개하는 재미있고 쉬운 쿠버네티스의 강력한 기능을 사용해 개발과 관리의 유연한 연계가 가능한 새로운 인프라를 구축할 수 있을 것이다. |