Top

쿠버네티스 쿡북 [클라우드 네이티브 애플리케이션 구축]

  • 원서명Kubernetes Cookbook: Building Cloud Native Applications (ISBN 9781491979686)
  • 지은이세바스티앙 고아스구엔(Sebastien Goasguen), 마이클 하우젠블라스(Michael Hausenblas)
  • 옮긴이유일호
  • ISBN : 9791161752013
  • 20,000원
  • 2018년 09월 12일 펴냄
  • 페이퍼백 | 240쪽 | 188*235mm
  • 시리즈 : 오픈소스 프로그래밍

책 소개

요약

쿠버네티스와 관련된 지식을 80여 가지의 레시피를 통해 설명하는 책이다. 쿠버네티스에 대한 개념을 더욱 심화하거나, 쿠버네티스를 실제로 사용할 때 참고할 만한 책이다. 쿠버네티스에 대한 기본 개념을 숙지한 상태로 쿠버네티스 인프라를 구축하기 전에 이 책을 가볍게 쭉 읽어 본다면 도움이 될 것이다.

추천사

가장 좋은 인프라는 보이지 않는 인프라다. 『쿠버네티스 쿡북』은 보이지 않는 인프라를 구축할 수 있도록 돕는다. 이 책은 실제 업무에서 어떻게 해야 하는지 실례를 제공한다. 이 과정에서 쿠버네티스를 한 단계 높은 수준으로 다룰 수 있는 기술력을 갖추게 될 것이다.
- 조 베다(Joe Beda) / 헵티오(Heptio)의 설립자 겸 CTO, 쿠버네티스 설립자

쿠버네티스에서 애플리케이션을 만들어 실행하기 위한 환상적이고 실용적인 안내서다. 클라우드 기반의 컨테이너화된 애플리케이션을 만드는 데 도움이 되는 훌륭한 참고 자료이자 수단이다.
- 클레이튼 콜먼(Clayton Coleman) / 레드햇

세바스티앙과 마이클은 쿠버네티스에 좀 더 빨리 익숙해질 수 있도록 다양하고 유용한 레시피를 이 책에 모았다. 실제로 쿠버네티스를 설치하고 애플리케이션을 실행할 때 독자들이 직접 따라해해 볼 수 있게 수십 가지의 유용한 조언과 팁을 제공한다.
- 리즈 라이스(Liz Rice) / 최고 기술 전도사, 아쿠아(Aqua) 시큐리티

이 책에서 다루는 내용

█ 쿠버네티스 클러스터 제작
█ 쿠버네티스 커맨드라인 인터페이스 사용
█ 기본 워크로드 타입 관리
█ 서비스 다루기
█ 쿠버네티스 API 살펴보기
█ 스테이트풀 및 넌클라우드 네이티브 애플리케이션 관리
█ 볼륨 및 설정 데이터 다루기
█ 클러스터 수준 및 애플리케이션 수준 스케일링
█ 애플리케이션 보안
█ 모니터링과 로깅
█ 유지보수 및 문제 해결

이 책의 대상 독자

클라우드 네이티브 개발자, 시스템 관리자 또는 최신 유행의 데브옵스(DevOps) 롤 중 하나를 수행하고 있는 독자를 대상으로 한다. 이 책은 개발에서 프로덕션까지 쿠버네티스 정글을 성공적으로 탐험할 수 있도록 도와줄 것이다. 레시피들을 순서대로 진행할 필요는 없다. 하지만 각 장에는 핵심 쿠버네티스 개념과 API 프리미티브를 활용하는 레시피가 포함돼 있다.

저자/역자 소개

지은이의 말

쿠버네티스 쿡북에 온 것을 환영한다. 이 책을 골라줘서 고맙다! 이 책은 쿠버네티스와 관련된 실질적인 문제의 해결 방법을 설명한다. 클러스터를 구성하고, 쿠버네티스 API 오브젝트를 사용해 컨테이너화된 워크로드를 관리하고, 스토리지 기초 요소, 보안 설정을 사용하며 쿠버네티스 자체를 확장하는 등 80개가 넘는 레시피를 정리했다. 쿠버네티스를 처음 접하는 입문자라도 쿠버네티스의 경험과 쓰임새를 향상시키는 데 이 책에서 도움을 얻길 바란다.

지은이 소개

세바스티앙 고아스구엔(Sebastien Goasguen)

1990년대 후반에 처음으로 자신의 컴퓨트 클러스터를 구축했으며, 포트란(Fortran 77)과 편미분 방정식으로 박사 학위를 취득한 데 자부심을 갖고 있다. 병렬 컴퓨터와 관련해 들인 노력은 컴퓨팅을 유틸리티로 만드는 일을 하게 만들었고 이후 그리드와 클라우드에 집중하게 했다. 15년이 지난 지금, 컨테이너와 쿠버네티스가 애플리케이션 작성 업무로 돌아가게 만들거라 은근히 기대하고 있다.
현재 비트나미의 클라우드 기술 담당 선임 이사로 재직 중이며 쿠버네티스 업무를 주도하고 있다. 2015년 후반에 쿠버네티스 스타트업인 스킵박스(Skippbox)를 설립했다. 스킵박스에서는 쿠버네티스의 사용자 경험을 향상시키기 위한 오픈소스 소프트웨어 애플리케이션과 도구를 몇 가지 만들었다. 아파치 소프트웨어 재단의 멤버이자 아파치 클라우드스택(CloudStack)의 전 부사장이다. 클라우드 에코시스템에 초점을 맞춰 수십 가지의 오픈소스 프로젝트에 기여해 왔다. 『Docker Cookbook』(O'Reilly Media, 2015)의 저자이고, 열혈 블로거이며, 사파리 구독자를 위해 쿠버네티스의 개념을 가르치는 온라인 강사다.

마이클 하우젠블라스(Michael Hausenblas)

레드햇에 재직 중이며 Go, 쿠버네티스, 오픈시프트(OpenShift)의 개발자 지지자다. 앱옵스(AppOps)가 분산 서비스를 구축하고 운영할 수 있도록 돕고 있다. 대규모 데이터 처리와 컨테이너 오케스트레이션에 경력을 갖고 있으며, W3C와 IETF에서 활동 및 표준화 경험이 있다. 레드햇 이전에는 메소스피어(Mesosphere), MapR, 아일랜드와 오스트리아에 있는 연구 기관에서 일했다. 주로 Go를 사용해 오픈소스 소프트웨어에 기여했으며, 블로그와 트위터에 글을 올리는 것을 매우 좋아한다.

옮긴이의 말

여러 IT 기업들이 쿠버네티스를 이용한 인프라 구성을 준비하고 있거나 이미 사용하고 있으며, 국내 쿠버네티스 커뮤니티에서도 교류가 점점 더 활발해 지고 있다. 쿠버네티스는 거의 컨테이너 기반 인프라 관리를 위한 표준 수준의 도구가 됐다. 대부분의 메이저 클라우드 프로바이더에서 쿠버네티스를 큰 어려움 없이 사용할 수 있으며, 이미 클라우드 컴퓨팅 서비스를 제공하는 잘 알려진 기업들은 자사의 상품군에 쿠버네티스 기반 제품을 정착시키기 위해 노력하거나 제법 이윤을 내고 있기도 하다.
이 책은 쿠버네티스의 개념을 더욱 심화하거나, 쿠버네티스를 실제로 사용할 때 참고할 만하다. 쿠버네티스에 대한 기본 개념을 숙지한 상태로 쿠버네티스 인프라를 구축하기 전에 이 책을 가볍게 쭉 읽어 본다면 도움이 될 것이다. 이 책은 80여 가지의 비교적 다양한 레시피를 선보이고 있지만 페더레이션과 관련된 레시피를 포함하고 있지 않으며, 보안을 다루는 레시피가 다소 적다는 게 아쉬운 부분이다. 멀티 클러스터를 관리하지 않는다면 페더레이션과 관련된 내용이 없다는 점은 그리 큰 문제가 아니지만, 보안과 관련된 부분은 다른 서적이나 글을 반드시 참고하길 권장한다.

옮긴이 소개

유일호

프로그래밍을 좋아하는 평범한 프로그래머다. 다양한 기술에 관심이 많으며, 현재 위메프에 재직 중이다. 늘 좋은 프로그래머가 되려고 노력한다.

목차

목차
  • 1장. 쿠버네티스 시작하기
    • 1.1 설치 없이 쿠버네티스 사용하기
    • 1.2 쿠버네티스 CLI, kubectl 설치
    • 1.3 로컬 쿠버네티스 인스턴스를 실행하기 위해 미니큐브 설치하기
    • 1.4 개발 용도로 로컬에서 미니큐브 사용하기
    • 1.5 미니큐브에서 애플리케이션 기동하기
    • 1.6 미니큐브에서 대시보드 접근하기

  • 2장. 쿠버네티스 클러스터 만들기
    • 2.1 쿠버네티스 클러스터를 만들기 위해 kubeadm 설치하기
    • 2.2 kubeadm을 사용해 쿠버네티스 클러스터 부트스트래핑하기
    • 2.3 깃허브에서 쿠버네티스 릴리스 다운로드하기
    • 2.4 클라이언트와 서버 바이너리 다운로드하기
    • 2.5 hyperkube 이미지를 사용해 도커로 쿠버네티스 마스터 노드 실행하기
    • 2.6 systemd 유닛 파일을 작성해 쿠버네티스 컴포넌트 실행하기
    • 2.7 구글 쿠버네티스 엔진에 쿠버네티스 클러스터 만들기
    • 2.8 애저 컨테이너 서비스(ACS)에 쿠버네티스 클러스터 만들기

  • 3장. 쿠버네티스 클라이언트 사용 방법
    • 3.1 리소스 조회
    • 3.2 리소스 삭제
    • 3.3 kubectl로 리소스 변경 감시하기
    • 3.4 kubectl로 리소스 편집하기
    • 3.5 kubectl 에게 리소스와 필드 설명을 요청하기

  • 4장. 기초적인 워크로드 생성하고 수정하기
    • 4.1 kubectl run을 사용해 디플로이먼트 생성하기
    • 4.2 파일 매니페스트로부터 오브젝트 생성하기
    • 4.3 파드 매니페스트 직접 작성하기
    • 4.4 매니페스트를 사용해 디플로이먼트 런칭하기
    • 4.5 디플로이먼트 업데이트

  • 5장 서비스 사용하기
    • 5.1 애플리케이션을 노출하기 위해 서비스 생성하기
    • 5.2 서비스의 DNS 인트리 검증하기
    • 5.3 서비스 타입 변경하기
    • 5.4 미니큐브에 인그레스 컨트롤러 배포하기
    • 5.5 클러스터 외부에서 접근할 수 있는 서비스 만들기

  • 6장. 쿠버네티스 API와 핵심 메타데이터 살펴보기
    • 6.1 쿠버네티스 API 서버의 API 엔드포인트 찾기
    • 6.2 쿠버네티스 매니페스트 구조 이해하기
    • 6.3 이름 충돌을 피하기 위해 네임스페이스 생성하기
    • 6.4 네임스페이스 내부에 쿼타 설정하기
    • 6.5 오브젝트에 레이블 부여하기
    • 6.6 쿼리에 레이블 사용하기
    • 6.7 커맨드 하나로 리소스 애노테이트하기

  • 7장. 특화된 워크로드 관리하기
    • 7.1 배치 잡 실행하기
    • 7.2 파드 내부에서 예약된 태스크 실행하기
    • 7.3 노드마다 인프라 데몬 실행하기
    • 7.4 스테이트풀과 리더/팔로워 애플리케이션 관리하기
    • 7.5 파드의 기동 동작에 영향 주기

  • 8장. 볼륨과 설정 데이터
    • 8.1 로컬 볼륨을 통해 컨테이너들 사이에서 데이터 교환하기
    • 8.2 시크릿을 사용해 파드에 API 액세스키 전달하기
    • 8.3 애플리케이션에 설정 데이터 제공하기
    • 8.4 미니큐브에 퍼시스턴트 볼륨 사용하기
    • 8.5 미니큐브에서의 데이터 퍼시스턴시 이해하기
    • 8.6 GKE에 퍼시스턴트 스토리지 동적으로 프로비저닝하기

  • 9장. 스케일링
    • 9.1 디플로이먼트 스케일링하기
    • 9.2 GKE에 있는 클러스터를 자동으로 리사이징하기
    • 9.3 AWS 애 있는 클러스터 자동으로 리사이징하기
    • 9.4 GKE에서 수평 파드 오토스케일링 사용하기

  • 10장 보안
    • 10.1 애플리케이션에 고유 ID 제공하기
    • 10.2 접근 제어 정보 조회하고 확인하기
    • 10.3 리소스에 대한 접근 제어하기
    • 10.4 Securing Pods

  • 11장. 모니터링과 로깅
    • 11.1 컨테이너의 로그에 접근하기
    • 11.2 Liveness 프로브로 브로큰 상태 복구하기
    • 11.3 Readiness 프로브를 사용해 파드로의 트래픽 흐름 제어하기
    • 11.4 디플로이먼트에 Liveness와 Readiness 프로브 추가하기
    • 11.5 리소스를 모니터링하기 위해 미니큐브에 힙스터 활성화하기
    • 11.6 미니큐브에서 프로메테우스 사용하기
    • 11.7 미니큐브에서 일래스틱서치-플루언트디-키바나(EFK) 사용하기

  • 12장. 관리 및 문제 해결
    • 12.1 쿠버네티스의 자동완성 활성화하기
    • 12.2 서비스에서 파드 제거하기
    • 12.3 클러스터 외부에서 ClusterIP 서비스에 접근하기
    • 12.4 리소스 상태 이해하고 파싱하기
    • 12.5 파드 디버깅
    • 12.6 클러스터 상태에 대한 자세한 스냅샷 얻기
    • 12.7 쿠버네티스 워커 노드 추가하기
    • 12.8 점검을 위해 쿠버네티스 노드 배출하기
    • 12.9 etcd 관리하기

  • 13장. 쿠버네티스 개발하기
    • 13.1 소스 컴파일하기
    • 13.2 특정 컴포넌트 컴파일하기
    • 13.3 쿠버네티스 API와 상호작용하기 위해 파이썬 클라이언트 사용하기
    • 13.4 커스텀 리소스 정의(CRD)를 사용해 API 확장하기

  • 14장. 에코시스템
    • 14.1 쿠버네티스 패키지 매니저인 Helm 인스톨하기
    • 14.2 애플리케이션을 인스톨하기 위해 Helm 사용하기
    • 14.3 Helm으로 애플리케이션을 패키징하기 위해 자신만의 차트 만들기
    • 14.4 도커 컴포저 파일을 쿠버네티스 매니페스트로 변환하기
    • 14.5 kubicorn으로 쿠버네티스 클러스터 만들기
    • 14.6 버전 컨트롤에 암호화된 시크릿 저장하기
    • 14.7 kubeless로 기능 배포하기

도서 오류 신고

도서 오류 신고

에이콘출판사에 관심을 가져 주셔서 고맙습니다. 도서의 오탈자 정보를 알려주시면 다음 개정판 인쇄 시 반영하겠습니다.

오탈자 정보는 다음과 같이 입력해 주시면 됩니다.

(예시) p.100 아래에서 3행 : '몇일'동안 -> 며칠동안