HOME > Detail View

Detail View

쿠버네티스 시작하기 : 인프라의 미래 속으로 / 2nd ed

Material type
단행본
Personal Author
Hightower, Kelsey Beda, Joe, 저 Burns, Brendan, 저 이준, 역 김희곤, 역 이한선, 역 이해원, 역 이설민, 역 박재민, 역 문규태, 역
Title Statement
쿠버네티스 시작하기 : 인프라의 미래 속으로 / 켈시 하이타워 , 조 베다, 브렌던 번스 지음 ; 이준 외 옮김
판사항
2nd ed.
Publication, Distribution, etc
서울 :   에이콘,   2020  
Physical Medium
355 p. : 삽화 ; 24 cm
Varied Title
Kubernetes : up and running : dive into the future of infrastructure
ISBN
9791161754383
General Note
공역자: 이준, 김희곤, 이한선, 이해원, 이설민, 박재민, 문규태  
색인수록  
권말부록 : 라즈베리파이 쿠버네티스 클러스터 구축  
000 00000cam c2200205 c 4500
001 000046048901
005 20201012115025
007 ta
008 200923s2020 ulka 001c kor
020 ▼a 9791161754383 ▼g 93000
035 ▼a (KERIS)BIB000015648670
040 ▼a 222001 ▼c 222001 ▼d 211009
041 1 ▼a kor ▼h eng
082 0 4 ▼a 005.16 ▼2 23
085 ▼a 005.16 ▼2 DDCK
090 ▼a 005.16 ▼b 2020z1
100 1 ▼a Hightower, Kelsey
245 1 0 ▼a 쿠버네티스 시작하기 : ▼b 인프라의 미래 속으로 / ▼d 켈시 하이타워 , ▼e 조 베다, ▼e 브렌던 번스 지음 ; ▼e 이준 외 옮김
246 1 9 ▼a Kubernetes : ▼b up and running : ▼b dive into the future of infrastructure
250 ▼a 2nd ed.
260 ▼a 서울 : ▼b 에이콘, ▼c 2020
300 ▼a 355 p. : ▼b 삽화 ; ▼c 24 cm
500 ▼a 공역자: 이준, 김희곤, 이한선, 이해원, 이설민, 박재민, 문규태
500 ▼a 색인수록
500 ▼a 권말부록 : 라즈베리파이 쿠버네티스 클러스터 구축
546 ▼a 영어로 된 원저작을 한국어로 번역
700 1 ▼a Beda, Joe, ▼e
700 1 ▼a Burns, Brendan, ▼e
700 1 ▼a 이준, ▼e
700 1 ▼a 김희곤, ▼e
700 1 ▼a 이한선, ▼e
700 1 ▼a 이해원, ▼e
700 1 ▼a 이설민, ▼e
700 1 ▼a 박재민, ▼e
700 1 ▼a 문규태, ▼e
900 1 0 ▼a 하이타워, 켈시, ▼e
900 1 0 ▼a 베다, 조, ▼e
900 1 0 ▼a 번스, 브렌던, ▼e

Holdings Information

No. Location Call Number Accession No. Availability Due Date Make a Reservation Service
No. 1 Location Sejong Academic Information Center/Science & Technology/ Call Number 005.16 2020z1 Accession No. 151351173 Availability Available Due Date Make a Reservation Service C

Contents information

Book Introduction

구글에서 설계하고 개발한 쿠버네티스의 탄생 배경부터 이를 사용할 때 알아야 할 핵심 개념(파드, 디플로이먼트, 서비스 등)을 설명한다. 『쿠버네티스 시작하기』의 2판으로 쿠버네티스 버전이 업데이트됨에 따라 새롭게 릴리즈된 내용(RBAC, 로드밸런서 등)이 추가됐다. 쿠버네티스를 처음 접하는 독자가 고급 사용자로 거듭날 수 있도록 돕는 좋은 지침서가 될 것이다.

★ 이 책에서 다루는 내용 ★

■ 쿠버네티스의 동작 방식을 살펴보기 위해 간단한 클러스터 생성 및 실행
■ 쿠버네티스, 파드, 서비스, 인그레스, 레플리카셋을 사용한 애플리케이션 배포 방법
■ 쿠버네티스에서 실행되고 있는 컨테이너화된 마이크로서비스와 스토리지의 연계
■ 데몬셋, 잡, 컨피그맵, 시크릿과 같은 쿠버네티스 특수 객체
■ 쿠버네티스에서 실제 애플리케이션을 개발하고 배포하는 방법과 관련한 실용적인 예제


★ 이 책의 대상 독자 ★

분산 시스템을 처음 접하든, 아니면 수년간 클라우드 네이티브 시스템을 배포한 경험이 있는 사용자든 관계없이 컨테이너와 쿠버네티스는 새로운 수준의 속도, 민첩성, 신뢰성, 효율성을 달성하는 데 도움이 될 수 있다. 이 책은 쿠버네티스 클러스터 오케스트레이터, 도구와 API를 사용해 분산 애플리케이션의 개발, 배포 및 유지 관리를 개선하는 방법을 설명한다. 쿠버네티스를 사용해본 경험이 없는 상태에서 이 책을 최대한 활용하려면, 서버 기반 애플리케이션에 대한 빌드 및 배포 지식을 갖추고 있어야 한다. 필수 사항은 아니지만 로드밸런서 및 네트워크 스토리지 같은 개념에 익숙하다면 내용을 이해하는 데 도움이 된다. 마찬가지로 리눅스, 리눅스 컨테이너, 도커에 대한 경험 역시 필수는 아니지만, 경험이 있다면 이 책을 최대한 활용하는 데 있어 큰 도움이 될 것이다


★ 이 책의 구성 ★

1장, '쿠버네티스 소개'는 쿠버네티스의 장점을 상위 수준 개념으로 소개하며, 쿠버네티스를 처음 접하는 경우 이 책의 내용을 모두 읽어야 하는 이유를 이해할 수 있다.
2장, '컨테이너 생성 및 실행'은 컨테이너 및 컨테이너화된 애플리케이션 개발 방법을 자세하게 소개한다. 이전에 도커(Docker)를 사용해본 경험이 있다면, 2장이 매우 유용할 것이다. 이미 도커에 대한 전문가라면 다시 한번 리뷰할 수 있는 기회가 될 것이다.
3장, '쿠버네티스 클러스터 배포'는 쿠버네티스를 배포하는 방법을 설명한다. 이 책은 쿠버네티스 사용 방법에 중점을 두고 있지만, 클러스터를 본격적으로 사용하기에 앞서 클러스터를 구동하고 이를 실행해야 한다. 이 책에서 운영 환경 구성을 위해 클러스터를 실행하는 방법을 다루지는 않지만, 3장에서 설명하는 클러스터를 생성하는 몇 가지 쉬운 방법을 통해 쿠버네티스 사용법을 알 수 있다.
4장, '공통 kubectl 커맨드'는 쿠버네티스 클러스터와 상호작용하는 데 사용되는 몇 가지 공통 커맨드를 소개한다.
5장부터는 쿠버네티스를 사용해 애플리케이션을 배포하는 방법을 자세히 살펴본다. 파드(5장), 라벨 및 애노테이션(6장), 서비스(7장), 인그레스(8장), 레플리카셋(9장)은 쿠버네티스에서 서비스를 배포하는 데 필요한 핵심 기본 사항이다. 그런 다음, 완전한 애플리케이션의 생명주기와 밀접한 관련이 있는 디플로이먼트(10장)를 살펴본다.
이후에는 쿠버네티스에서 데몬셋(11장), 잡(12장), 컨피그맵 및 시크릿(13장) 같이 좀 더 쿠버네티스에 특화된 객체를 다룬다. 이 개념은 대부분의 운영 환경 애플리케이션에 필수적이지만, 쿠버네티스를 학습하는 단계에서는 일단 건너뛰고 더 많은 경험과 전문 지식을 쌓고 난 후에 살펴보는 것이 더 도움이 될 수 있다.
15장에서는 쿠버네티스와 스토리지를 연계하는 방법을 살펴볼 것이다. 16장에서는 쿠버네티스의 확장을 설명한다. 마지막으로 쿠버네티스에 실제 애플리케이션을 개발 및 배포하는 방법(17장)과 애플리케이션을 소스 제어로 구성하는 방법(18장)을 사례를 통해 설명한다.


Information Provided By: : Aladin

Author Introduction

켈시 하이타워(지은이)

구글의 클라우드 플랫폼을 담당하는 구글의 수석 디벨로퍼 아드보캇이다. 구글의 쿠버네티스 엔진, 클라우드 펑션(Cloud Functions), 애피지(apigee)의 API 게이트웨이 등을 포함한 구글 클라우드의 수많은 제품을 개발 및 개선하는 데 도움을 줬다. 또한 대부분의 시간을 글로벌 포춘지 선정 1000대 경영진 및 개발자와 함께 보내며, 이들이 구글의 기술과 플랫폼을 제대로 이해하고 활용해 비즈니스를 성장시키는 데 도움을 줬다. 클라우스 네이티브 애플리케이션을 구축하고 제공하는 데 있어서 소프트웨어 개발자와 운영 전문가를 도울 수 있는 프로젝트를 유지 관리하는 데 크게 기여한 오픈소스 컨트리뷰터다. 뛰어난 저자 겸 기조연설자로, 쿠버네티스 커뮤니티의 활동을 도운 공로로 CNCF Top 앰배서더 상(CNCF Top Ambassador Award)을 수상했다. 멘토이자 기술 고문으로 창업자가 자신의 비전을 현실로 바꾸도록 도와주고 있다.

브렌던 번스(지은이)

오픈 소스 컨테이너 운영 플랫폼인 쿠버네티스의 공동 창시자. 현재 마이크로소프트에서 애저 리소스 매니저를 운영하며 애저 컨테이너 서비스 팀을 이끄는 엔지니어입니다. 마이크로소프트 이전에는 구글 클라우드 플랫폼에서 수석 엔지니어로 근무했습니다. 클라우드 분야로 이전하기 전 구글 검색 엔진 개발에 큰 기여를 한 웹 검색 백엔드를 개발했습니다. 뉴욕 스키넥터디에 있는 유니온 대학Union College에서 컴퓨터 과학 교수로 역임했으며, 매사추세츠 대학교 애머스트에서 컴퓨터 과학 박사 학위를 윌러엄스 칼리지에서 학사 학위를 받았습니다.

조 베다(지은이)

마이크로소프트에서 인터넷 익스플로러 관련 업무를 담당하며 경력을 시작했다. 마이크로 소프트에서 7년, 구글에서 10년간 GUI 프레임워크, 실시간 음성 및 채팅, 전화, 광고용 머신러닝, 클라우드 컴퓨팅 분야에서 업적을 쌓아왔다. 가장 주목할 만한 업적은 구글 재직 시 브렌던, 크레이그 맥룩키와 함께 구글 컴퓨트 엔진(Google Compute Engine)을 처음 시작해 쿠버네티스를 만든 것이다. 또한 크레이그와 함께 설립한 스타트업 기업인 헵티오(Heptio)는 VM웨어(VMWare)에 인수됐으며, 현재는 VM웨어의 수석 엔지니어로 재직 중이다.

이준(옮긴이)

경희대학교 컴퓨터공학과를 졸업하고 동 대학원에서 네트워크 분야 석사 학위를 받았다. 졸업 후 네트워크 장비 개발 업체에서 소프트웨어 개발자로 근무하며 경력을 쌓았다. 현재 기아자동차에 재직 중이며 주로 커넥티드카 서비스를 위한 클라우드 인프라 및 플랫폼 설계 업무를 담당했다. 오픈스택, 쿠버네티스, 이스티오 등 클라우드 관련 기술에 관심을 갖고 있으며 번역서로 『개발자를 위한 쿠버네티스』(에이콘, 2019), 『Go 프로그래밍 개발 환경에서 의존성 주입 실습』(에이콘, 2020), 『쿠버네티스 시작하기』(에이콘, 2020)가 있다.

김희곤(옮긴이)

통계학 석사 학위 취득 후 현대자동차에 입사해 줄곧 IT 기획업무를 담당했다. 전사 PI (Process Innovation) 및 ERP 구축 프로젝트를 통해 IT 인프라에 발을 들였고, 현재 현대자동차 그룹의 클라우드 전략 및 구축 업무를 리딩하고 있다.

이한선(옮긴이)

전기전자컴퓨터공학전공, KT에서 클라우드 POD 인프라 아키텍처와 데이터센터 네트워크/DNS 설계, OpenStack 기반 SDDC, 국내 클라우드 최초 GSLB/LB/FW/VPN/VXLAN 자동화 기능을 구현했다. 현재 기아자동차에서 AWS 기반 해외 커넥티드카 아키텍처 설계와 대규모 트래픽 환경에서의 쿠버네티스 CNI와 인그레스 설계에 집중하고 있다.

이해원(옮긴이)

경북대학교 컴퓨터공학과를 졸업하고 LG CNS에서 커머스, 클라우드 분야의 플랫폼 개발자로 경력을 쌓았다. 개발 생산성 향상을 위해 오픈소스를 활용하는 것에 관심이 많고, 최근에는 엔터프라이즈 애자일이 주요 관심사다. 현재는 기아자동차에서 커넥티드카 서비스를 위한 클라우드 매니지먼트 플랫폼 설계 업무를 담당하고 있다.

이설민(옮긴이)

엔씨소프트에서 대규모 트래픽을 경험하며 게임 DBA로 실무를 시작했고, 이후에는 인프라 기술 PM으로서 게임 인프라 아키텍처 설계 및 운영 업무를 담당했다. 신뢰성 있는 서비스를 위한 효율적인 아키텍처 설계 및 AI 기술에 관심이 많으며 현재는 현대자동차에서 커넥티드카 서비스를 위한 데이터베이스 총괄 및 클라우드 기술 관련 업무를 진행하고 있다.

박재민(옮긴이)

대학에서 통계학을 졸업하고 대기업 그룹사 SI회사에서 DBA로 근무하며 경력을 쌓았다. 현재 기아자동차에 재직하며 전사 빅데이터 클라우드 인프라 및 데이터베이스 기획 업무를 담당하고 있다.

문규태(옮긴이)

서울과학기술대학교 글로벌융합산업공학과 ITM 전공을 졸업했다. 현재 현대자동차에 재직 중이며 엔터프라이즈 IT 서비스를 위한 클라우드 인프라 및 플랫폼 설계 업무를 담당하고 있다.

Information Provided By: : Aladin

Table of Contents

1장. 쿠버네티스 소개

__속도
__불변성의 가치
__선언형 컨피규레이션
__자가 치유 시스템
__서비스와 팀의 확장
____분리
____애플리케이션 및 클러스터의 손쉬운 확장
____마이크로 서비스를 통한 개발 팀 확장
____일관성 및 확장에 대한 고려사항 분리
__인프라 추상화
__효율성
__요약


2장. 컨테이너 생성 및 실행

__컨테이너 이미지
____도커 이미지 포맷
__도커를 활용한 애플리케이션 이미지 빌드하기
____도커파일
____이미지 크기 최적화하기
____이미지 보안
__다단계 이미지 빌드
__원격 레지스트리에 이미지 저장
__도커 컨테이너 런타임
____도커로 컨테이너 실행하기
____kuard 애플리케이션 탐색하기
____리소스 사용량 제한하기
__정리
__요약


3장. 쿠버네티스 클러스터 배포

__퍼블릭 클라우드 제공자 환경에 쿠버네티스 설치하기
____구글 쿠버네티스 엔진
____애저 쿠버네티스 서비스에 쿠버네티스 설치하기
____아마존 웹 서비스에 쿠버네티스 설치하기
____미니큐브를 통해 로컬 환경에 쿠버네티스 설치하기
__도커 환경에서 쿠버네티스 실행하기
__라즈베리파이에서 쿠버네티스 실행하기
__쿠버네티스 클라이언트
____클러스터 상태 확인
____쿠버네티스 워커 노드 조회하기
__클러스터 컴포넌트
____쿠버네티스 프록시
____쿠버네티스 DNS
____쿠버네티스 UI
__요약


4장. 공통 kubectl 커맨드

__네임스페이스
__컨텍스트
__쿠버네티스 API 객체 조회
__쿠버네티스 객체 생성, 수정, 삭제
__객체 라벨링과 애노테이션
__디버깅 커맨드
__커맨드 자동완성
__클러스터 조회의 대안들
__요약


5장. 파드

__쿠버네티스에서의 파드
__파드에 대한 생각
__파드 매니페스트
____파드 생성
____파드 매니페스트 생성
__파드 실행하기
____파드 조회하기
____파드 세부사항
____파드 삭제하기
__파드에 접근하기
____포트 포워딩 사용하기
____로그를 통해 더 많은 정보 얻기
____exec를 사용해 컨테이너에서 커맨드 실행하기
____컨테이너 내외부로 파일 복사하기
__상태 검사
____활성 프로브
____준비 프로브
____상태 검사 타입
__리소스 관리
____리소스 요청: 최소 필요 리소스
____리소스 제한으로 리소스 사용량 제한
__볼륨을 통한 데이터 보존
____파드에 볼륨 사용하기
____파드에서 볼륨을 사용하는 다양한 방법
____원격 디스크를 사용한 데이터 보존
__종합
__요약


6장. 라벨과 애노테이션

__라벨
____라벨 적용하기
____라벨 수정하기
____라벨 셀렉터
__API 객체의 라벨 셀렉터
____쿠버네티스 아키텍처의 라벨
__애노테이션
____애노테이션 정의
__정리
__요약


7장. 서비스 탐색

__서비스 탐색이란 무엇인가?
__서비스 객체
__서비스 DNS
__준비 검사
__클러스터 외부로의 서비스
__클라우드 연계
__고급 세부 정보
____엔드포인트
____수동 서비스 탐색
____kube-proxy와 클러스터 IP
____클러스터 IP 환경 변수
__다른 환경과 연결
__정리
__요약


8장. 인그레스를 통한 HTTP 로드밸런싱

__인그레스 스펙과 인그레스 컨트롤러
__컨투어 설치
____DNS 설정
____로컬 hosts 파일 설정
__인그레스의 사용
____가장 간단한 사용법
____호스트 이름의 사용
____경로 사용
____정리
__심화된 인그레스 주제와 문제
____다중 인그레스 컨트롤러 실행
____다중 인그레스 객체
____인그레스와 네임스페이스
____경로 재작성
____TLS 제공
__인그레스의 대체 구현
__인그레스의 미래
__요약


9장. 레플리카셋

__조정 루프
__파드와 레플리카셋의 관계
____기존 컨테이너 수용
____컨테이너 격리
__레플리카셋을 통한 설계
__레플리카셋 명세
____파드 템플릿
____라벨
__레플리카셋 생성
__레플리카셋 검사
____파드에서 레플리카셋 찾기
____레플리카셋에 대한 파드 집합 찾기
__레플리카셋 확장
____kubectl scale을 사용한 명령형 확장
____kubectl apply를 사용한 선언형 확장
____레플리카셋 자동확장
__레플리카셋 삭제
__요약


10장. 디플로이먼트

__디플로이먼트 시작하기
____디플로이먼트 내부
__디플로이먼트 생성
__디플로이먼트 관리
__디플로이먼트 업데이트
____디플로이먼트 확장
____컨테이너 이미지 업데이트
____롤아웃 이력
__디플로이먼트 전략
____재생성 전략
____롤링업데이트 전략
__서비스 안정을 위한 느린 롤아웃
__디플로이먼트 삭제
__디플로이먼트 모니터링
__요약


11장. 데몬셋

__데몬셋 스케줄러
__데몬셋 생성
__데몬셋을 특정 노드로 제한
____노드에 라벨 추가
____노드 셀렉터
__데몬셋 업데이트
____데몬셋의 롤링업데이트
__데몬셋 삭제
__요약


12장. 잡

__잡 객체
__잡 패턴
____원샷
____병렬
__작업 대기열
__크론잡
__요약


13장. 컨피그맵과 시크릿

__컨피그맵
____컨피그맵 생성
____컨피그맵 사용
__시크릿
____시크릿 생성
____시크릿 사용
____사설 도커 레지스트리
__명명 규칙
__컨피그맵과 시크릿 관리
____조회
____생성
____업데이트
__요약


14장. 쿠버네티스를 위한 역할 기반 접근 제어

__역할 기반 접근 제어
____쿠버네티스에서의 ID
____역할 및 역할 바인딩의 이해
____쿠버네티스에서의 역할 및 역할 바인딩
__RBAC를 관리하기 위한 기술
____can-i를 통한 권한 부여 테스트
____소스 제어에서 RBAC 관리
__고급 주제
____클러스터 역할 조합
____바인딩을 위한 그룹 사용
__요약


15장. 스토리지 솔루션과 쿠버네티스의 연계

__외부 서비스 가져오기
____셀렉터가 없는 서비스
____외부 서비스의 제약사항: 상태 검사
__신뢰할 수 있는 싱글톤 실행
____MySQL 싱글톤 실행
____동적 볼륨 프로비저닝
__스테이트풀셋을 통한 쿠버네티스 네이티브 스토리지
____스테이트풀셋의 속성
____스테이트풀셋을 통한 몽고DB 수동 복제
____몽고DB 클러스터 생성 자동화
____영구 볼륨과 스테이트풀셋
____마지막 단계: 준비 프로브
__요약


16장 쿠버네티스 확장

__쿠버네티스 확장의 의미
__확장 지점
__사용자 정의 리소스를 위한 패턴
____저스트 데이터
____컴파일러
____오퍼레이터
____시작하기
__요약


17장. 실제 애플리케이션 배포

__주피터
__파스
____사전 준비
____parse-server 빌드
____parse-server 배포
____파스 테스트
__고스트
____고스트 구성
__레디스
____레디스 구성
____레디스 서비스 생성
____레디스 배표
____레디스 클러스터로 사용
__요약


18장. 애플리케이션 구성

__알아야 할 원칙
____신뢰성 있는 원천 데이터로서의 파일시스템
____코드 리뷰의 역할
____피처 게이트 및 가드
__소스 제어에서의 애플리케이션 관리
____파일시스템 레이아웃
____정기 버전 관리
__개발, 테스트 및 배포를 위한 애플리케이션 구조화
____목표
____릴리스 진행
__템플릿을 통한 애플리케이션 매개변수화
____헬름 및 템플릿을 통한 매개변수화
____매개변수화를 위한 파일시스템 레이아웃
__전 세계에 애플리케이션 배포
____전 세계 배포를 위한 아키텍처
____전 세계 배포 구현
____전 세계 배포를 위한 대시보드 및 모니터링
__요약


부록A. 라즈베리파이 쿠버네티스 클러스터 구축

__부품 목록
__이미지 굽기
__첫 번째 부팅: 마스터 노드
____네트워크 설정
____쿠버네티스 설치
____클러스터 설정
__요약


Information Provided By: : Aladin

New Arrivals Books in Related Fields

Ramamurthy, Bina (2021)