간편결제, 신용카드 청구할인
인터파크 롯데카드 5% (29,070원)
(최대할인 10만원 / 전월실적 40만원)
북피니언 롯데카드 30% (21,420원)
(최대할인 3만원 / 3만원 이상 결제)
NH쇼핑&인터파크카드 20% (24,480원)
(최대할인 4만원 / 2만원 이상 결제)
Close

15단계로 배우는 도커와 쿠버네티스

원제 : 15Stepで習得 Dockerから入るKubernetes コンテナ開発からK8s本番運用まで
소득공제

2013년 9월 9일 이후 누적수치입니다.

판매지수 733
?
판매지수란?
사이트의 판매량에 기반하여 판매량 추이를 반영한 인터파크 도서에서의 독립적인 판매 지수입니다. 현재 가장 잘 팔리는 상품에 가중치를 두었기 때문에 실제 누적 판매량과는 다소 차이가 있을 수 있습니다. 판매량 외에도 다양한 가중치로 구성되어 최근의 이슈도서 확인시 유용할 수 있습니다. 해당 지수는 매일 갱신됩니다.
Close
공유하기
정가

34,000원

  • 30,600 (10%할인)

    1,700P (5%적립)

할인혜택
적립혜택
  • I-Point 적립은 출고완료 후 14일 이내 마이페이지에서 적립받기한 경우만 적립됩니다.
추가혜택
배송정보
주문수량
감소 증가
  • 북카트 담기
  • 바로구매
  • 매장픽업
  • 이벤트/기획전

  • 연관도서(11)

  • 사은품(4)

책소개

한 권으로 배우는 도커와 쿠버네티스 실전 가이드!

이 책은 컨테이너 기술에 처음 입문하는 독자도 체계적으로 실력을 쌓아갈 수 있도록 도커부터 시작하여 쿠버네티스의 전반적인 기능을 기초부터 단계별로 학습할 수 있도록 구성되어 있다.
독자는 이 책을 통해 현장에서 운영 가능한 수준의 기술을 익힐 수 있을 것이며, 쿠버네티스 기반의 응용 프로그램 개발과 시스템 아키텍처를 그릴 수 있게 될 것이다. 이 책의 예제 파일은 PC나 클라우드에서 실행할 수 있으며, 일일이 실습할 시간이 없거나 흐름만을 파악하고자 할 경우, 책을 읽는 것만으로도 내용을 충분히 파악할 수 있도록 구성하였다.

출판사 서평

한 권으로 배우는 도커와 쿠버네티스 실전 가이드!

이 책은 컨테이너 기술에 처음 입문하는 독자도 체계적으로 실력을 쌓아갈 수 있도록 도커부터 시작하여 쿠버네티스의 전반적인 기능을 기초부터 단계별로 학습할 수 있도록 구성되어 있다.
독자는 이 책을 통해 현장에서 운영 가능한 수준의 기술을 익힐 수 있을 것이며, 쿠버네티스 기반의 응용 프로그램 개발과 시스템 아키텍처를 그릴 수 있게 될 것이다. 이 책의 예제 파일은 PC나 클라우드에서 실행할 수 있으며, 일일이 실습할 시간이 없거나 흐름만을 파악하고자 할 경우, 책을 읽는 것만으로도 내용을 충분히 파악할 수 있도록 구성하였다.

이 책의 목표와 특징
● 이 책은 쿠버네티스의 핵심 내용을 엄선하여 독자들이 효율적으로 익힐 수 있도록 구성했다. 무엇보다 실무에 보탬이 되는 지식을 담기 위해 노력했다.
● 이 책은 쿠버네티스를 다루기 전에 반드시 알아야 하는 컨테이너 기술의 기초부터 다룬다. 도커의 모든 내용을 망라하지는 않지만, 쿠버네티스를 다루는 데 필수적인 내용을 선별하여 담았다.
● 이 책은 학습 과정을 15단계로 구성하여 이해를 단계적으로 넓힐 수 있게 구성했다. PC에 직접 혹은 가상 머신을 사용하여 실습 환경을 구축하는 방법과 퍼블릭 클라우드를 사용하는 방법을 다룬다

목차

1장 도커와 쿠버네티스의 개요 23

1 쿠버네티스란? 25
1.1 쿠버네티스의 개요 . . . 26
1.2 탄생부터 현재까지의 역사 . . . 27
1.3 쿠버네티스의 발음과 로고에 대하여 . . . 29
1.4 쿠버네티스가 해결하는 과제 . . . 30
1.5 쿠버네티스의 아키텍처 . . . 33
마무리 . . . 34
참고 자료 . . . 35

2 컨테이너의 이해 38
2.1 컨테이너를 사용하는 이유 . . . 38
2.2 가상 서버와 컨테이너의 차이점 . . . 39
2.3 도커의 아키텍처 . . . 41
2.4 레지스트리와 쿠버네티스의 관계 . . . 47
2.5 도커와 쿠버네티스의 연동 . . . 48
2.6 컨테이너를 위한 기술과 표준 . . . 49
마무리. . . 51
참고 자료 . . . 52
Column 해상 컨테이너가 이룩한 혁명과 IT의 컨테이너 기술 혁명 . . . 55

3 쿠버네티스의 기본 58
3.1 아키텍처 . . . 58
3.2 쿠버네티스 계층 구조 . . . 61
3.3 쿠버네티스 API 오브젝트 . . . 62
3.4 파드의 기본 . . . 65
3.5 파드의 라이프 사이클 . . . 67
3.6 파드의 종료 처리 . . . 68
3.7 클러스터 네트워크 . . . 69
3.8 서비스의 기본 . . . 70
3.9 컨트롤러의 기본 . . . 73
마무리 . . . 77
참고 자료 . . . 77

4 이 책의 학습 환경 79
4.1 빠르게 전반적인 기능을 파악하고 싶은 경우 . . . 79
4.2 직접 돌려보면서 익히고 싶은 경우 . . . 79
4.3 각 학습 환경의 구성 . . . 80
4.4 학습 환경 선택 . . . 81
4.5 이 책에서 다루는 OSS 목록 . . . 82

5 도커 커맨드 치트 시트 84
5.1 컨테이너 환경 표시 . . . 85
5.2 컨테이너의 3대 기능 . . . 85
5.3 디버그 관련 기능 . . . 87
5.4 쿠버네티스와 중복되는 기능 . . . 88
참고 자료 . . . 89

6 kubectl 커맨드 치트 시트 90
6.1 kubectl 커맨드의 기본 . . . 90
6.2 커맨드 . . . 91
6.3 리소스 타입 . . . 91
6.4 옵션 . . . 95
6.5 kubectl 커맨드 실행 예 . . . 96
참고 자료 . . . 102
Column 5G와 자율 운전으로 주목받는 쿠버네티스 . . . 103

2장 컨테이너 개발을 익히기 위한 5단계 105

Step 01 컨테이너 첫걸음 107
01.1 hello-world 실행 . . . 107
01.2 컨테이너의 생명 주기와 도커 커맨드 . . . 110
Step 01 마무리 . . . 123
Step 01 참고 자료 . . . 123
Step 02 컨테이너 다루기 124
02.1 대화형 모드로 컨테이너 기동 및 정지 . . . 124
02.2 컨테이너 조작 및 이미지 작성 . . . 126
02.3 여러 터미널에서 조작하기 . . . 128
02.4 호스트와 컨테이너의 관계 . . . 131
Step 02 마무리 . . . 133
Step 02 참고 자료 . . . 133

Step 03 컨테이너 개발 134
03.1 이미지 빌드의 개요 . . . 134
03.2 빌드 실행 순서 . . . 136
03.3 Dockerfile 작성법 . . . 139
03.4 Dockerfile 작성 모범 사례 . . . 141
Step 03 마무리 . . . 142
Step 03 참고 자료 . . . 142

Step 04 컨테이너와 네트워크 143
04.1 컨테이너 네트워크 . . . 144
04.2 외부에 포트를 공개하기 . . . 147
04.3 AP 컨테이너와 DB 컨테이너의 연동 예 . . . 148
Step 04 마무리 . . . 154
Step 04 참고 자료 . . . 154

Step 05 컨테이너 API 155
05.1 컨테이너 API의 종류와 개요 . . . 155
05.2 환경 변수 API 구현 예 . . . 159
05.3 종료 요청 API 구현 예 . . . 163
05.4 퍼시스턴스 볼륨 API 구현 예 . . . 167
05.5 로그와 백그라운드 기동 . . . 170
Step 05 마무리 . . . 171
Step 05 참고 자료 . . . 171
Column K8s 사용자를 위한 YAML 입문 . . . 172

3장 K8s 실전 활용을 위한 10단계 177

Step 06 쿠버네티스 첫걸음 179
06.1 클러스터 구성 확인 . . . 179
06.2 파드 실행 . . . 180
06.3 컨트롤러에 의한 파드 실행 . . . 185
06.4 잡에 의한 파드 실행 . . . 190
Step 06 마무리 . . . 192
Step 06 참고 자료 . . . 193

Step 07 매니페스트와 파드 194
07.1 매니페스트 작성법 . . . 195
07.2 매니페스트 적용 방법 . . . 197
07.3 파드의 동작 확인 . . . 198
07.4 파드의 헬스 체크 기능 . . . 200
07.5 초기화 전용 컨테이너 . . . 211
07.6 사이드카 패턴 . . . 213
Step 07 마무리 . . . 219
Step 07 참고 자료 . . . 220

Step 08 디플로이먼트 221
08.1 디플로이먼트의 생성과 삭제 . . . 222
08.2 스케일 기능 . . . 226
08.3 롤아웃 기능 . . . 228
08.4 롤백 기능 . . . 233
08.5 파드의 IP 주소가 변경되는 경우와 아닌 경우 . . . 235
08.6 자동 복구 . . . 236
08.7 디플로이먼트를 이용한 고가용성 구성 . . . 239
08.8 디플로이먼트의 자동 복구 . . . 242
Step 08 마무리 . . . 246
Step 08 참고 자료 . . . 247
Column 파드의 트러블 슈팅 . . . 248

Step 09 서비스 255
09.1 ClusterIP . . . 256
09.2 서비스 타입 NodePort . . . 256
09.3 서비스 타입 LoadBalancer . . . 258
09.4 서비스 타입 ExternalName . . . 259
09.5 서비스와 파드의 연결 . . . 260
09.6 서비스의 매니페스트 작성법 . . . 261
09.7 서비스 생성과 기능 확인 . . . 263
09.8 세션 어피니티 . . . 265
09.9 NodePort 사용 . . . 267
09.10 로드밸런서 . . . 268
09.11 ExternalName . . . 271
Step 09 마무리 . . . 272
Step 09 참고 자료 . . . 273

Step 10 잡과 크론잡 274
10.1 잡 활용 예 . . . 276
10.2 잡의 실행수와 동시 실행수 . . . 279
10.3 하나의 컨테이너로 구성된 파드가 이상 종료 하는 경우 . . . 282
10.4 여러 컨테이너 중 일부가 이상 종료 할 때의 동작 . . . 284
10.5 소수 계산 컨테이너와 잡 컨트롤러 . . . 286
10.6 메시지 브로커와의 조합 . . . 290
10.7 쿠버네티스 API 라이브러리 사용 . . . 295
10.8 실행 . . . 298
10.9 크론잡 . . . 302
Step 10 마무리 . . . 305
Step 10 참고 자료 . . . 306

Step 11 스토리지 307
11.1 스토리지의 종류와 클러스터 구성 . . . 308
11.2 스토리지 시스템의 방식 . . . 309
11.3 스토리지의 추상화와 자동화 . . . 311
11.4 퍼시스턴트 볼륨 이용. . . 313
11.5 NFS 서버 사용 . . . 319
11.6 클라우드에서의 동적 프로비저닝 . . . 326
11.7 SDS 연동에 의한 동적 프로비저닝 . . . 335
Step 11 마무리 . . . 341
Step 11 참고 자료 . . . 342

Step 12 스테이트풀셋 343
12.1 디플로이먼트와의 차이 . . . 344
12.2 매니페스트 작성법 . . . 349
12.3 수동 테이크 오버 방법. . . 355
12.4 노드 장애 시의 동작 . . . 356
12.5 테이크 오버를 자동화하는 코드 개발. . . 358
12.6 장애 회복 테스트 . . . 375
Step 12 마무리 . . . 379
Step 12 참고 자료 . . . 381

Step 13 인그레스 382
13.1 인그레스의 기능과 개요 . . . 383
13.2 인그레스 학습 환경 준비 . . . 384
13.3 공개 URL과 애플리케이션의 매핑 . . . 385
13.4 인그레스 적용 . . . 389
13.5 인그레스 SSL/TLS 암호화 . . . 395
13.6 모더니제이션 과제 . . . 399
13.7 세션 어피니티 기능 사용 . . . 401
13.8 kube-keepalived-vip에 의한 VIP 획득과 HA 구성 . . . 405
13.9 퍼블릭 클라우드에서 인그레스 사용 . . . 423
Step 13 마무리 . . . 425
Step 13 참고 자료 . . . 425

Step 14 오토스케일 427
14.1 오토스케일링 작업 . . . 429
14.2 학습 환경 3에서의 오토스케일 체험 . . . 432
14.3 부하 테스트용 컨테이너 준비 . . . 433
14.4 HPA 설정과 부하 테스트 . . . 436
Step 14 마무리 . . . 439
Step 14 참고 자료 . . . 439

Step 15 클러스터 가상화 441
15.1 네임스페이스(Namespace) . . . 442
15.2 kubectl 커맨드의 네임스페이스 설정 . . . 446
15.3 시크릿과 컨피그맵 . . . 451
15.4 시크릿 이용 . . . 452
15.5 컨피그맵 . . . 457
15.6 메모리와 CPU 할당과 상한 지정 . . . 460
15.7 네트워크의 접근 제어(Calico) . . . 463
15.8 역할에 따른 접근 범위 제한 . . . 464
15.9 환경 구축 . . . 466
15.10 설정 파일 내용 . . . 491
Step 15 마무리 . . . 511
Step 15 참고 자료 . . . 512

부록 학습 환경 구축 515

1 학습 환경 1 517
1.1 Mac 환경 . . . 517
1.2 Windows 환경 . . . 527
1.3 Vagrant의 리눅스에서 미니쿠베 사용하기. . . 538
1.4 미니쿠베 사용 방법 . . . 542

2 학습 환경 2 551
2.1 멀티 노드 K8s . . . 551
2.2 가상 NFS 서버 . . . 560
2.3 가상 GlusterFS 클러스터 . . . 563
2.4 프라이빗 레지스트리 . . . 566

3 학습 환경 3 574
3.1 IBM Cloud Kubernetes Service . . . 574
3.2 Google Kubernet

본문중에서

도커는 이러한 문제를 컨테이너를 통해 해결하여, 오픈 소스를 사용한 개발 생산성 향상과 애플리케이션 안정성이라는 두 마리 토끼를 잡고 있다. 컨테이너화된 애플리케이션을 운영하는 플랫폼 쿠버네티스도 일부 모듈이 컨테이너로 되어 있다.
- ( /p.38)
자동 운전은 몇 단계의 레벨이 있으며, 2019년 일반 차량에 탑재된 것은 레벨 2의 자동 운전이다. 이 레벨에는 운전자를 대신해 자동차 사이를 조정해 추돌을 방지하고, 보행자에 반응하여 자동으로 브레이크하는 기능 등이 있다. 그리고 2020년대 후반까지 레벨 5의 자율 주행 실용화를 목표로 개발이 진행 중이다. 이 레벨에 이르면 모든 장소에서 운전자를 대신해 자동으로 차량을 운행하는 게 가능하다. 이 단계의 자동차는 인공지능을 탑재한 로봇이 운전하는 차량이라고 할 수 있다. 이는 모든 산업이나 사회에 막대한 영향을 미치고, 엄청난 경제효과까지 예측되기 때문에 제4차 산업혁명이 도래한다고 볼 수 있다
- ( /p.103)

컨테이너를 백그라운드로 돌리기 위해서는 옵션 ‘-d’를 사용한다. 그러면 표준 출력이나 표준 오류가 터미널에 출력되지 않고 로그에만 기록된다. 즉, 컨테이너가 터미널로부터 분리된 상태로 기동한다. 이때는 로그를 통해 컨테이너 내 애플리케이션의 동작을 확인하게 된다.
- ( /p.170)

파드는 일시적인 존재라 언제든지 할당된 IP 주소가 바뀔 수 있다. 클라이언트 입장에서는 늘 변하는 파드의 IP 주소를 알기 어렵기 때문에 쿠버네티스에는 서비스라는 오브젝트가 존재한다. 서비스의 개요는 ‘1장 3.8 서비스의 기본’에서 알아보았다. 여기서는 구체적으로 어떤 종류의 서비스가 있는지 확인하고, 서비스를 만드는 매니페스트를 작성하고 배포해 보면서 구체적인 동작을 살펴볼 것이다.
- ( /p.255)

인그레스(Ingress)는 K8s 클러스터 외부에서의 요청을 K8s 클러스터 내부의 애플리케이션에 연결하기 위한 API 오브젝트다. 그림 1과 같이 디플로이먼트 관리하의 애플리케이션을 외부 공개용 URL과 매핑하여 인터넷에 공개하는 데 사용된다. 인그레스는 SSL/TSL 암호화나 세션 어피니티 등의 기능을 갖추고 있어, 기존 웹 애플리케이션을 쿠버네티스화하는 데 유용한 오브젝트다.
- ( /p.382)

관련이미지

저자소개

타카라 마호 [저] 신작알림 SMS신청 작가DB보기
생년월일 -
출생지 -
출간도서 0종
판매수 0권

일본 IBM 클라우드 & Cognitive 소프트웨어 사업 본부 소속
Certified Kubernetes Administrator CKA-1800-001213-0100
2002년에 일본 IBM에 입사 후 자동차, 항공, 금융 업계와 대학 및 연구 기관 등 다양한 고객과의 프로젝트에서 시스템 설계 및 구축을 맡았다. 이후 클라우드를 활용하는 고객을 담당하기도 했고, 현재는 쿠버네티스를 중심으로 한 IBM 클라우드 서비스와 소프트웨어 제품을 담당하고 있다. 사내/외로 쿠버네티스 교육 활동에 힘쓰고 있으며, 컨테이너 및 쿠버네티스 기술 지원에도 주력하고 있다.

생년월일 -
출생지 -
출간도서 0종
판매수 0권

도쿄에 살면서 라인재팬의 데이터 엔지니어로 일하고 있다. 번역하며 공부하는 것이 즐거워 꾸준히 번역 활동을 하고 있다. 번역한 책으로는 《자바스크립트와 Node.js를 이용한 웹 크롤링 테크닉》과 《처음 만나는 파이썬》, 《칼퇴를 부르는 엑셀 테크닉 122》가 있다.

이 상품의 시리즈

(총 19권 / 현재구매 가능도서 12권)

펼쳐보기

컴퓨터/인터넷 분야에서 많은 회원이 구매한 책

    리뷰

    0.0 (총 0건)

    구매 후 리뷰 작성 시, 북피니언 지수 최대 600점

    리뷰쓰기

    기대평

    작성시 유의사항

    평점
    0/200자
    등록하기

    기대평

    10.0

    교환/환불

    교환/환불 방법

    ‘마이페이지 > 취소/반품/교환/환불’ 에서 신청함, 1:1 문의 게시판 또는 고객센터(1577-2555) 이용 가능

    교환/환불 가능 기간

    고객변심은 출고완료 다음날부터 14일 까지만 교환/환불이 가능함

    교환/환불 비용

    고객변심 또는 구매착오의 경우에만 2,500원 택배비를 고객님이 부담함

    교환/환불 불가사유

    반품접수 없이 반송하거나, 우편으로 보낼 경우 상품 확인이 어려워 환불이 불가할 수 있음
    배송된 상품의 분실, 상품포장이 훼손된 경우, 비닐랩핑된 상품의 비닐 개봉시 교환/반품이 불가능함

    소비자 피해보상

    소비자 피해보상의 분쟁처리 등에 관한 사항은 소비자분쟁해결기준(공정거래위원회 고시)에 따라 비해 보상 받을 수 있음
    교환/반품/보증조건 및 품질보증 기준은 소비자기본법에 따른 소비자 분쟁 해결 기준에 따라 피해를 보상 받을 수 있음

    기타

    도매상 및 제작사 사정에 따라 품절/절판 등의 사유로 주문이 취소될 수 있음(이 경우 인터파크도서에서 고객님께 별도로 연락하여 고지함)

    배송안내

    • 인터파크 도서 상품은 택배로 배송되며, 출고완료 1~2일내 상품을 받아 보실 수 있습니다

    • 출고가능 시간이 서로 다른 상품을 함께 주문할 경우 출고가능 시간이 가장 긴 상품을 기준으로 배송됩니다.

    • 군부대, 교도소 등 특정기관은 우체국 택배만 배송가능하여, 인터파크 외 타업체 배송상품인 경우 발송되지 않을 수 있습니다.

    • 배송비

    도서(중고도서 포함) 구매

    2,000원 (1만원이상 구매 시 무료배송)

    음반/DVD/잡지/만화 구매

    2,000원 (2만원이상 구매 시 무료배송)

    도서와 음반/DVD/잡지/만화/
    중고직배송상품을 함께 구매

    2,000원 (1만원이상 구매 시 무료배송)

    업체직접배송상품 구매

    업체별 상이한 배송비 적용