이미지 검색을 사용해 보세요
검색창 이전화면 이전화면
최근 검색어
인기 검색어

소득공제
도커/쿠버네티스를 활용한 컨테이너 개발 실전 입문
현장에서 바로 활용할 수 있는 컨테이너 개발 기법과 실전 기술
베스트
IT 모바일 top20 8주
가격
28,000
10 25,200
YES포인트?
1,400원 (5%)
5만원 이상 구매 시 2천원 추가 적립
결제혜택
카드/간편결제 혜택을 확인하세요
  • 본 도서의 개정판이 출간되었습니다.

이미 소장하고 있다면 판매해 보세요.

  •  국내배송만 가능
  •  문화비소득공제 가능

이 분야의 이벤트

위키북스 시스템 & 네트워크 시리즈

이 상품의 태그

책소개

목차

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

저자 소개 2

야마다 아키노리

관심작가 알림신청
 

やまだあきのり,山田 明憲

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

야마다 아키노리의 다른 상품

연세대학교 문헌정보학과를 졸업하고 모교 중앙도서관과의 인연으로 도서관 솔루션 업체에서 일하면서 개발을 시작했다. 네이버에서 웹 서비스 개발 업무를 맡았으며, 웹 서비스 외에 머신러닝 공부도 꾸준히 하고 있다. 최근 관심사는 회사에 속하지 않고도 지속 가능한 삶이다. 옮긴 책으로는 『엔지니어를 위한 블록체인 프로그래밍』, 『머신러닝 실무 프로젝트』(이상 한빛미디어), 『엔지니어를 위한 파이썬』, 『딥 러닝 제대로 시작하기』, 『딥 러닝 제대로 정리하기』, 『그림과 수식으로 배우는 통통 딥러닝』, 『그림과 수식으로 배우는 통통 머신러닝』, 『그림과 수식으로 배우는 통통 인공지능』(이
연세대학교 문헌정보학과를 졸업하고 모교 중앙도서관과의 인연으로 도서관 솔루션 업체에서 일하면서 개발을 시작했다. 네이버에서 웹 서비스 개발 업무를 맡았으며, 웹 서비스 외에 머신러닝 공부도 꾸준히 하고 있다. 최근 관심사는 회사에 속하지 않고도 지속 가능한 삶이다. 옮긴 책으로는 『엔지니어를 위한 블록체인 프로그래밍』, 『머신러닝 실무 프로젝트』(이상 한빛미디어), 『엔지니어를 위한 파이썬』, 『딥 러닝 제대로 시작하기』, 『딥 러닝 제대로 정리하기』, 『그림과 수식으로 배우는 통통 딥러닝』, 『그림과 수식으로 배우는 통통 머신러닝』, 『그림과 수식으로 배우는 통통 인공지능』(이상 제이펍), 『파이썬으로 시작하는 컴퓨터 과학 입문』(인사이트) 등이 있다.

심효섭의 다른 상품

품목정보

발행일
2019년 03월 20일
쪽수, 무게, 크기
476쪽 | 188*240*21mm
ISBN13
9791158391447

출판사 리뷰

책 소개

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

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

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

리뷰/한줄평15

리뷰

9.4 리뷰 총점

한줄평

9.2 한줄평 총점

클린봇이 부적절한 글을 감지 중입니다.

설정