책소개
본 교재는 온프레미스 환경에 최신 버전의 도커와 쿠버네티스를 구축하여 개발과 배포를 학습할 수 있도록 준비하였다. 도커는 컨테이너 기반의 가상화 기술로서, 개발과 배포 간의 일관성 있는 환경을 가능하게 한다. 쿠버네티스는 컨테이너들을 효율적으로 관리하고 배포할 수 있는 도구이다. 클라우드 네이티브 환경에서 확장 가능한 애플리케이션 배포를 가능하게 하여, 사용자가 규모에 맞는 유연한 인프라를 구축할 수 있게 한다.
목차
01 도커 개념1.1 도커란?1.2 도커 이미지1.3 도커 컨테이너1.4 도커 레지스트리(Registry)1.5 도커 컴포즈(Compose)02 도커 환경구축2.1 WSL 및 우분투 설치2.2 도커 설치2.3 VSC에 도커 연동2.4 앱 빌드2.5 앱 배포03 컨테이너3.1 Nodejs 컨테이너3.2 웹 서버 컨테이너04 도커 이미지 공개4.1 인터넷 도커 허브 레포지토리4.2 로컬 프라이빗 레지스트리05 도커 기본 명령어5.1 도커 이미지 운영5.2 컨테이너 운영5.3 컨테이너 관리06 리소스 관리6.1 리소스 부하 테스트용 스트레스 이미지 빌드6.2 CPU 부하 테스트6.3 가상 메모리 부하 테스트07 볼륨7.1 볼륨 개념7.2 DB 데이터 저장7.3 웹 데이터 저장7.4 컨테이너간 데이터 공유08 도커 컴포즈(Docker Compose)8.1 도커 컴포즈 개념8.2 도커 컴포즈 튜토리얼09 쿠버네티스 개념9.1 개요(Overview)9.2 클러스터 아키텍처(Cluseter Architecture)9.3 컨테이너(Container)9.4 워크로드(Workload) - 앱 실행9.5 네트워크 관리(Service/Ingress)9.6 앱 정보 저장(Storage)9.7 앱 설정 정보 관리(ConfigMap/Secret)9.8 리소스 사양 정의 - 매니페스트 파일9.9 kubectl 커맨드10 쿠버네티스 환경 구축10.1 클러스터 환경 설계10.2 Master 환경 구축10.3 노드1 환경 구축10.4 노드2 환경 구축10.5 Host 환경 구축11 쿠버네티스 설치11.1 쿠버네티스 설치 전 환경 설정11.2 컨테이너 런타임 설치11.3 쿠버네티스 설치12 kubectl 명령어 사용법12.1 kubectl 도움말12.2 워드프레스 웹 앱12.3 기본 명령어13 네임스페이스와 템플릿13.1 네임스페이스13.2 템플릿(Template)14 파드(Pod)14.1 단일 컨테이너 파드14.2 다중 컨테이너 파드14.3 컨테이너 모니터링15 디플로이먼트(Deployment)15.1 디플로이 기본15.2 디플로이 업데이트 전략16 서비스(Service)16.1 쿠버네티스 서비스 기본 개념16.2 클러스터IP 서비스(CluserIP)16.3 노드포트 서비스(NodePort)17 인그레스(Ingress)17.1 쿠버네티스 인그레스 기본 개념17.2 엔진엑스 인그레스 컨트롤러 설치17.3 엔진엑스 인그레스 사용18 컨피그맵(ConfigMap)18.1 쿠버네티스 컨피그맵 개념18.2 컨피그맵 활용19 영구볼륨(PersistentVolume)19.1 쿠버네티스 영구볼륨 개념19.2 영구볼륨 활용20 헬름(Helm)20.1 헬름 개념20.2 저장소 차트 활용20.3 사용자 차트 생성21 젠킨스(Jenkins)21.1 젠킨스(Jenkins) 개념21.2 젠킨스 설치21.3 CI 빌드 구현22 아르고 CD(Argo CD)22.1 아르고 CD 개념22.2 아르고 CD 설정22.3 CD 빌드