Top

쿠버네티스 기초 다지기 2/e [기초부터 활용까지]

  • 원서명Getting Started with Kubernetes - Second Edition: Orchestrate and manage large-scale Docker deployments (ISBN 9781787283367)
  • 지은이조나단 바이에르(Jonathan Baier)
  • 옮긴이유일호
  • ISBN : 9791161751764
  • 26,000원
  • 2018년 06월 28일 펴냄
  • 페이퍼백 | 336쪽 | 188*235mm
  • 시리즈 : acorn+PACKT, 오픈소스 프로그래밍

책 소개

요약

쿠버네티스는 애플리케이션 컨테이너를 스케줄링하고 실행시켜 주는 오케스트레이션 도구다. 이 책은 쿠버네티스의 다양한 기본 요소를 사용하는 방법과 주의점들을 잘 설명한다. 더불어 배포, 모니터링, 스케일링, 보안 등 프로덕션 관심사 역시 자세히 다룬다. 컨테이너 기반 인프라를 어떻게 구축하고 관리할지 고민하고 있다면 좋은 시작점을 제공해 줄 책이다.

이 책에서 다루는 내용

█ 다운로드, 인스톨, 쿠버네티스 코드 베이스 설정
█ 쿠버네티스 클러스터 핵심 개념 이해
█ 쿠버네티스 클러스터 모니터링과 로깅 설정 및 접근
█ 클러스터에서 실행되는 애플리케이션에 대한 외부 접근 설정
█ 좀 더 나은 성능과 컨테이너 구축 기민성을 달성하는데 CoreOS와 쿠버네티스가 도움을 주는 방식 이해
█ 여러 클러스터 실행 및 단일 제어 플레인에서 관리
█ 컨테이너 보안으로 쿠버네티스 클러스터 안전하게 만들기
█ 서드파티 확장 및 도구 사용

이 책의 대상 독자

쿠버네티스와 함께 개발자, 운영자, 경영자 모두에게 도움이 된다. 모범 사례와 실제 운영 전략을 접목시켜 단계별로 설명하면서 컨테이너 애플리케이션을 프로덕션 환경으로 이동하는 방법을 설명한다. 쿠버네티스가 일상 업무와 얼마나 잘 들어 맞는지 알게 되고, 프로덕션 레디 컨테이너 애플리케이션 스택을 준비하는 데 도움이 될 것이다.

이 책의 구성

1장, ‘쿠버네티스 소개’에서는 컨테이너와 쿠버네티스 오케스트레이션의 방법, 목적, 이유를 간략히 살펴보고, 비즈니스 목표와 일상 업무에 주는 영향을 알아본다.
2장, ‘파드, 서비스, 복제 컨트롤러, 레이블’에서는 간단한 예제로 쿠버네티스의 핵심 요소인 파드, 서비스, 복제 컨트롤러, 레플리카 셋, 레이블을 살펴본다. 헬스체크와 스케줄링 같은 기본 작업도 살펴본다.
3장, ‘네트워킹, 로드밸런서, 인그레스’에서는 쿠버네티스와 쿠버네티스 프록시의 클러스터 네트워킹을 다룬다. 또한 서비스를 자세히 살펴보고 멀티 테넌시를 위한 상위 수준 격리 기능을 간단히 소개한다.
4장, ‘업데이트, 단계적인 배포, 오토스케일링’에서는 중단을 최소화한 업데이트와 새 기능 배포 방법을 간단히 살펴본다. 애플리케이션과 쿠버네티스 클러스터를 스케일링하는 방법도 살펴본다.
5장, ‘디플로이먼트, 잡, 데몬셋’에서는 수명이 짧은 작업과 장기 수행 애플리케이션 배포를 다룬다. 데몬셋(DemonSet)을 사용해 클러스터에 있는 노드의 전체나 서브셋에 컨테이너를 실행하는 방법도 살펴본다.
6장, ‘스토리지와 스테이트풀 애플리케이션 실행’에서는 스토리지 관심사 및 파드와 컨테이너 생명주기에 걸친 데이터 퍼시스턴트를 다룬다. 쿠버네티스에서 스테이트풀 애플리케이션을 다루는 새로운 요소도 살펴본다.
7장, ‘지속적인 배포’에서는 쿠버네티스를 지속적인 배포 파이프라인으로 통합하는 방법을 설명한다. 쿠버네티스를 Gulp.js 및 젠킨스와 함께 사용하는 방법도 살펴본다.
8장, ‘모니터링과 로깅’에서는 쿠버네티스 클러스터에서 내장 및 서드파티 모니터링 도구를 사용하고 커스터마이징하는 방법을 설명한다. 구글 클라우드 모니터링/로깅 서비스 및 시스딕(Sysdig) 같은 내장 로깅 및 모니터링을 살펴본다.
9장, ‘클러스터 페더레이션’에서는 새로운 페더레이션 기능을 시험해보고 클라우드 프로바이더에 걸쳐 복수의 클러스터를 관리하는 방법을 설명한다. 앞에서 살펴봤던 핵심 요소의 페더레이티드 버전도 살펴본다.
10장, ‘컨테이너 보안’에서는 컨테이너 런타임 수준부터 호스트까지 기본적인 컨테이너 보안을 설명한다. 또한 이런 개념을 컨테이너 실행에 적용하는 방법과 쿠버네티스 실행과 관련된 보안 문제 및 관례를 설명한다.
11장, ‘OCP, CoreOS, 텍토닉으로 쿠버네티스 확장'에서는 공개 표준이 컨테이너 에코시스템을 이롭게 하는 방법을 살펴본다. 저명한 표준 조직 몇 곳과 CoreOS, 텍토닉을 살펴보고, 호스트 OS와 엔터프라이즈 플랫폼으로서의 CoreOS의 장점을 알아본다.
12장, ‘프로덕션 레디를 향해’에서는 도움이 되는 도구와 사용 가능한 서드파티 프로젝트를 소개하고 더 많은 도움을 얻을 수 있는 곳을 알아본다.

저자/역자 소개

지은이의 말

이 책은 쿠버네티스 및 전반적인 컨테이너 관리를 시작하는 입문자들을 위한 안내서다. 쿠버네티스의 특징과 기능을 자세히 살펴보고 전체적인 운영 전략에 얼마나 꼭 들어맞는지 살펴본다. 개발자의 랩탑을 벗어나 커다란 규모로 옮겨 관리하는 과정에서 어떤 장애물이 숨어 있는지 배우게 될 것이다. 쿠버네티스가 이런 문제를 흡족하게 해결해 줄 완벽한 도구라는 것도 알게 될 것이다.

지은이 소개

조나단 바이에르(Jonathan Baier)

뉴욕 브루클린에 거주하는 신흥 기술 리더다. 어렸을 때부터 기술에 대한 열정이 남달랐다. 14살 때 수백 페이지에 달하는 BASIC과 DOS 매뉴얼을 탐독할 정도로 가정용 컴퓨터(IBM PCjr)에 관심이 많았다. 그 후 간단한 틱택토(Tic-Tac-Toe)를 작성하면서 코딩을 배웠다. 십대에 컴퓨터 지원 사업을 시작했고, 그 이후로도 사업가 기질을 발휘해 여러 번 창업했다.
현재 무디스(Moody's)에서 글로벌 클라우드 엔지니어링(Global Cloud Engineering)의 부사장으로 일하고 있다. 각종 공공 및 민간 비즈니스 분야에서 기술 전략 및 솔루션 관련 경력을 10년 넘게 쌓았다. 다양한 기술을 사용해 폭넓은 경험을 해왔고, 기업과 경영진이 비즈니스를 변화시킬 수 있는 기술을 채택할 수 있게 돕고 있다.
아키텍처, 컨테이너화, 클라우드 보안 영역에서 일하면서 다양한 기업의 전체 IT 역량을 강화시키는 데 도움을 주고 안내하는 전략적 로드맵을 만들었다. 또한, 다양한 규모의 기업에서 클라우드 전략을 수립하고 ‘문서상 설계’를 현실에서 구현했을 때 발생하는 여러 문제를 해결했다.

옮긴이의 말

가상화는 근대 개발에서 주목받는 기술이다. 그 한쪽에는 도커 같은 컨테이너 기반 가상화 도구가 자리잡고 있다. 개발, 스테이징, 프로덕션의 환경 일치는 매우 중요하다. 컨테이너는 매우 저렴한 방식으로 환경 일치를 이룰 수 있게 한다. 컨테이너는 VM과는 다른 방식으로 설계됐으며, 매우 적은 리소스로 가상화 이점을 얻을 수 있다.
최근 추세를 보면 깃허브에 공개된 프로젝트에도 도커를 이용한 환경 구성을 기본으로 포함하는 경우가 많다. 접근성이 좋아 복잡한 환경 구성 없이 빠르게 시작할 수 있기 때문이다. 단지 Dockerfile을 빌드하면 몇 분만에 환경 구성을 끝낸 다음 프로젝트를 바로 테스트할 수 있다.
그 외에 모든 의존성을 패키징해 구성할 수 있다는 점과 뛰어난 격리성은 다양한 환경을 별다른 고민 없이 빠르게 만들 수 있도록 해주며 재사용도 언제든지 가능하다. 컨테이너 이미지를 실행할 수 있는 엔진만 있으면 베어 머신, VM, 자체 인프라, 클라우드 어디에서든 실행할 수 있는 이식성이 제공된다.
근대의 웹서비스 개발은 더 알맞은 도메인으로 나눠 만들고 서비스들을 유기적으로 결합하는 경우가 많다. 특히 마이크로서비스 디자인 패턴의 영향으로 인해 그러한 경향이 더욱 두드러지고 있다. 당연히 세분화된 서비스만큼 컨테이너 개수 또한 늘어날 수밖에 없으며, 따라서 더욱 큰 규모의 인프라를 관리해야만 한다. 배포, 모니터링, 스케일링, 보안 등 프로덕션 수준에서 일어나는 모든 관심사와 일상 업무를 훌륭하게 처리할 수 있는 도구가 필요하다. 그리하여 구글이 쿠버네티스를 공개했으며, 쿠버네티스는 이런 일들을 아주 잘 처리할 수 있도록 설계되고 구현됐다. 전체를 컨테이너 기반 인프라로 구축하든, 레거시 시스템 일부를 컨테이너 기반으로 옮기든, 여러 클라우드 서비스를 활용하길 원하든 간에 쿠버네티스는 컨테이너 기반 인프라를 관리하기에 좋은 옵션이다.
이 책은 쿠버네티스의 다양한 기본 요소의 사용 방법과 주의점을 잘 설명한다. 더불어 배포, 모니터링, 스케일링, 보안 등 프로덕션 관심사도 자세히 다룬다. 이 책이 집필된 이후 쿠버네티스 버전이 많이 업데이트됐지만(이 책은 1.5 기반으로 집필됐으며, 현재 쿠버네티스 버전은 1.10이다) 지금도 핵심 요소의 설명은 유효하다.

옮긴이 소개

유일호

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

목차

목차
  • 1장. 쿠버네티스 소개
  • __컨테이너의 간략한 소개
  • ____컨테이너란
  • __컨테이너가 너무나 멋진 이유
  • ____지속적인 통합과 지속적인 배포의 장점
  • ____리소스 활용성
  • __마이크로서비스와 오케스트레이션
  • ____향후 과제
  • __쿠버네티스의 탄생
  • __첫 클러스터 만들기
  • ____쿠버네티스 UI
  • ____그라파나
  • ____커맨드라인
  • ____마스터에서 실행되는 서비스
  • ____노드에서 실행되는 서비스
  • ____클러스터 해체
  • __다른 프로바이더 사용하기
  • ____클러스터 재설정
  • ____kube-up 파라미터 수정
  • ____kube-up.sh의 대안
  • ____처음부터 직접 만들기
  • __요약
  • ____참고

  • 2장. 파드, 서비스, 복제 컨트롤러, 레이블
  • __쿠버네티스 아키텍처
  • ____마스터
  • ____노드(이전의 미니언)
  • __핵심 요소
  • ____파드
  • ____레이블
  • ____컨테이너의 사후
  • ____서비스
  • ____복제 컨트롤러와 레플리카 셋
  • __첫 쿠버네티스 애플리케이션
  • ____레이블 더 살펴보기
  • ____레플리카 셋
  • __헬스체크
  • ____TCP 체크
  • ____생명주기 훅 또는 정상 종료
  • __애플리케이션 스케줄링
  • ____스케줄링 예제
  • __요약
  • ____참고

  • 3장. 네트워킹, 로드밸런서, 인그레스
  • __쿠버네티스 네트워킹
  • ____네트워킹 옵션
  • ____네트워킹 비교
  • ____균형 잡힌 설계
  • __고급 서비스
  • ____외부 서비스
  • ____내부 서비스
  • ____커스텀 로드밸런싱
  • ____크로스 노드 프록시
  • ____커스텀 포트
  • ____다중 포트
  • ____인그레스
  • ____마이그레이션, 멀티 클러스터, 그 외
  • ____커스텀 주소 지정
  • __서비스 디스커버리
  • __DNS
  • __멀티테넌시
  • ____제한
  • __리소스 사용에 대한 참고 사항
  • __요약
  • ____참고

  • 4장. 업데이트, 단계적인 배포, 오토스케일링
  • __예제 설정
  • __스케일업하기
  • __원활한 업데이트
  • __테스트, 릴리스, 컷오버
  • __애플리케이션 오토스케일링
  • __클러스터 스케일링
  • ____오토스케일링
  • ____GCE에서 클러스터 스케일업하기
  • ____AWS에서 클러스터 스케일업하기
  • ____수동 스케일링
  • __요약

  • 5장. 디플로이먼트, 잡, 데몬셋
  • __디플로이먼트
  • ____스케일링
  • ____업데이트와 롤아웃
  • ____오토스케일링
  • __잡
  • ____그외 형태의 잡
  • __데몬셋
  • __노드 선택
  • __요약
  • ____참고

  • 6장. 스토리지와 스테이트풀 애플리케이션 실행 191
  • __퍼시스턴트 스토리지
  • ____임시 디스크
  • ____클라우드 볼륨
  • ____다른 스토리지 옵션
  • ____PersistentVolume과 StorageClass
  • __스테이트풀셋
  • ____스테이트풀 예제
  • __요약
  • __참고

  • 7장. 지속적인 배포
  • __지속적인 배포 파이프라인과 통합
  • __Gulp.js
  • ____준비물
  • ____Gulp 빌드 예제
  • __젠킨스 쿠버네티스 플러그인
  • ____준비물
  • ____플러그인 인스톨
  • __보너스
  • __요약

  • 8장. 모니터링과 로깅
  • __모니터링 작업
  • __내장된 모니터링
  • ____힙스터 살펴보기
  • ____대시보드 커스터마이징
  • __플루언트디와 구글 클라우드 로깅
  • ____플루언트디
  • __모니터링 작업 고도화하기
  • ____GCE(StackDriver)
  • ____시스딕으로 시스템 모니터링 극대화
  • ____프로메테우스
  • __요약
  • ____참고

  • 9장. 클러스터 페더레이션
  • __페더레이션 소개
  • __페더레이션 설정
  • ____컨텍스트
  • ____페더레이션을 위한 새 클러스터
  • ____페더레이션 제어 플레인 초기화하기
  • ____페더레이션 시스템에 클러스터 추가
  • ____페더레이티드 리소스
  • ____페더레이티드 컨피그
  • ____다른 페더레이티드 리소스들
  • __진정한 멀티 클라우드
  • __요약
  • 10장. 컨테이너 보안
  • __컨테이너 보안의 기본
  • ____컨테이너의 포함 상태 유지
  • ____리소스 잠식과 오케스트레이션 보안
  • __이미지 리파지토리
  • ____지속적인 취약점 스캐닝
  • ____이미지 사이닝과 검증
  • __쿠버네티스 클러스터 보안
  • ____보안 API 호출
  • ____파드 보안 정책과 컨텍스트
  • ____추가 고려 사항
  • __민감한 애플리케이션 데이터 보호(시크릿)
  • __요약
  • ____참고
  • 11장. OCP, CoreOS, 텍토닉으로 쿠버네티스 확장
  • __표준의 중요성
  • __오픈 컨테이너 기구
  • __클라우드 네이티브 컴퓨팅 재단
  • __표준 컨테이너 규격
  • __CoreOS
  • ____rkt
  • ____etcd
  • __CoreOS를 사용한 쿠버네티스
  • __텍토닉
  • ____대시보드 간략하게 살펴보기
  • __요약
  • ____참고
  • 12장. 프로덕션 레디를 향해
  • __프로덕션 준비
  • ____제자리에, 준비, 출발
  • __서드파티 업체
  • ____사설 레지스트리
  • ____구글 컨테이너 엔진
  • ____애저 컨테이너 서비스
  • ____ClusterHQ
  • ____Portworx
  • ____Shippable
  • ____Twistlock
  • ____AquaSec
  • ____Mesosphere(메소스의 쿠버네티스)
  • ____Deis
  • ____OpenShift
  • __어디에서 정보를 더 얻을 수 있을까
  • __요약
  • __찾아보기

도서 오류 신고

도서 오류 신고

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

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

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