본 교재는 온프레미스 환경에 최신 버전의 도커와 쿠버네티스를 구축하여 개발과 배포를 학습할 수 있도록 준비하였습니다. 도커는 컨테이너 기반의 가상화 기술로서, 개발과 배포 간의 일관성 있는 환경을 가능하게 합니다. 쿠버네티스는 컨테이너들을 효율적으로 관리하고 배포할 수 있는 도구입니다. 클라우드 네이티브 환경에서 확장 가능한 애플리케이션 배포를 가능하게 하여, 사용자가 규모에 맞는 유연한 인프라를 구축할 수 있게 합니다.
윈도우 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를 사용합니다.
이 책은 도커와 쿠버네티스의 개념부터 시작하여, 온프레스 실습 환경을 구축해보고, 다양한 실습을 통해 이 기술들의 기본을 다룹니다. 여러분이 이 책을 통해 배운 내용을 토대로, 클라우드 네이티브 환경에서 도커와 쿠버네티스를 사용하여 소프트웨어를 개발하고 운영할 수 있기를 기대합니다.