HOME > 상세정보

상세정보

도커/쿠버네티스를 활용한 컨테이너 개발 실전 입문 : 현장에서 바로 활용할 수 있는 컨테이너 개발 기법과 실전 기술 (21회 대출)

자료유형
단행본
개인저자
山田明憲 심효섭, 역
서명 / 저자사항
도커/쿠버네티스를 활용한 컨테이너 개발 실전 입문 : 현장에서 바로 활용할 수 있는 컨테이너 개발 기법과 실전 기술 / 야마다 아키노리 지음 ; 심효섭 옮김
발행사항
파주 :   위키북스,   2019  
형태사항
xviii, 458 p. : 삽화 ; 25 cm
총서사항
위키북스 시스템 & 네트워크 시리즈 ;7
원표제
Docker/Kubernetes実践コンテナ開発入門
ISBN
9791158391447
서지주기
참고문헌(p. 454-455)과 색인수록
000 00000cam c2200205 c 4500
001 000045978248
005 20190403094040
007 ta
008 190402s2019 ggka b 001c kor
020 ▼a 9791158391447 ▼g 93000
035 ▼a (KERIS)BIB000015100119
040 ▼a 241049 ▼c 241049 ▼d 211009
041 1 ▼a kor ▼h jpn
082 0 4 ▼a 005.1 ▼2 23
085 ▼a 005.1 ▼2 DDCK
090 ▼a 005.1 ▼b 2019z2
100 1 ▼a 山田明憲
245 1 0 ▼a 도커/쿠버네티스를 활용한 컨테이너 개발 실전 입문 : ▼b 현장에서 바로 활용할 수 있는 컨테이너 개발 기법과 실전 기술 / ▼d 야마다 아키노리 지음 ; ▼e 심효섭 옮김
246 1 9 ▼a Docker/Kubernetes実践コンテナ開発入門
246 3 ▼a Dokkā kūbenetisu jissen kontena kaihatsu nyūmon
246 3 0 ▼a 컨테이너 개발 실전 입문
260 ▼a 파주 : ▼b 위키북스, ▼c 2019
300 ▼a xviii, 458 p. : ▼b 삽화 ; ▼c 25 cm
440 0 0 ▼a 위키북스 시스템 & 네트워크 시리즈 ; ▼v 7
504 ▼a 참고문헌(p. 454-455)과 색인수록
700 1 ▼a 심효섭, ▼e
900 1 0 ▼a 야마다 아키노리, ▼e
900 1 0 ▼a Yamada, Akinori, ▼e
945 ▼a KLPA
949 ▼a 위키북스 시스템 and 네트워크 시리즈 ; ▼v 7

No. 소장처 청구기호 등록번호 도서상태 반납예정일 예약 서비스
No. 1 소장처 과학도서관/Sci-Info(1층서고)/ 청구기호 005.1 2019z2 등록번호 121248425 도서상태 대출가능 반납예정일 예약 서비스 B M
No. 2 소장처 과학도서관/Sci-Info(1층서고)/ 청구기호 005.1 2019z2 등록번호 121248571 도서상태 대출가능 반납예정일 예약 서비스 B M
No. 3 소장처 세종학술정보원/과학기술실/ 청구기호 005.1 2019z2 등록번호 151352256 도서상태 대출가능 반납예정일 예약 서비스
No. 소장처 청구기호 등록번호 도서상태 반납예정일 예약 서비스
No. 1 소장처 과학도서관/Sci-Info(1층서고)/ 청구기호 005.1 2019z2 등록번호 121248425 도서상태 대출가능 반납예정일 예약 서비스 B M
No. 2 소장처 과학도서관/Sci-Info(1층서고)/ 청구기호 005.1 2019z2 등록번호 121248571 도서상태 대출가능 반납예정일 예약 서비스 B M
No. 소장처 청구기호 등록번호 도서상태 반납예정일 예약 서비스
No. 1 소장처 세종학술정보원/과학기술실/ 청구기호 005.1 2019z2 등록번호 151352256 도서상태 대출가능 반납예정일 예약 서비스

컨텐츠정보

책소개

도커와 쿠버네티스에 대한 기초 실력을 키우고, 컨테이너에 친화적인 애플리케이션을 개발하기 위한 포인트, 더 나아가 실제 운영 환경에 적합한 기본적인 기법 및 노하우를 전달할 수 있도록 구성하였다. 애플리케이션 개발에서 컨테이너가 필수 스킬이 되어가는데, 아직 컨테이너가 뭔지 모르는 개발자나 컨테이너를 운영환경에 도입하기는 아직 두렵다거나, 이름은 들어봤지만 사용해본 적이 없는 독자에게 꼭 필요한 컨테이너 개발 실무를 익힐 데 많은 도움이 될 것이다.

도커/쿠버네티스를 실무 현장에 적용하기 위한 '컨테이너 개발' 입문서!

컨테이너 가상화 기술은 게스트 운영체제 없이 호스트 운영체제 위에 격리된 환경에서 가상화를 구현한다. 게스트 운영체제가 따로 존재하지 않으므로 호스트 운영체제의 요소를 공유하며 그만큼 중복되는 요소가 줄어 성능적 이점을 누릴 수 있다. 이 책은 이러한 컨테이너 가상화 기술을 애플리케이션 개발 및 배포에 도입하기 위한 입문서다. 도커/쿠버네티스를 실무에서 활용 중인 저자가 실무 스킬을 최신 정보와 함께 알기 쉽게 설명한다. 로컬 환경 테스트는 물론이고, Google Kubernetes Engine에 배포하는 법, AWS Fargate 활용법 등 클라우드를 도입하는 방법도 다룬다.

이 책은 도커와 쿠버네티스에 대한 기초 실력을 키우고, 컨테이너에 친화적인 애플리케이션을 개발하기 위한 포인트, 더 나아가 실제 운영 환경에 적합한 기본적인 기법 및 노하우를 전달할 수 있도록 구성하였다. 애플리케이션 개발에서 컨테이너가 필수 스킬이 되어가는데, 아직 컨테이너가 뭔지 모르는 개발자나 컨테이너를 운영환경에 도입하기는 아직 두렵다거나, 이름은 들어봤지만 사용해본 적이 없는 독자에게 꼭 필요한 컨테이너 개발 실무를 익힐 데 많은 도움이 될 것이다.


정보제공 : Aladin

저자소개

야마다 아키노리(지은이)

주식회사 사이버 에이전트 소속. 개인방송 서비스 'FRESH LIVE'의 테크리드를 맡아 아키텍처 설계와 컨테이너를 이용한 개발을 주도함. 컨테이너 기술을 십분 활용한 진정한 애플리케이션 개발이 무엇인지 모색 중이다.

심효섭(옮긴이)

연세대학교 문헌정보학과를 졸업하고 모교 중앙도서관과의 인연으로 도서관 솔루션 업체에서 일하면서 개발을 시작했다. 네이버에서 웹 서비스 개발 업무를 맡았으며, 웹 서비스 외에 머신러닝에 대한 공부도 꾸준히 하고 있다. 최근 관심사는 회사에 속하지 않고도 지속 가능한 삶이다. 옮긴 책으로 『도메인 주도 설계 철저 입문』 『Vue.js 철저 입문』 『도커/쿠버네티스를 활용한 컨테이너 개발 실전 입문』 『PyTorch를 활용한 강화학습/심층강화학습 실전 입문』 『PyTorch를 활용한 머신러닝, 딥러닝 철저 입문』 등이 있다.

정보제공 : Aladin

목차

▣ 01장: 도커의 기초 
01. 도커란 무엇인가 
__도커의 역사 
__도커의 기본 개념 
__도커 스타일 체험하기 
__환경 차이로 인한 문제 방지 
02. 도커를 사용하는 의의 
__애플리케이션 구성 관리의 용이성 
__운영 환경에서 빛을 발하는 도커 
__새로운 개발 스타일 
03. 로컬 도커 환경 구축하기 
__윈도우용 도커 설치 
__macOS용 도커 설치 
__윈도우용/macOS용 도커 기본 설정 

▣ 02장: 도커 컨테이너 배포 
01. 컨테이너로 애플리케이션 실행하기 
__도커 이미지와 도커 컨테이너 
__간단한 애플리케이션과 도커 이미지 만들기 
__도커 이미지 빌드하기 
__도커 컨테이너 실행 
02. 도커 이미지 다루기 
__docker image build - 이미지 빌드 
__docker search - 이미지 검색 
__docker image pull - 이미지 내려받기 
__docker image ls - 보유한 도커 이미지 목록 보기 
__docker image tag - 이미지에 태그 붙이기 
__docker image push - 이미지를 외부에 공개하기 
03. 도커 컨테이너 다루기 
__도커 컨테이너의 생애주기 
__docker container run - 컨테이너 생성 및 실행 
__docker container ls - 도커 컨테이너 목록 보기 
__docker container stop - 컨테이너 정지하기 
__docker container restart - 컨테이너 재시작하기 
__docker container rm - 컨테이너 파기하기 
__docker container logs ? 표준 출력 연결하기 
__docker container exec - 실행 중인 컨테이너에서 명령 실행하기 
__docker container cp - 파일 복사하기 
__prune - 컨테이너 및 이미지 파기 
04. 운영과 관리를 위한 명령 
__docker container stats - 사용 현황 확인하기 
05. 도커 컴포즈로 여러 컨테이너 실행하기 
__docker-compose 명령으로 컨테이너 실행하기 
06. 컴포즈로 여러 컨테이너 실행하기 
__젠킨스 컨테이너 실행하기 
__마스터 젠킨스 용 SSH 키 생성 
__슬레이브 젠킨스 컨테이너 생성 

▣ 03장: 컨테이너 실전 구축 및 배포 
01. 애플리케이션과 시스템 내 단일 컨테이너의 적정 비중 
__컨테이너 1개 = 프로세스 1개? 
__컨테이너 1개에 하나의 관심사 
02. 컨테이너의 이식성 
__커널 및 아키텍처의 차이 
__라이브러리와 동적 링크 문제 
03. 도커 친화적인 애플리케이션 
__환경 변수 활용 
__데이터 볼륨 
04. 퍼시스턴스 데이터를 다루는 방법 
__데이터 볼륨 컨테이너 
05. 컨테이너 배치 전략 
__도커 스웜 
__서비스 
__스택 
__스웜 클러스터 외부에서 서비스 사용하기 

▣ 04장: 스웜을 이용한 실전 애플리케이션 개발 
01. 웹 애플리케이션 구성 
__애플리케이션의 요구 조건 
__아키텍처 
__Nginx 
__TODO 애플리케이션의 전체 구조 
02. MySQL 서비스 구축 
__데이터베이스 컨테이너 구성 
__인증 정보 
__MySQL 설정 - etc/mysql/mysql.conf.d/mysqld.conf 
__레플리케이션 설정 
__MySQL(mysql_master/mysql_slave) Dockerfile 
__스웜에서 마스터 및 슬레이브 실행 
__MySQL 컨테이너 확인 및 초기 데이터 투입 
03. API 서비스 구축 
__todoapi의 기본 구조 
__애플리케이션 환경 변수 통제 
__MySQL 접속 및 테이블 매핑 
__핸들러 구현하기 
__servePUT 
__API를 위한 Dockerfile 
__스웜에서 todoapi 서비스 실행하기 
04. Nginx 구축 
__nginx.conf 파일 구성하기 
__Nginx 컨테이너의 Dockerfile 
__Nginx를 거쳐 API에 접근하기 
05. 웹 서비스 구축 
__TODO API 호출 및 페이지 HTML 렌더링 
__웹 서비스의 Dockerfile 
__정적 파일을 다루는 방법 
__Nginx를 통한 접근 허용 
__인그레스로 서비스 노출하기 
06. 컨테이너 오케스트레이션을 적용한 개발 스타일 

▣ 05장: 쿠버네티스 입문 
01. 쿠버네티스란 무엇인가 
__도커의 부상과 쿠버네티스의 탄생 
__쿠버네티스의 역할 
02. 로컬 PC에서 쿠버네티스 실행 
__윈도우용/macOS용 도커에 쿠버네티스 설치하기 
03. 쿠버네티스의 주요 개념 
04. 쿠버네티스 클러스터와 노드 
05. 네임스페이스 
06. 파드 
__파드 생성 및 배포하기 
__파드 다루기 
07. 레플리카세트 
08. 디플로이먼트 
__레플리카세트의 생애주기 
__롤백 실행하기 
09. 서비스 
__ClusterIP 서비스 
__NodePort 서비스 
10. 인그레스 
__LoadBalancer 서비스 
__ExternalName 서비스 
__인그레스를 통해 접근하기 

▣ 06장: 쿠버네티스 클러스터 구축 
01. Google Kubernetes Engine 환경 설정 
__GCP 프로젝트 생성 
__구글 클라우드 SDK(gcloud) 설치 
__쿠버네티스 클러스터 생성 
02. GKE에 TODO 애플리케이션 구축 
__퍼시스턴트볼륨과 퍼시트턴트볼륨클레임 
03. GKE에 MySQL을 마스터-슬레이브 구성으로 구축 
__스토리지클래스(StorageClass) 
__스테이트풀세트(StatefulSet) 
04. GKE에 TODO API를 구축 
05. GKE에 TODO 웹 애플리케이션 구축하기 
06. 인그레스로 웹 애플리케이션 노출하기 
__클러스터를 구축할 서버 준비하기 
08. 온프레미스 환경에서 쿠버네티스 클러스터 구축 
09. kubespray를 사용한 쿠버네티스 클러스터 구축 
__작업용 서버의 SSH 공개키 등록 
__IPv4 포워딩 활성화 
__클러스터 설정 
__클러스터 구축 
__잡 

▣ 07장: 쿠버네티스 실전편 
01. 쿠버네티스의 그 외 리소스 
__크론잡 
__시크릿 
02. 사용자 관리와 RBAC 
__RBAC를 이용한 권한 제어 
__서비스 계정 
03. 헬름 
__헬름 설치 
__헬름의 주요 개념 
__차트 설치하기 
__차트로 설치한 애플리케이션 제거하기 
__RBAC를 지원하는 애플리케이션 설치하기 
__사용자 차트 생성하기 
__롤링 업데이트 
04. 쿠버네티스 배포 전략 
__실행 중인 컨테이너에 대한 헬스 체크 설정 
__블루-그린 배포 

▣ 08장: 컨테이너 운영 
01. 로깅 운영 
__컨테이너에서 생성되는 로그 
__로깅 드라이버 
__컨테이너 로그 다루기 
__Fluentd와 Elasticsearch를 이용한 로그 수집 및 검색 기능 구축 
__fluentd 로깅 드라이버의 운영 구조 
__쿠버네티스에서 로그 관리하기 
__그 외의 로그 수집 도구 
__컨테이너의 라이브 리스토어 
02. 도커 호스트 및 데몬 운영 
__dockerd 튜닝하기 
__도커 운영 시의 장애 대책 
03. 장애 대책 
__쿠버네티스 운영 시의 장애 대책 
__헬름의 릴리스 히스토리 제한 

▣ 09장: 가벼운 도커 이미지 만들기 
01. 가벼운 도커 이미지가 왜 필요할까 
__이미지 크기 증가에 따라 나타나는 문제 
02. 기반 이미지를 가볍게 
__scratch 
__BusyBox 
__알파인 리눅스 
__배포 대상 애플리케이션의 크기 줄이기 
03. 가벼운 도커 이미지 만들기 
__도커 이미지의 레이어 구조 고려하기 
__빌드 컨테이너와 실행 컨테이너의 분리 
04. 멀티 스테이지 빌드 
__소프트웨어 및 도구 통일 

▣ 10장: 다양한 도커 활용 방법 
01. 팀 개발에서 개발 환경 통일하기 
__개발 환경은 집단지성의 결과 
02. 도커 컨테이너에서 명령행 도구(CLI) 사용하기 
__이미지에서 명령행 도구 버전 변경하기 
__도커 컨테이너로 셸 스크립트 실행하기 
__테스트 환경 구축 
03. 부하 테스트 
__마스터-슬레이브 구성으로 부하 테스트하기 

▣ 부록A: 보안 
01. 공개된 도커 이미지의 안전성 
__도커 허브 
__Quay.io 
__Docker Bench for Security 
02. 안전한 도커 이미지와 도커 운영 체계 꾸리기 
__컨테이너에 파일을 추가하면서 발생하는 위험 
__적절한 접근 제어 
__기밀정보 취급 

▣ 부록B: 도커로 개발을 지원하는 도구 및 서비스 
01. 인하우스 도커 레지스트리 구축 
__Registry(Docker Distribution) 
__CircleCI 
02. 도커와 CI/CD 서비스 연동 
03. ECS에서 AWS Fargate를 이용한 컨테이너 오케스트레이션 
__Fargate로 ECS 클러스터 구축하기 
__ECS를 조작해 애플리케이션 배포하기 

▣ 부록C: 주요 명령어 정리 
01. 도커 명령어 
02. Dockerfile 인스트럭션 
03. 도커 컴포즈 명령어 
04. 도커 스웜/스택 명령어 
__helm init 
05. 헬름 명령어 
__helm version 
__helm create 
__helm lint 
__helm package 
__helm repo list 
__helm repo add 
__helm repo remove 
__helm repo update 
__helm search 
__helm fetch 
__helm serve 
__helm install 
__helm update 
__helm list 
__helm get 
__helm delete

관련분야 신착자료