Top

쿠버네티스 기초 다지기 3/e [기초부터 시작하는 단계별 가이드]

  • 원서명Getting Started with Kubernetes: Extend your containerization strategy by orchestrating and managing large-scale container deployments, 3rd Edition (ISBN 9781788994729)
  • 지은이조나단 바이에르(Jonathan Baier), 제시 화이트(Jesse White)
  • 옮긴이박규태
  • ISBN : 9791161753027
  • 35,000원
  • 2019년 05월 23일 펴냄
  • 페이퍼백 | 548쪽 | 188*235mm
  • 시리즈 : acorn+PACKT, 오픈소스 프로그래밍

책 소개

요약

쿠버네티스와 컨테이너 관리를 시작하는 입문자를 위한 안내서로, 쿠버네티스를 처음 접하는 사람들을 위해 얕지만 넓은 범위의 내용을 다룬다. 컨테이너와 쿠버네티스의 특징과 기능을 살펴보고 모니터링, 보안, 운영 전략과 같은 고급 주제도 설명한다. 지루하지 않게 학습할 수 있도록 이론과 실습을 번갈아 배치했다.

이 책에서 다루는 내용

■ 다운로드, 설치, 쿠버네티스 코드 베이스 설정
■ 쿠버네티스 클러스터의 모니터링 및 로깅 설정과 접근
■ 클러스터에서 실행되는 애플리케이션에 대한 외부 접근 설정
■ AWS, Azure, GCP 등의 클라우드 플랫폼에서 쿠버네티스를 관리하고 확장하는 방법
■ 여러 개의 클러스터를 실행하고 단일 제어 플레인에서 관리하는 방법
■ 쿠버네티스 클러스터를 배포하고 관리하는 최고의 도구 소개
■ 상용화에 대비하고 쿠버네티스 작업, 네트워킹, 스토리지를 강화하는 방법

이 책의 대상 독자

이 책과 쿠버네티스는 개발자, 운영자, 경영자를 위한 것이다. 모범 사례와 실제 운영 전략과 접목된 단계별 설명을 통해 컨테이너 애플리케이션을 상용 환경으로 이전하는 방법을 이해할 수 있다. 또한 쿠버네티스를 일상 업무에 적용하는 방법을 배울 수 있고 상용화 준비가 완료된 컨테이너 애플리케이션 스택을 준비하는 데도 도움이 된다. 도커 컨테이너를 다뤄봤거나 일반적인 소프트웨어 개발, 높은 수준의 운영 경험이 있다면 좀 더 쉽게 읽을 수 있을 것이다.

이 책의 구성

1장, ‘쿠버네티스 소개’에서는 컨테이너에 대해 간략하게 살펴보고 쿠버네티스 오케스트레이션의 이유, 목적, 방법, 비즈니스 목표와 일상 업무에 어떤 영향을 미치는지 확인한다.
2장, ‘쿠버네티스의 핵심 구성 요소로 기초 다지기’에서는 쿠버네티스의 핵심 구성 요소인 파드, 서비스, 레플리케이션 컨트롤러, 레플리카셋(ReplicaSet), 레이블을 살펴본다. 헬스체크와 스케줄링 등의 기본 작업도 살펴본다.
3장, ‘네트워킹, 로드 밸런서, 인그레스 작업’에서는 쿠버네티스의 클러스터 네트워킹과 쿠버네티스 프록시에 대해 설명한다. 서비스를 자세히 살펴보고 멀티테넌시를 위한 상위 수준 격리 기능을 간략하게 살펴본다.
4장, ‘신뢰성 있는 컨테이너 네이티브 애플리케이션 구현’에서는 수행 시간이 짧은 작업과 장기간 실행되는 애플리케이션의 배포에 관해 설명한다. 데몬셋을 사용해 클러스터의 전체 노드나 일부 노드에서 컨테이너를 실행하는 방법도 살펴본다.
5장, ‘쿠버네티스의 스토리지 개념 탐구’에서는 파드와 컨테이너 수명 주기에 걸친 스토리지 관련 문제와 영구 데이터에 관해 설명한다. 쿠버네티스에서 상태 저장 애플리케이션을 실행하기 위해 나온 새로운 객체에 대해서도 살펴본다.
6장, ‘애플리케이션 업데이트, 단계적인 롤아웃, 오토스케일링’에서는 가동 시간 중단을 최소화하면서 업데이트와 새 기능을 배포하는 방법을 간략하게 살펴본다. 애플리케이션과 쿠버네티스 클러스터를 스케일링하는 방법도 살펴본다.
7장, ‘지속적인 통합과 전달 설계’에서는 쿠버네티스를 지속적인 전달 파이프라인(pipeline)으로 통합하는 방법을 설명한다. 쿠버네티스와 함께 gulp.js, 젠킨스를 사용하는 방법도 살펴본다.
8장, ‘모니터링과 로깅’에서는 쿠버네티스 클러스터에 내장된 모니터링 도구, 서드파티 모니터링 도구의 사용법, 커스터마이징 방법에 관해 설명한다. 내장 로깅과 모니터링, 구글 클라우드의 로깅/모니터링 서비스, 시스딕(Sysdig)을 살펴본다.
9장, ‘운영 체제, 플랫폼, 로컬 및 클라우드 제공자’에서는 오픈 컨테이너 프로젝트와 개방형 컨테이너 명세 제정이라는 프로젝트 사명을 알아보며, 개방형 표준이 다양한 컨테이너 구현(Docker, rkt, Kurma, JetPack) 생태계를 지원하는 방법을 살펴본다. 뒤에서는 CoreOS, Project Atomic 등의 운영 체제(OS, Operating System)에 관해 설명하며, 다양한 컨테이너 구현에 대한 지원과 실행 성능 측면에서 각 OS를 호스트 OS로 사용할 때의 장점을 알아본다.
10장, ‘고가용성과 확장성을 위한 설계’에서는 장기 실행, 상태 비저장, 상태 저장 워크로드의 기반인 데몬셋, 디플로이먼트(Deployment), 레플리카셋, 스테이트풀셋 API와 같은 전체 애플리케이션 워크로드 API를 활용하는 쿠버네티스의 워크로드 기능을 소개한다. 클러스터 내의 객체를 검증하거나 변형하는 어드미션 컨트롤러에 대해 알아보고 구현해본다.
11장, ‘쿠버네티스 SIG, 인큐베이터 프로젝트, CNCF’에서는 쿠버네티스와 파트너 프로젝트의 글로벌 분산 협업 모델에 관해 설명한다. SIG 주변의 세 조직, 인큐베이팅 프로젝트와 졸업자 프로젝트 사이의 차이점, CNCF가 오픈 소스 프로젝트를 분산 기반으로 발전시키는 방법을 설명한다.
12장, ‘클러스터 페더레이션과 멀티테넌시’에서는 새로운 페더레이션 기능을 분석하고 페더레이션을 사용해 여러 개의 클러스터를 관리하는 방법을 설명한다. 핵심 구성 요소의 페더레이티드 버전과 공개 클라우드 벤더 DNS와의 통합을 살펴본다.
13장, ‘클러스터 인증, 권한 부여, 컨테이너 보안’에서는 컨테이너 런타임 수준에서 호스트에 이르는 컨테이너 보안 옵션을 설명한다. 쿠버네티스 클러스터에서 실행 중인 워크로드에 보안 개념을 적용하는 방법과 쿠버네티스 클러스터 실행과 관련된 몇 가지 보안 관심사와 관례를 설명한다.
14장, ‘쿠버네티스 강화’에서는 서드파티 확장과 도구를 자세히 살펴보고 엔터프라이즈급 배포를 위해 벤더에서 제공하는 몇 가지 확장 기능을 알아본다. 쿠버네티스에 모니터링, 보안, 스토리지 기능을 제공하는 몇 가지 기존 도구와 서비스도 간략하게 살펴본다.
15장, ‘쿠버네티스 인프라 관리’에서는 공개 클라우드 플랫폼의 쿠버네티스를 사용하든, 하이브리드로 설치해 사용하든 기반 인프라를 변경하는 방법에 관해 설명한다. 기반 인스턴스와 리소스 불안정성을 처리하는 방법과 부분적으로만 사용할 수 있는 기반 하드웨어에서 고가용성 워크로드를 실행하기 위한 전략을 설명한다.

저자/역자 소개

지은이의 말

쿠버네티스와 컨테이너 관리를 시작하는 입문자를 위한 안내서다. 쿠버네티스의 특징과 기능을 검토하고 운영 전략 전반에 적용하는 방법을 살펴본다. 컨테이너를 개발자 노트북에서 대규모 환경으로 옮겨 관리할 때 마주하게 될 장애물이 무엇인지 배우고, 쿠버네티스가 이런 문제를 해결하는 완벽한 도구인 이유도 확인한다.

지은이 소개

조나단 바이에르(Jonathan Baier)

뉴욕 브루클린에 거주하는 신흥 기술 리더다. 어렸을 때부터 기술에 대한 열정이 남달랐다. 14살 때 수백 페이지에 달하는 베이식(BASIC)과 도스(DOS) 매뉴얼을 탐독할 정도로 가정용 컴퓨터(IBM PC)에 관심이 많았다. 그 후 간단한 틱택토(Tic-Tac-Toe)를 작성하면서 프로그래밍을 독학했다. 10대에 컴퓨터 지원 사업을 시작했으며 언제나 기업가 정신을 잊지 않고 있다. 지금은 뉴욕에 있는 무디스(Moody's)에서 클라우드 엔지니어링 및 운용(Cloud Engineering and Operations) 담당 수석 부사장으로 일하고 있다.

제시 화이트(Jesse White)

뉴욕에 있는 실리콘 앨리(Silicon Alley)에서 활동하는 15년 경력의 베테랑이자 기술 리더로, 활기찬 엔지니어링 생태계를 지지한다. DockerNYC의 설립자로서 오픈 소스 커뮤니티에 적극적으로 참여하고 있으며 DockerCon과 VelocityConf를 포함한 업계 주요 행사에서 강연과 워크숍을 진행한다.

옮긴이의 말

도커가 한창이더니 어느새 쿠버네티스의 시대가 왔다. 도커는 개발할 때 유용한 좋은 도구이지만 상용 환경에서 쓰기엔 조금 불안한 구석이 있었는데, 구글의 운영 경험을 바탕으로 만들어진 쿠버네티스가 나타났다.
쿠버네티스는 컨테이너 중심의 관리 환경을 제공하는 오케스트레이션 플랫폼으로, 마이크로서비스를 구성해 배포하고 관리하기에 좋다. 아마도 컨테이너를 좋아하는 개발자나 운영자라면 쿠버네티스도 좋아하게 될 것이다.
이 책은 쿠버네티스를 처음 접하는 사람들을 위해 얕지만 넓은 범위의 내용을 다룬다. 쿠버네티스 생태계가 매우 방대하기 때문에 쿠버네티스의 모든 것을 다루지는 않지만 컨테이너부터 페더레이션에 이르는 기본기를 착실하게 전달하고자 한다. 인프라 운영이나 클라우드에 대한 지식이 부족한 독자에게는 조금 어려울 수 있지만 꾸준히 관련 지식을 보강하면서 완독하면 한 단계 더 올라설 힘이 생길 것이다.

옮긴이 소개

박규태

엔터프라이즈 자바 환경에서 오랫동안 일했다. 콘텐츠 관리 시스템, 웹 오피스, 소셜 미디어 플랫폼을 개발했으며 최근 몇 년간은 클라우드 관리 솔루션과 쿠버네티스 기반의 머신 러닝 플랫폼을 개발하고 있다. 자바월드(javaworld.co.kr)라는 블로그를 운영하고 있다.

목차

목차
  • 1장. 쿠버네티스 소개
    • 기술 요구 사항
    • 간략한 컨테이너 소개
      • 컨테이너란?
    • 컨테이너가 너무 멋진 이유
    • 지속적인 통합과 배포의 장점
      • 리소스 활용성
    • 마이크로서비스와 오케스트레이션
      • 향후 과제
    • 첫 번째 클러스터
      • GCE에서 쿠버네티스 실행
      • 쿠버네티스 UI
      • 그라파나
      • 커맨드라인
      • 마스터에서 실행되는 서비스
      • 노드에서 실행되는 서비스
      • 클러스터 해체
    • 다른 프로바이더 사용하기
      • CLI 설정
      • IAM 설정
      • 클러스터 상태 저장소
      • 클러스터 생성
      • 클러스터 재설정
      • 기타 구축 자동화 방법
      • 로컬 대안
      • 처음부터 직접 만들기
    • 요약
    • 질문
    • 더 읽어볼 거리

  • 2장. 쿠버네티스의 핵심 구성 요소로 기초 다지기
    • 기술 요구 사항
      • 쿠버네티스 시스템
      • 쿠버네티스 아키텍처
      • 마스터
      • 클러스터 상태
      • 클러스터 노드
      • 마스터
      • 노드(이전의 미니언)
    • 핵심 구성 요소
      • 파드
      • 레이블
      • 컨테이너의 사후
      • 서비스
      • 레플리케이션 컨트롤러와 레플리카셋
    • 첫 쿠버네티스 애플리케이션
      • 레이블 더 살펴보기
      • 레플리카셋
    • 헬스체크
      • TCP 체크
      • 수명 주기 훅 또는 정상 종료
    • 애플리케이션 스케줄링
      • 스케줄링 예제
    • 요약
    • 질문
    • 더 읽어볼 거리

  • 3장. 네트워킹, 로드 밸런서, 인그레스 작업
    • 기술 요구 사항
    • 컨테이너 네트워킹
      • 도커 네트워크
      • 쿠버네티스의 네트워킹 방식
      • 네트워킹 옵션
      • 네트워킹 비교
      • 균형잡힌 설계
    • 고급 서비스
      • 외부 서비스
      • 내부 서비스
      • 커스텀 로드 밸런싱
      • 크로스 노드 프록시
      • 커스텀 포트
      • 다중 포트
      • 인그레스
      • 인그레스 유형
      • 마이그레이션, 멀티 클러스터, 이외
      • 커스텀 주소 지정
    • 서비스 검색
    • DNS
    • 멀티테넌시
      • 제한
    • 리소스 사용에 대한 참고 사항
    • 요약
    • 질문
    • 더 읽어볼 거리

  • 4장. 신뢰성 있는 컨테이너 네이티브 애플리케이션 구현
    • 기술 요구 사항
    • 쿠버네티스의 상태 관리 방법
    • 디플로이먼트
      • 디플로이먼트 유스케이스
      • 스케일링
      • 업데이트와 롤아웃
      • 오토스케일링
      • 이외의 잡 유형
    • 데몬셋
    • 노드 선택
    • 요약
    • 질문

  • 5장. 쿠버네티스의 저장소 개념 탐구
    • 기술 요구 사항
    • 퍼시스턴트 저장소
      • 임시 디스크
      • 클라우드 볼륨
      • 기타 저장소 옵션
      • 퍼시스턴트 볼륨과 스토리지 클래스
      • 동적 볼륨 프로비저닝
    • 스테이트풀셋
      • 스테이트풀 예제
    • 요약
    • 질문
    • 더 읽어볼 거리

  • 6장. 애플리케이션 업데이트, 단계적인 롤아웃, 오토스케일링
    • 기술 요구 사항
    • 예제 설정
    • 스케일업
    • 원활한 업데이트
    • 테스트, 배포, 컷오버
    • 애플리케이션 오토스케일링
    • 클러스터 스케일링
      • 오토스케일링
      • GCE 클러스터 스케일업
      • AWS 클러스터 스케일업
      • 수동 스케일링
    • 애플리케이션 관리
      • 헬름 소개
    • 요약
    • 질문
    • 더 읽어볼 거리

  • 7장. 지속적인 통합과 전달 설계
    • 기술 요구 사항
    • 지속적인 배포 파이프라인과 통합
    • gulp.js
      • 준비 사항
      • gulp.js 빌드 예제
    • 젠킨스 쿠버네티스 플러그인
      • 준비 사항
      • 플러그인 인스톨
    • 헬름과 미니큐브
    • 보너스
    • 요약
    • 질문
    • 더 읽어볼 거리

  • 8장. 모니터링과 로깅
    • 기술 요구 사항
    • 모니터링 작업
    • 내장된 모니터링
      • 힙스터 살펴보기
      • 대시보드 커스터마이징
    • 플루언티드와 구글 클라우드 로깅
      • 플루언티드
    • 모니터링 작업 고도화
      • GCE(스택드라이버)
      • 시스딕으로 시스템 모니터링 극대화
      • 프로메테우스
    • 요약
    • 질문
    • 더 읽어볼 거리

  • 9장. 운영 체제, 플랫폼, 로컬 및 클라우드 제공자
    • 기술 요구 사항
    • 표준의 중요성
      • OCI 헌장
    • OCI
      • 컨테이너 런타임 인터페이스
      • CRI-O 실습
      • 이외의 컨테이너 런타임
    • CNCF
    • 컨테이너 표준 명세
    • CoreOS
      • rkt
      • etcd
    • CoreOS에 쿠버네티스 설치
    • 텍토닉
      • 대시보드
    • 호스팅 플랫폼
      • 아마존 웹 서비스
      • 마이크로소프트 애저
      • 구글 쿠버네티스 엔진
    • 요약
    • 더 읽어볼 거리

  • 10장. 고가용성과 확장성을 위한 설계
    • 기술 요구 사항
    • 고가용성 소개
      • 가용성 측정 방법
    • HA 모범 사례
      • 반취약성
      • HA 클러스터
      • 주요 클라우드 서비스 제공자의 HA 기능
      • 쿠버네티스를 위한 HA 접근법
    • 클러스터 수명 주기
      • 어드미션 컨트롤러
      • 워크로드 API
      • 커스텀 리소스 정의
    • 요약
    • 질문
    • 더 읽어볼 거리

  • 11장. 쿠버네티스 SIG, 인큐베이터 프로젝트, CNCF
    • 기술 요구 사항
      • 기여자를 위한 깃 설정
    • CNCF의 구조
      • 쿠버네티스 생태계
    • 쿠버네티스 SIG
    • 참여 방법
    • 요약
    • 질문
    • 더 읽어볼 거리

  • 12장. 클러스터 페더레이션과 멀티테넌시
    • 기술 요구 사항
    • 페더레이션 소개
    • 페더레이션의 필요성
      • 페더레이션의 구성 요소
      • 주요 컴포넌트
      • 페더레이티드 서비스
    • 페더레이션 설정
      • 컨텍스트
      • 페더레이션을 위한 새 클러스터
      • 페더레이션 제어 플레인 초기화
      • 페더레이션 시스템에 클러스터 추가
      • 페더레이티드 리소스
      • 페더레이티드 컨피그
      • 페더레이티드 수평 파드 오토스케일러
      • 이외의 페더레이티드 리소스
    • 진정한 멀티 클라우드
      • 멀티 클라우드 구성
    • 요약
    • 질문
    • 더 읽어볼 거리

  • 13장. 클러스터 인증, 권한 부여, 컨테이너 보안
    • 컨테이너 보안의 기본
      • 컨테이너 이탈 방지
      • 리소스 잠식과 오케스트레이션 보안
    • 이미지 저장소
      • 지속적인 취약점 스캐닝
      • 이미지 서명과 검증
    • 쿠버네티스 클러스터 보안
      • 보안 API 호출
      • RBAC
      • 파드 보안 정책과 컨텍스트
      • 추가 고려 사항
    • 민감한 애플리케이션 데이터 보호(시크릿)
    • 요약
    • 질문
    • 더 읽어볼 거리

  • 14장. 쿠버네티스 강화
    • 상용화 준비
      • 제자리에 준비, 출발
    • 상용 환경에서 배운 교훈
      • 제한 설정
      • 스케줄링 제한
      • 메모리 제한 예제
      • CPU 제약 조건 스케줄링
      • CPU 제약 조건 예제
    • 클러스터 보안
    • 서드파티 프로젝트 및 제품
      • 사설 레지스트리
      • 구글 쿠버네티스 엔진
      • 애저 쿠버네티스 서비스
      • ClusterHQ
      • Portworx
      • Shippable
      • Twistlock
      • Aqua Sec
      • Mesosphere(메소스와 쿠버네티스 통합)
      • Deis
      • 오픈시프트
    • 요약
    • 질문
    • 더 읽어볼 거리

  • 15장. 쿠버네티스 인프라 관리
    • 기술 요구 사항
    • 클러스터 계획
      • 적합한 솔루션 선택
      • 클러스터 보안
      • 조정 예제
    • 클러스터 업그레이드
      • PaaS 클러스터 업그레이드
    • 클러스터 스케일링
      • GKE와 AKS의 스케일링
      • 직접 구축한 클러스터의 스케일링
      • 노드 유지보수
    • 추가 구성 옵션
    • 요약
    • 질문

도서 오류 신고

도서 오류 신고

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

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

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