Top

쿠버네티스, 컨테이너 관리의 정석 [단계별 예제로 배우는 고가용성 클러스터 구축]

  • 원서명Kubernetes Cookbook - Second Edition: Practical solutions to container orchestration (ISBN 9781788837606)
  • 지은이히데토 사이토(Hideto Saito), 후이-추안 클로에 리(Hui-Chuan Chloe Lee), 케-주 캐롤 수(Ke-Jou Carol Hsu)
  • 옮긴이차연철
  • ISBN : 9791161752938
  • 40,000원
  • 2019년 04월 30일 펴냄
  • 페이퍼백 | 664쪽 | 188*235mm
  • 시리즈 : acorn+PACKT, 소프트웨어 아키텍처

책 소개

소스 코드 파일은 여기에서 내려 받으실 수 있습니다.

요약

쿠버네티스에서 컨테이너를 생성하는 방법부터 모니터링까지 기본 기능과 고급 기능을 폭넓게 활용할 수 있도록 구성돼 있다. 쿠버네티스 환경의 구성과 쿠버네티스에 대한 개념 설명으로 시작해서 마이크로서비스 활용을 위해 필요한 가용성 보장에 요구되는 컨테이너에 대한 규모 확장과 축소에 대해 설명을 이어간다.
마이크로서비스 환경에서 쿠버네티스가 지속적 전달을 지원하는 만큼 젠킨스를 활용하는 지속적 통합 방법을 제시하며, 대표적인 클라우드 서비스인 아마존 웹 서비스(AWS)의 클라우드 환경과 구글 클라우드 플랫폼(GCP)에서 쿠버네티스 클러스터를 적용하는 방법을 알려준다. 마지막으로 쿠버네티스 클러스터의 관리와 다양한 쿠버네티스 모니터링 도구에 관해서도 설명한다.

이 책에서 다루는 내용

■ 컨테이너 클러스터 구축
■ 쿠버네티스를 사용해 컨테이너화되고 확장성이 높은 애플리케이션 배포 및 관리
■ 애플리케이션을 위한 지속적 전달 파이프라인 구축
■ 클러스터에서 실행 중인 모든 컨테이너에 관한 측정 항목 및 로그 추적
■ 대규모 컨테이너 오케스트레이션을 사용해 애플리케이션 배포 및 관리 방법 간소화

이 책의 대상 독자

일정 기간 동안 도커 컨테이너를 사용하고 현대적 방법으로 컨테이너를 총체적으로 관리할 것이라면, 이 책이 적격이다. 이 책은 이미 도커 및 컨테이너 기술을 이해하고 있고 컨테이너 오케스트레이션, 관리, 배포에 대한 더 좋은 방법을 찾는 사람들을 위한 것이다. 단일 컨테이너를 넘어서 완벽하게 컨테이너 클러스터로 작업할 수 있게 돕는다. 그리고 쿠버네티스의 구축 방법을 학습하고 지속적 전달 파이프라인으로 연속적인 작업을 할 수 있게 한다.

이 책의 구성

1장, ‘쿠버네티스 클러스터 구축하기’에서는 다양한 배포 도구로 쿠버네티스 클러스터의 구축 방법과 클러스터에서 첫 번째 컨테이너를 실행시키는 방법에 대해 설명한다.
2장, ‘쿠버네티스 개념 살펴보기’에서는 쿠버네티스에 대해 알아야 할 기본 개념과 고급 개념을 설명한다. 그리고 구성 파일을 작성하고 적용해 쿠버네티스 객체를 생성하도록 결합하는 방법을 학습한다.
3장, ‘컨테이너 사용하기’에서는 애플리케이션 가용성에 영향을 주지 않으며 컨테이너의 규모를 확대 및 축소하고 롤링 업데이트를 수행하는 방법에 대해 설명한다. 또한 서로 다른 애플리케이션 작업 부하로 컨테이너를 배포하는 방법에 대해 학습한다.
4장, ‘고가용성 클러스터 구축하기’에서는 고가용성 쿠버네티스 마스터와 etcd를 구축하는 방법에 대한 정보를 제공한다. 이것으로 단일 실패 지점(SPoF, Single Point of Failure) 발생으로 인한 피해에서 쿠버네티스 구성 요소를 보호한다.
5장, ‘지속적 전달 파이프라인’에서는 젠킨스와 사설 도커 레지스트리를 사용해 기존의 지속적 전달 파이프라인에 쿠버네티스를 통합하는 법을 논의한다.
6장, ‘AWS에서 쿠버네티스 구축하기’에서는 AWS 기본 사항에 대해 살펴본다. 몇 분 만에 AWS에서 쿠버네티스 클러스터를 구축하는 방법에 대해 학습한다.
7장, ‘GCP에서 쿠버네티스 구축하기’에서는 구글 클라우드 플랫폼 세계로 독자를 이끈다. GCP 필수 요소와 단 몇 번의 클릭으로 관리된 운영 준비 쿠버네티스 클러스터를 시작하는 방법에 대해 학습한다.
8장, ‘고급 클러스터 관리’에서는 쿠버네티스에서 중요한 자원 관리에 대해 논의한다. 또한 쿠버네티스 대시보드, 인증, 인가와 같은 다른 중요한 클러스터 관리에 대해 살펴본다.
9장, ‘로깅과 모니터링’에서는 ELK 즉, 일래스틱서치(Elasticsearch), 로그스태시(Logstash), 키바나(Kibana)를 사용해 쿠버네티스의 시스템과 애플리케이션 로그를 수집하는 방법에 대해 설명한다. 또한 쿠버네티스 클러스터의 모니터링을 위해 힙스터(Heapster), 인플럭스DB(InfluxDB), 그라파나(Grafana)를 활용하는 방법을 배운다.

저자/역자 소개

지은이 소개

히데토 사이토(Hideto Saito)

컴퓨터 산업 분야에서 20년의 경험을 갖고 있다. 1998년 일본의 선 마이크로시스템즈(Sun Microsystems Japan)에서 근무할 때 솔라리스 운영체제, OPENSTEP, 선 울트라 엔터프라이즈 10000(StarFire)에 감명받았다. 이때 유닉스와 맥OS 운영체제를 추구하기로 결심했다. 2006년 캘리포니아 남부로 옮겨, 소프트웨어 엔지니어로 리눅스와 맥OS X에서 동작하는 제품 및 서비스 개발을 했다. 특히 빠른 오브젝티브-C 코드 개발로 유명했다. 또한 일본 애니메이션, 드라마, 모터스포츠에 열정적이며, 일본의 오타쿠 문화를 사랑한다.

후이-추안 클로에 리(Hui-Chuan Chloe Lee)

데브옵스와 소프트웨어 개발자다. 5년 넘게 광범위한 프로젝트의 소프트웨어 산업에서 일했다. 기술 열성자로써 새로운 기술을 시도하고 학습하기를 좋아하며, 이를 통해 더 행복하고 충만한 삶을 살아간다. 여가에는 독서와 여행, 사랑하는 사람들과 시간을 보내는 일을 즐긴다.

케-주 캐롤 수(Ke-Jou Carol Hsu)

소프트웨어 엔지니어로 3년을 지냈으며, 컴퓨터 시스템 분야 박사 과정을 밟고 있다. 프로그램과 관련된 것뿐만 아니라, 여러 애플리케이션과 머신이 완벽하게 작동하게 해 문제를 해결하는 것을 즐긴다. 여가에는 영화, 음악, 요리, 운동을 즐긴다.

옮긴이의 말

쿠버네티스는 ICT 조직의 인프라 세계에 패러다임을 변화시키고 있다. 더 다양해지고 복잡해지는 인프라 환경에서 인프라 담당자와 개발 담당자 등의 관계자들은 소프트웨어 프로그램 배포 업무에 관해 여러 가지 고민이 있다. 특히 민첩한 개발과 여러 이해관계자와의 협업은 소프트웨어 프로그램 배포를 더욱 어렵게 만들고 있다.
최근 가장 인기 있는 인공지능 소프트웨어는 쉽고 빠르게 지원한다. 그렇지만 너무나도 빠르게 버전 업데이트가 되는 등의 문제가 있다. 이는 문제를 복잡하게 만드는 원인이 된다. 버전 불일치는 대표적인 문제의 원인이 되는 사례이다. 소프트웨어 애플리케이션 개발 환경에서 제공된 특정 라이브러리가 개발 단계 이후의 운영 환경에 적용하는 단계에서는 버전이 올라가 있는 문제를 발견할 수 있다. 그리고 개발한 애플리케이션에 사용한 API가 변경되거나 제거되는 것 또한 큰 문제다. 쿠버네티스는 이런 문제를 해결할 수 있도록 도커 컨테이너를 자동으로 관리한다.
최근 쿠버네티스에 대한 관심은 폭발적이다. 많은 조직에서 쿠버네티스를 경험한 전문가를 찾고 있다. 그만큼 쿠버네티스의 강력한 관리 기능을 필요로 하는 것이다. 쿠버네티스는 인프라에 있어 쿠버네티스는 지금까지 인프라에서 발생한 불편을 해소할 수 있는 대표성을 띄고 있으며, 꼭 기억하고 적용해야 할 솔루션이다.
이 책은 쿠버네티스를 다룰 수 있도록 돕는 쿡북 형식으로 쓰였다. 책의 내용에 따라 인프라를 구축하고 쿠버네티스를 구성할 수 있도록 한다. 하나씩 따라하면 맛있는 요리를 손쉽게 조리할 수 있도록 해주는 요리책처럼 이 책은 쿠버네티스를 쉽게 구성하도록 지원하고 원하는 응용프로그램을 체계적으로 배포할 수 있게 해준다.
다만 이 책의 레시피를 따라 할 때 주의할 것은 공개 소스 소프트웨어의 특성상 빈번한 버전 업데이트가 발생할 수 있다는 점이다. 가능하면 표시된 버전의 도구 사용을 권장한다. 이 책을 모두 읽고 나면 쿠버네티스 분야에서 유명한 셰프가 될 수 있는 능력을 갖추게 될 것이다.

옮긴이 소개

차연철

정보관리기술사이며 보안 소프트웨어 개발에 대한 다양한 경험을 갖고 있다. 현재 빅데이터 개인정보보호를 위한 개인정보 비식별 조치 분야에서 기술 자문 등의 활동을 하고 있다. 또한 『쿠버네티스 마스터』(에이콘, 2018), 『쿠버네티스 시작하기』(에이콘, 2018), 『블록체인 기술과 혁신적 서비스 개발 활용』(에이콘, 2018) 등 번역 활동도 지속해서 하고 있다.

목차

목차
  • 1장. 쿠버네티스 클러스터 구축하기
    • 소개
    • 쿠버네티스 아키텍처 살펴보기
    • minikube로 맥OS 환경에서 쿠버네티스 클러스터 구축하기
    • minikube로 윈도우 환경에서 쿠버네티스 클러스터 구축하기
    • kubeadm으로 리눅스 환경에서 쿠버네티스 클러스터 구축하기
    • Ansible(kubespray)로 리눅스의 쿠버네티스 클러스터 구축하기
    • 쿠버네티스에서 첫 번째 컨테이너 실행하기

  • 2장. 쿠버네티스 개념 살펴보기
    • 소개
    • 쿠버네티스의 개요
    • 포드와 컨테이너 연결하기
    • 레플리카셋을 사용해 포드 관리하기
    • 디플로이먼트 API
    • 서비스를 사용해 작업하기
    • 볼륨을 사용해 작업하기
    • 시크릿을 사용해 작업하기
    • 이름을 사용해 작업하기
    • 네임스페이스를 사용해 작업하기
    • 라벨과 셀렉터를 사용해 작업하기

  • 3장. 컨테이너 사용하기
    • 소개
    • 컨테이너 규모 조절하기
    • 동작 중인 컨테이너 업데이트하기
    • 컨테이너 포트 포워딩
    • 컨테이너의 유연한 사용 보장하기
    • 쿠버네티스에서 잡 제출하기
    • 구성 파일을 사용해 작업하기

  • 4장. 고가용성 클러스터 구축하기
    • 소개
    • etcd 클러스터링
    • 다중 마스터 구축하기

  • 5장. 지속적 전달 파이프라인 구축하기
    • 소개
    • 모놀리식에서 마이크로서비스로 이동하기
    • 사설 도커 레지스트리를 사용해 작업하기
    • 젠킨스를 사용해 통합하기

  • 6장. AWS에서 쿠버네티스 구축하기
    • 소개
    • 아마존 웹 서비스 사용하기
    • kops를 사용해 쿠버네티스 설정하기
    • 쿠버네티스 클라우드 제공자로써 AWS 사용하기
    • kops으로 AWS에 쿠버네티스 클러스터 관리하기

  • 7장. GCP에서 쿠버네티스 구축하기
    • GCP 사용하기
    • 구글 쿠버네티스 엔진 사용하기
    • GKE에서 클라우드 제공자 탐색하기
    • GKE에서 쿠버네티스 클러스터 관리하기

  • 8장. 고급 클러스터 관리
    • 소개
    • kubeconfig의 고급 설정하기
    • 노드의 자원 설정하기
    • WebUI 사용하기
    • 대시보드로 자원 브라우징하기
    • RESTful API를 사용해 작업하기
    • 쿠버네티스 DNS를 사용해 작업하기
    • 인증과 인가

  • 9장. 로깅과 모니터링
    • 소개
    • EFK를 사용해 작업하기
    • 구글 스택드라이버를 사용해 작업하기
    • 마스터와 노드 모니터링

도서 오류 신고

도서 오류 신고

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

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

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