도커와 쿠버네티스 기초 학습

도커와 쿠버네티스 기초 학습

$26.78
Description
본 교재는 온프레미스 환경에 최신 버전의 도커와 쿠버네티스를 구축하여 개발과 배포를 학습할 수 있도록 준비하였습니다. 도커는 컨테이너 기반의 가상화 기술로서, 개발과 배포 간의 일관성 있는 환경을 가능하게 합니다. 쿠버네티스는 컨테이너들을 효율적으로 관리하고 배포할 수 있는 도구입니다. 클라우드 네이티브 환경에서 확장 가능한 애플리케이션 배포를 가능하게 하여, 사용자가 규모에 맞는 유연한 인프라를 구축할 수 있게 합니다.

윈도우 10 호스트 시스템의 온프레미스 환경은 도커 및 쿠버네티스의 시스템 요구사항을 고려하여 메모리 16GB, CPU 8코어, 디스크 200GB 이상 등을 사용하여 구축합니다. VirtualBox 7.0의 가상환경에서 Ubuntu 22.04.4 LTS 기반 가상머신에 도커 및 쿠버네티스를 설치합니다. 가상머신의 원격관리를 위해 호스트에 Xshell 7.0을 사용합니다.

도커 엔진은 도커 웹사이트의 도커 데스크톱 설치 방법에 따라 설치합니다. 쿠버네티스 클러스터는 마스터 1개, 워커 노드 2개로 구성합니다. 마스터는 도커 시스템을 복제하여 생성합니다. 생성된 마스터로 노드 2개를 복제합니다.

쿠버네티스 설치는 모든 노드에서 도커를 삭제 후 시작합니다. 노드 스왑 해제, 오버레이 및 브릿지 커널 모듈 등록, IPv4 패킷 전달 활성화, iptables 브릿지 트래픽 검사 활성화, 방화벽 해제, containerd 설치, runc 설치, CNI 설치, containerd 설정, 쿠버네티스 설치(kubelet, kubeadm, kubectl), 쿠버네티스 클러스터 초기화, Calico 설치, 쿠버네티스 클러스터 구성 등 사이트 등 인내하여 완료합니다.

도커는 이미지 빌드 중심으로 다룹니다. 쿠버네티스는 최신 버전 1.30을 사용하여 배포 중심으로 다룹니다. 쿠버네티스의 컨테이너 런타임 환경으로 도커 대신 containerd를 사용합니다.

이 책은 도커와 쿠버네티스의 개념부터 시작하여, 온프레스 실습 환경을 구축해보고, 다양한 실습을 통해 이 기술들의 기본을 다룹니다. 여러분이 이 책을 통해 배운 내용을 토대로, 클라우드 네이티브 환경에서 도커와 쿠버네티스를 사용하여 소프트웨어를 개발하고 운영할 수 있기를 기대합니다.
저자

천상훈

인천재능대학교교수

목차

Ch01도커개념
01도커란?
02도커엔진
03도커이미지
04도커컨테이너
05도커레지스트리(Registry)
06도커컴포즈(Compose)

Chapter02도커환경구축
01Virtualbox환경구축
02우분투(Ubuntu)환경구축
03Xshell환경구축

Chapter03도커설치
01도커데스크톱설치
02도커기초

Chapter04도커컨테이너
01Nodejs컨테이너
02웹서버컨테이너

Ch05도커이미지공개
01인터넷도커허브
02로컬프라이빗레지스트리

Ch06도커기본명령어
01도커이미지운영
02도커컨테이너라이프싸이클
03가동도커컨테이너관리

Ch07도커컨테이너리소스관리
01부하테스트용Stress이미지빌드
02CPU제한
03메모리자원제한
04블록디바이스I/O제한
05컨테이너및이미지삭제

Ch08도커컨테이너볼륨
01DB데이터저장
02웹데이터저장
03컨테이너간데이터공유

Ch09도커네트워크
01docker0기본브리지네트워크
02csw_net새브리지네트워크추가
03호스트와컨테이너포트연결
04브리지네트워크를통한컨테이너간통신

Ch10도커컴포즈
01도커컴포즈플러그인설치
02도커컴포즈시작
03도커컴포즈샘플앱:워드프레스

Ch11쿠버네티스개념
01개요(Overview)
02클러스터아키텍처(CluseterArchitecture)
03컨테이너(Container)
04워크로드(Workload)-앱실행
05네트워크관리(Service/Ingress)
06앱정보저장(Storage)
07앱설정정보관리(ConfigMap/Secret)
08리소스사양정의-매니페스트파일
09kubectl커맨드

Chapter12쿠버네티스환경구축
01클러스터환경설계
02Master환경구축
03노드1환경구축
04노드2환경구축
05Host환경구축

Ch13쿠버네티스설치
01도커삭제
02쿠버네티스설치전환경설정
03컨테이너런타임설치
04쿠버네티스설치

Ch14kubectl명령어사용법
01kubectl도움말
02워드프레스웹앱
03기본명령어

Ch15네임스페이스와템플릿
01네임스페이스
02템플릿(Template)

Ch16파드(Pod)
01단일컨테이너파드
02다중컨테이너파드
03컨테이너모니터링

Ch17디플로이먼트(Deployment)
01디플로이기본
02디플로이업데이트전략

Ch18서비스(Service)
01쿠버네티스서비스기본개념
02클러스터IP서비스(CluserIP)
03노드포트서비스(NodePort)

Ch19인그레스(Ingress)
01쿠버네티스인그레스기본개념
02엔진엑스인그레스컨트롤러설치
03엔진엑스인그레스사용

Ch20컨피그맵(ConfigMap)
01쿠버네티스컨피그맵개념
02컨피그맵활용

Ch21영구볼륨(PersistentVolume)
01쿠버네티스영구볼륨개념
02영구볼륨활용