이 상품은 구매 후 지원 기기에서 예스24 eBook앱 설치 후 바로 이용 가능한 상품입니다.
|
머릿말
프롤로그 챕터 1. 왜 컨테이너인가 1.1 컨테이너 - 항구에서 빌려온 이름 1.1.1 하역에 며칠씩 걸리던 시절 1.1.2 규격을 통일하다 1.1.3 IT로 건너온 컨테이너 1.2 Docker와 Kubernetes - 공장과 관제 센터 1.3 학습 지도 - Docker에서 Kubernetes까지 챕터 2. Docker 이해하기 2.1 가상화 - 가상머신과 컨테이너 2.1.1 한 주방, 네 명의 요리사 2.1.2 IT로 옮긴 구조 2.1.3 컨테이너가 만들어지는 과정 2.2 이미지 - 컨테이너의 설계도 2.2.1 이미지란? 2.2.2 이미지 레이어 2.2.3 Docker Hub 2.3 Docker CLI - 첫 컨테이너 띄우기 2.3.1 docker pull: 이미지 가져오기 2.3.2 docker run: 컨테이너 띄우기 2.3.3 docker run -d: 백그라운드로 띄우기 2.3.4 docker ps: 실행 중인 컨테이너 확인 2.3.5 자주 쓰는 명령어 2.4 컨테이너 통신 2.4.1 컨테이너 간 통신 2.4.2 외부에서 들어오기 - 입구 키오스크 2.4.3 이름으로 찾기 - 홀의 안내 지도 2.5 컨테이너 내부 - 격리된 작은 리눅스 2.5.1 자주 쓰는 리눅스 명령어 2.5.2 실습: 컨테이너 안에 nginx 깔아보기 2.5.3 vim으로 파일 편집 2.6 컨테이너의 메인 프로세스 2.6.1 메인 프로세스란? 2.6.2 메인 프로세스에서 빠져나오기 2.6.3 메인 프로세스가 유지되는 조건 2.6.4 메인 프로세스 바꾸기 - CMD 2.6.5 실행 중인 컨테이너에 들어가기 - a 2.7 commit - 실행 중인 컨테이너를 이미지 2.7.1 Tomcat으로 commit 실습하기 2.7.2 Docker Hub에 올리기 2.8 마운트로 데이터 보존 2.8.1 바인드 마운트: 호스트 폴더와 직접 2.8.2 볼륨 마운트: Docker가 관리하는 저장소 챕터 3. Docker 다루기 3.1 Dockerfile - 환경을 자동으로 만들기 3.1.1 프로비저닝 3.1.2 Dockerfile에서 컨테이너까지의 세 단계 3.1.3 Dockerfile 기본 문법 3.1.4 WORKDIR와 COPY 3.1.5 CMD와 ENTRYPOINT 3.2 NGINX - 요청을 앞에서 받아 나눠주기 3.2.1 NGINX의 역할 3.2.2 NGINX 설정과 요청 흐름 3.2.3 경로 기반 라우팅 3.2.4 host.docker.internal과 사용자 정의 네트워크 3.2.5 로드밸런싱 3.2.6 캐싱 3.3 Redis - 서버 여러 대가 함께 쓰는 공용 저장소 3.3.1 서버 여러 대면 생기는 세션 문제 3.3.2 Redis - 공용 세션 저장소 3.3.3 실습: Redis로 세션 공유 3.4 MySQL - 영구 데이터 저장하기 3.4.1 MySQL 컨테이너 실행하기 3.5 Docker Compose - 여러 컨테이너를 한 번에 3.5.1 컨테이너를 하나씩 실행하는 한계 3.5.2 docker-compose.yml 기본 구조 3.5.3 실습: Compose로 ex01 다시 만들기 3.6 종합 실습 - 프론트엔드·백엔드·DB 연결하기 3.6.1 전체 아키텍처 3.6.2 Backend - Spring Boot 컨테이너 3.6.3 DB - MySQL 컨테이너 3.6.4 Frontend - 정적 페이지 + API 프록시 3.6.5 docker-compose.yml 챕터 4. Kubernetes 시작하기 4.1 Kubernetes - 원하는 상태를 유지하기 4.1.1 도커는 실행 명령, Kubernetes는 약속 유지 4.1.2 컨트롤 플레인과 워커 노드 4.1.3 Kubernetes의 동작 원리 4.1.4 Kubernetes 핵심 리소스 한눈에 4.2 Minikube - 로컬에 만드는 작은 클러스터 4.2.1 노트북 한 대로 클러스터 흉내 내기 4.2.2 클러스터 시작 4.2.3 자주 쓰는 Minikube 명령어 4.3 Pod - Kubernetes의 최소 단위 4.3.1 Pod란? 4.3.2 명령어로 Pod 만들기 4.3.3 YAML로 Pod 만들기 4.3.4 Pod 조회 4.3.5 자주 쓰는 kubectl 명령어 4.4 Deployment - 자동 복구·스케일링·무중단 배포 4.4.1 Pod 하나를 직접 만들면 생기는 문제 4.4.2 Deployment - 원하는 상태를 유지하는 매뉴얼 4.4.3 ReplicaSet - Pod 개수 자동 관리 4.4.4 롤링 업데이트 - 끊김 없는 버전 교체 4.4.5 Rollback - 되돌리기 챕터 5. Kubernetes 네트워킹 5.1 Service - Pod의 고정 주소 5.1.1 Service가 필요한 이유 5.1.2 Service 생성 5.1.3 Service 타입과 접근 범위 5.1.4 포트 흐름 5.1.5 외부에서 Service 접속해 보기 5.2 Ingress - 도메인 라우팅 5.2.1 Ingress의 역할 5.2.2 Ingress 컨트롤러 5.2.3 Ingress 적용하기 5.2.4 외부에서 Ingress 접속해 보기 5.2.5 두 리소스의 계층 분담 5.3 브라우저에서 Pod까지의 경로 5.3.1 NodePort로 클러스터에 들어오기 5.3.2 Ingress가 URL·도메인으로 Service 5.3.3 ClusterIP가 Pod로 전달하기 챕터 6. Kubernetes 운영하기 6.1 ConfigMap·Secret - 설정과 비밀번호를 이미지 외부로 6.1.1 ConfigMap 6.1.2 Secret 6.1.3 ConfigMap 변경 6.2 Volume - 데이터의 영속성 확보 6.2.1 Pod의 휘발성 문제 6.2.2 PV와 PVC 6.2.3 PV 만들기 6.2.4 PVC 만들기 6.2.5 Pod에 마운트 6.3 통합 실습 - 쿠버네티스 위에 웹사이트 6.3.1 전체 그림 6.3.2 폴더 구조와 진행 방식 6.3.3 리소스 살펴보기 6.3.4 공통 준비 6.3.5 한 번에 배포하고 결과 확인 에필로그 마치며 |