도서상세
장바구니에 상품을 담았습니다.
바로가기
  1. 도서정가제
  2. 소득공제
일시재고부족
34,000원
30,600원
10%
최대 적립 포인트
2,000 원
  • 구매 적립
    적립금 안내
    • 상품 적립금
    • 상품 적립금은 고객님이 웬디북에서 상품을 구매하실 경우 이에 대한 마일리지 개념으로 구매금액의 일부를 적립해 드리는 제도이며 사용은 예치금과 같이 현금처럼 사용가능하십니다.
    • 멤버십 적립금
    • 멤버십 적립금은 고객님의 멤버십(고객)등급에 따라 도서 구매액의 1 ~ 4%에 해당하는 적립금이 추가로 적립되며 적립금은 다음 주문시 현금처럼 사용이 가능합니다.
    • 다만 적립금은 예치금과는 달리, 현금으로 환불하실 수 없고 적립금의 적립일로 부터 12개월 이내에 사용하시지 않으면 자동으로 소멸됩니다.
  • 상품 적립금
    1,700원
  • 리뷰 적립
  • 최대 리뷰 적립금
    300원
30,600원
· 쿠폰 및 적립금은 결제 시 적용해 주세요
바로구매
장바구니 담기
일시재고부족
이 책을 구입하신 분들이 산 책
상세 이미지 더보기
상세 이미지
목차 더보기
목차
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
저자 소개
저자 : 타카라 마호
일본 IBM 클라우드 & Cognitive 소프트웨어 사업 본부 소속
Certified Kubernetes Administrator CKA-1800-001213-0100
2002년에 일본 IBM에 입사 후 자동차, 항공, 금융 업계와 대학 및 연구 기관 등 다양한 고객과의 프로젝트에서 시스템 설계 및 구축을 맡았다. 이후 클라우드를 활용하는 고객을 담당하기도 했고, 현재는 쿠버네티스를 중심으로 한 IBM 클라우드 서비스와 소프트웨어 제품을 담당하고 있다. 사내/외로 쿠버네티스 교육 활동에 힘쓰고 있으며, 컨테이너 및 쿠버네티스 기술 지원에도 주력하고 있다.

저자 : 이동규
라인에서 데이터 엔지니어로 일하고 있다. 번역하며 공부하는 것이 즐거워 꾸준히 번역 활동을 해오다 처음으로 책 집필에 도전해 보았다. 번역한 책으로는 《자바스크립트와 Node.js를 이용한 웹 크롤링 테크닉》과 《처음 만나는 파이썬》, 《칼퇴를 부르는 엑셀 테크닉 122》, 《모두를 위한 리눅스 프로그래밍》이 있다. 앞으로도 많은 사람이 즐겁게 공부할 수 있는 책을 꾸준히 번역/집필하며 살고 싶다.
저자 소개 더보기
리뷰(0)
0 / 5.0
리뷰 작성
•
리뷰를 작성하시면 소정의 적립금을 드립니다.
•
도서의 첫번째 리뷰부터 10번째 리뷰까지는 기본 적립금의 2배를 적립해 드리며, 이후 리뷰부터는 기본 적립금이 적립됩니다.
리뷰 혜택 및 유의사항
배송방법

배송은 CJ대한통운(전화 : 1588-1255)을 이용해서 보내드리고 있습니다.

3만원 이상 구매시 무료배송 가능하며, 3만원 미만의 경우 2500원의 배송비가 발생합니다.

배송기간

15시 이전에 입금확인된 주문까지는 당일날 발송하며, 일반적인 경우 다음날 책을 받아보실 수 있습니다.

주말 또는 공휴일이 있거나 시기적으로 배송이 많은 기간인 경우는 지역에 따라 1~2일이 더 소요될 수 있습니다.

주문 후, 5일이 경과해도 책이 도착하지 않는 경우에는 웬디북 고객센터(전화 : 1800-9785)로 전화를 주시거나 고객센터 > 1:1 문의를 통해 문의글을 남겨주시면 확인 후 신속히 조치하도록 하겠습니다.

묶음배송

묶음배송 원하시는 모든 주문서의 상태가 "입금대기" 또는 "결제완료" 상태일 경우에만 처리가 가능하며, 고객센터 > 1:1 문의에서 신청 할 수 있습니다.

반품안내

변심반품의 경우 도서주문일로부터 15일이내에 반품접수가 가능하며, 반품 배송비는 고객님 부담입니다.

부분 반품의 경우, 3만원 이상 주문으로 무료배송 받았으나 일부 상품 반품으로 주문금액이 3만원이 안될 경우, 이전 주문의 배송비를 포함한 왕복 배송비를 부담하셔야 합니다.

반품절차는 고객센터의 반품교환신청 페이지에서 신청을 해주시면 웬디북 고객센터에서 지정택배사에 회수요청을 하고, 방문한 택배기사님을 통해 반품도서를 보내주시면 됩니다.

운송 중 책이 손상되지 않도록 포장을 해주신 후, 포장 겉면에 “반품도서”라고 기재해주시기 바랍니다. 회수된 상품은 요청해주신 환불방법에 따라 적립 또는 환불 진행해드립니다.

(특히 팝업북 등은 조그만 충격에도 책이 손상될 수 있으므로 주의해 주시기 바랍니다.)

• 반품이 불가한 경우
  • 1. 고객에게 책임 있는 사유로 상품(띠지 또는 더스트커버 포함)이 멸실 또는 훼손된 경우
  • 2. CD 나 소프트웨어 포함, 포장이 되어 있는 모든 상품의 포장 개봉
  • 3. 만화책 및 단시간 내에 완독이 가능한 잡지
  • 4. 상품과 함께 발송된 추가사은품이 분실되거나 훼손된 경우
  • 5. 고객의 사용 또는 일부 소비에 의하여 상품의 가치가 현저히 감소한 경우
  • 6. 명시된 반품가능 기한이 지난 경우
  • 7. 세트상품중 일부 반품
교환안내

파본도서 혹은 오배송으로인한 교환은 도서주문일로부터 15일 이내에 신청하셔야 하며 이 경우 배송비는 웬디북에서 부담합니다.

(단, 팝업북과 CD가 세트인 책은 책의 특성상 7일 이내에 해주셔야 합니다.)

교환절차는 고객센터의 반품교환신청 페이지에서 신청을 해주시면 웬디북에서 새 책을 보내드리고 새 책을 받으실 때 교환도서와 맞교환 하시면 됩니다.

교환은 동일도서에 한하며, 다른 도서로 교환은 불가합니다.

운송도중 책이 손상되지 않도록 포장을 해주신 후, 포장 겉면에 “반품도서”라고 기재해주시기 바랍니다.

(특히 팝업북 등은 조그만 충격에도 책이 손상될 수 있으므로 주의해 주시기 바랍니다.)

• 교환이 불가한 경우
  • 1. 고객에게 책임 있는 사유로 상품이 멸실 또는 훼손된 경우
  • 2. 포장 상품의 포장을 해체한 경우
  • 3. 고객의 사용 또는 일부 소비에 의하여 상품의 가치가 현저히 감소한 경우
  • 4. 물품 수령 후, 15일이 경과한 경우
  • 5. 동일상품으로 교환하신 후, 다시 교환하시고자 할 경우 (이 경우에는 환불처리 해드립니다.)
신고하기
신고사유 선택
도서 입고 알림 신청
입고알림 신청하셨습니다.
입고시 {{tel}}로 문자 발송됩니다

바로 확인 하시겠습니까?
예

휴대폰 번호, 이메일 주소는

마이 페이지 > 회원정보수정에서 확인해 주세요.

관심 시리즈 신간 알림 신청
시리즈명:{{ series_name }}
관심 시리즈 신간 입고 알림 신청하셨습니다.
입고시 {{ tel }}로 문자 발송 또는
앱푸시, 이메일 등으로 알려드리겠습니다.

바로 확인 하시겠습니까?
예

휴대폰 번호, 이메일 주소는

마이 페이지 > 회원정보수정에서 확인해 주세요.

입고 알림 수신 방법 변경은

마이 페이지 > 알림 > 알림 설정에서 확인해 주세요.

푸시 알림이 오지 않을 시,

스마트폰 설정 > 알림 > 웬디북 앱 설정을 확인해 주세요

관심 작가 신간 알림 신청
작가명:{{ series_name }}
관심 작가 신간 입고 알림 신청하셨습니다.
입고시 {{ tel }}로 문자 발송 또는
앱푸시, 이메일 등으로 알려드리겠습니다.

바로 확인 하시겠습니까?
예

휴대폰 번호, 이메일 주소는

마이 페이지 > 회원정보수정에서 확인해 주세요.

입고 알림 수신 방법 변경은

마이 페이지 > 알림 > 알림 설정에서 확인해 주세요.

푸시 알림이 오지 않을 시,

스마트폰 설정 > 알림 > 웬디북 앱 설정을 확인해 주세요

{{title}}
{{content}}
{{title}}
{{content}}