간편결제, 신용카드 청구할인
인터파크 롯데카드 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일 이후 누적수치입니다.

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

34,000원

  • 30,600 (10%할인)

    1,700P (5%적립)

할인혜택
적립혜택
  • S-Point 적립은 마이페이지에서 직접 구매확정하신 경우만 적립 됩니다.
추가혜택
배송정보
  • 6/22(토) 이내 발송 예정  (서울시 강남구 삼성로 512)
  • 무료배송
주문수량
감소 증가
  • 이벤트/기획전

  • 연관도서(11)

  • 상품권

AD

책소개

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

이 책은 컨테이너 기술에 처음 입문하는 독자도 체계적으로 실력을 쌓아갈 수 있도록 도커부터 시작하여 쿠버네티스의 전반적인 기능을 기초부터 단계별로 학습할 수 있도록 구성되어 있다.
독자는 이 책을 통해 현장에서 운영 가능한 수준의 기술을 익힐 수 있을 것이며, 쿠버네티스 기반의 응용 프로그램 개발과 시스템 아키텍처를 그릴 수 있게 될 것이다. 이 책의 예제 파일은 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

본문중에서

도커는 이러한 문제를 컨테이너를 통해 해결하여, 오픈 소스를 사용한 개발 생산성 향상과 애플리케이션 안정성이라는 두 마리 토끼를 잡고 있다. 컨테이너화된 애플리케이션을 운영하는 플랫폼 쿠버네티스도 일부 모듈이 컨테이너로 되어 있다. _38p

자동 운전은 몇 단계의 레벨이 있으며, 2019년 일반 차량에 탑재된 것은 레벨 2의 자동 운전이다. 이 레벨에는 운전자를 대신해 자동차 사이를 조정해 추돌을 방지하고, 보행자에 반응하여 자동으로 브레이크하는 기능 등이 있다. 그리고 2020년대 후반까지 레벨 5의 자율 주행 실용화를 목표로 개발이 진행 중이다. 이 레벨에 이르면 모든 장소에서 운전자를 대신해 자동으로 차량을 운행하는 게 가능하다. 이 단계의 자동차는 인공지능을 탑재한 로봇이 운전하는 차량이라고 할 수 있다. 이는 모든 산업이나 사회에 막대한 영향을 미치고, 엄청난 경제효과까지 예측되기 때문에 제4차 산업혁명이 도래한다고 볼 수 있다 _103p

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

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

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

관련이미지

저자소개

타카라 마호 [저] 신작알림 SMS신청
생년월일 -

해당작가에 대한 소개가 없습니다.

이동규 [역] 신작알림 SMS신청
생년월일 -

해당작가에 대한 소개가 없습니다.

이 상품의 시리즈

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

선택한 상품 북카트담기
펼쳐보기

전공도서/대학교재 분야에서 많은 회원이 구매한 책

    리뷰

    0.0 (총 0건)

    100자평

    작성시 유의사항

    평점
    0/100자
    등록하기

    100자평

    10.0
    (총 0건)

    판매자정보

    • 인터파크도서에 등록된 오픈마켓 상품은 그 내용과 책임이 모두 판매자에게 있으며, 인터파크도서는 해당 상품과 내용에 대해 책임지지 않습니다.

    상호

    (주)교보문고

    대표자명

    안병현

    사업자등록번호

    102-81-11670

    연락처

    1544-1900

    전자우편주소

    callcenter@kyobobook.co.kr

    통신판매업신고번호

    01-0653

    영업소재지

    서울특별시 종로구 종로 1(종로1가,교보빌딩)

    교환/환불

    반품/교환 방법

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

    반품/교환가능 기간

    변심 반품의 경우 출고완료 후 6일(영업일 기준) 이내까지만 가능
    단, 상품의 결함 및 계약내용과 다를 경우 문제점 발견 후 30일 이내

    반품/교환 비용

    변심 혹은 구매착오로 인한 반품/교환은 반송료 고객 부담
    상품이나 서비스 자체의 하자로 인한 교환/반품은 반송료 판매자 부담

    반품/교환 불가 사유

    ·소비자의 책임 있는 사유로 상품 등이 손실 또는 훼손된 경우
    (단지 확인을 위한 포장 훼손은 제외)

    ·소비자의 사용, 포장 개봉에 의해 상품 등의 가치가 현저히 감소한 경우
    예) 화장품, 식품, 가전제품(악세서리 포함) 등

    ·복제가 가능한 상품 등의 포장을 훼손한 경우
    예) 음반/DVD/비디오, 소프트웨어, 만화책, 잡지, 영상 화보집

    ·시간의 경과에 의해 재판매가 곤란한 정도로 가치가 현저히 감소한 경우

    ·전자상거래 등에서의 소비자보호에 관한 법률이 정하는 소비자 청약철회 제한 내용에 해당되는 경우

    상품 품절

    공급사(출판사) 재고 사정에 의해 품절/지연될 수 있음

    소비자 피해보상
    환불지연에 따른 배상

    ·상품의 불량에 의한 교환, A/S, 환불, 품질보증 및 피해보상 등에 관한 사항은 소비자분쟁해결 기준 (공정거래위원회 고시)에 준하여 처리됨

    ·대금 환불 및 환불지연에 따른 배상금 지급 조건, 절차 등은 전자상거래 등에서의 소비자 보호에 관한 법률에 따라 처리함

    (주)KG이니시스 구매안전서비스서비스 가입사실 확인

    (주)인터파크커머스는 회원님들의 안전거래를 위해 구매금액, 결제수단에 상관없이 (주)인터파크커머스를 통한 모든 거래에 대하여
    (주)KG이니시스가 제공하는 구매안전서비스를 적용하고 있습니다.

    배송안내

    • 교보문고 상품은 택배로 배송되며, 출고완료 1~2일내 상품을 받아 보실 수 있습니다.

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

    • 군부대, 교도소 등 특정기관은 우체국 택배만 배송가능합니다.

    • 배송비는 업체 배송비 정책에 따릅니다.

    • - 도서 구매 시 15,000원 이상 무료배송, 15,000원 미만 2,500원 - 상품별 배송비가 있는 경우, 상품별 배송비 정책 적용