• 국내도서
    국내도서
  • 베스트셀러
    베스트셀러
  • 새로나온도서
    새로나온도서
  • 추천도서
    추천도서
  • 할인/재정가 도서
    할인/재정가 도서
  • GIFT
    GIFT
  • 15단계로 배우는 도커와 쿠버네티스 (마스크제공)
  • 15단계로 배우는 도커와 쿠버네티스 (마스크제공)

15단계로 배우는 도커와 쿠버네티스 (마스크제공)

30,600 34,000
제조사
제이펍
원산지
국내
배송정보
무료 지역별 추가배송
택배

21615d286a4b23fc9ded08f4bbbe3a95_192355.jpg
 


책소개

도커는 이러한 문제를 컨테이너를 통해 해결하여, 오픈 소스를 사용한 개발 생산성 향상과 애플리케이션 안정성이라는 두 마리 토끼를 잡고 있다. 컨테이너화된 애플리케이션을 운영하는 플랫폼 쿠버네티스도 일부 모듈이 컨테이너로 되어 있다. _38p
자동 운전은 몇 단계의 레벨이 있으며, 2019년 일반 차량에 탑재된 것은 레벨 2의 자동 운전이다. 이 레벨에는 운전자를 대신해 자동차 사이를 조정해 추돌을 방지하고, 보행자에 반응하여 자동으로 브레이크하는 기능 등이 있다. 그리고 2020년대 후반까지 레벨 5의 자율 주행 실용화를 목...더보기도커는 이러한 문제를 컨테이너를 통해 해결하여, 오픈 소스를 사용한 개발 생산성 향상과 애플리케이션 안정성이라는 두 마리 토끼를 잡고 있다. 컨테이너화된 애플리케이션을 운영하는 플랫폼 쿠버네티스도 일부 모듈이 컨테이너로 되어 있다. _38p
자동 운전은 몇 단계의 레벨이 있으며, 2019년 일반 차량에 탑재된 것은 레벨 2의 자동 운전이다. 이 레벨에는 운전자를 대신해 자동차 사이를 조정해 추돌을 방지하고, 보행자에 반응하여 자동으로 브레이크하는 기능 등이 있다. 그리고 2020년대 후반까지 레벨 5의 자율 주행 실용화를 목표로 개발이 진행 중이다. 이 레벨에 이르면 모든 장소에서 운전자를 대신해 자동으로 차량을 운행하는 게 가능하다. 이 단계의 자동차는 인공지능을 탑재한 로봇이 운전하는 차량이라고 할 수 있다. 이는 모든 산업이나 사회에 막대한 영향을 미치고, 엄청난 경제효과까지 예측되기 때문에 제4차 산업혁명이 도래한다고 볼 수 있다 _103p
컨테이너를 백그라운드로 돌리기 위해서는 옵션 ‘-d’를 사용한다. 그러면 표준 출력이나 표준 오류가 터미널에 출력되지 않고 로그에만 기록된다. 즉, 컨테이너가 터미널로부터 분리된 상태로 기동한다. 이때는 로그를 통해 컨테이너 내 애플리케이션의 동작을 확인하게 된다. _170p
파드는 일시적인 존재라 언제든지 할당된 IP 주소가 바뀔 수 있다. 클라이언트 입장에서는 늘 변하는 파드의 IP 주소를 알기 어렵기 때문에 쿠버네티스에는 서비스라는 오브젝트가 존재한다. 서비스의 개요는 ‘1장 3.8 서비스의 기본’에서 알아보았다. 여기서는 구체적으로 어떤 종류의 서비스가 있는지 확인하고, 서비스를 만드는 매니페스트를 작성하고 배포해 보면서 구체적인 동작을 살펴볼 것이다. _255p
인그레스(Ingress)는 K8s 클러스터 외부에서의 요청을 K8s 클러스터 내부의 애플리케이션에 연결하기 위한 API 오브젝트다. 그림 1과 같이 디플로이먼트 관리하의 애플리케이션을 외부 공개용 URL과 매핑하여 인터넷에 공개하는 데 사용된다. 인그레스는 SSL/TSL 암호화나 세션 어피니티 등의 기능을 갖추고 있어, 기존 웹 애플리케이션을 쿠버네티스화하는 데 유용한 오브젝트다. _382p닫기

목차

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

작가

타카라 마호 (지은이), 이동규 (옮긴이)

상품필수 정보

도서명
15단계로 배우는 도커와 쿠버네티스
저자/출판사
타카라마호 / 제이펍
크기/전자책용량
상세설명참조 / 상세설명참조
쪽수
상세설명참조
제품 구성
상세설명참조
출간일
2020-10-12
목차 또는 책소개
상품상세참조

비밀번호 인증

비밀번호를 입력해 주세요.

확인