본문으로 바로가기
태극기이 누리집은 대한민국 공식 전자정부 누리집입니다.
평면표지(2D 앞표지)
2D 뒤표지

온프레미스 환경에서 도커 & 쿠버네티스 기초편


  • ISBN-13
    979-11-6675-574-3 (93000)
  • 출판사 / 임프린트
    복두출판사 / 복두출판사
  • 정가
    35,000 원 확정정가
  • 발행일
    2025-03-04
  • 출간상태
    출간
  • 저자
    천상훈
  • 번역
    -
  • 메인주제어
    컴퓨터프로그래밍 / 소프트웨어공학
  • 추가주제어
    -
  • 키워드
    #컴퓨터프로그래밍 / 소프트웨어공학 #도커 #쿠버네티스 #온프레미스 #천상훈
  • 도서유형
    종이책, 무선제본
  • 대상연령
    모든 연령, 대학 교재
  • 도서상세정보
    188 * 257 mm, 462 Page

책소개

본 교재는 온프레미스 환경에 최신 버전의 도커와 쿠버네티스를 구축하여 개발과 배포를 학습할 수 있도록 준비하였습니다. 도커는 컨테이너 기반의 가상화 기술로서, 개발과 배포 간의 일관성 있는 환경을 가능하게 합니다. 쿠버네티스는 컨테이너들을 효율적으로 관

리하고 배포할 수 있는 도구입니다. 클라우드 네이티브 환경에서 확장 가능한 애플리케이션 배포를 가능하게 하여, 사용자가 규모에 맞는 유연한 인프라를 구축할 수 있게 합니다.


 

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

설치합니다. 가상머신의 원격관리를 위해 호스트에 Xshell을 사용합니다.


 

이 책에서 도커 환경은 윈도우즈 10에서 WSL 기반으로 우분투 24.04 LTS와 도커 데스크탑을 설치하여 구축하였습니다. 특징적으로 도커를 비주얼 스튜디오 코드에 연동하여 이미지 빌드, 컨테이너 실행, 도커 컴포즈 등 도커 관련 작업을 비주얼 스튜디오 코드 환

경에서 진행하였습니다. 또한 도커 데스크 탑에서 쿠버네티스(미니큐브)를 활성화하여 간단하게 도커에서 앱 개발하고 쿠버네티스에 앱 배포도 진행하였습니다.


 

쿠버네티스 환경은 클러스터는 마스터 1개, 워커 노드 2개로 구성합니다. 마스터는 도커시스템을 복제하여 생성합니다. 생성된 마스터로 노드 2개를 복제합니다. 쿠버네티스 설치는 모든 노드에서 도커를 삭제 후 시작합니다. 노드 스왑 해제, 오버레이 및 브릿지 커

널 모듈 등록, IPv4 패킷 전달 활성화, iptables 브릿지 트래픽 검사 활성화, 방화벽 해제, containerd 설치, runc 설치, CNI 설치, containerd 설정, 쿠버네티스 설치(kubelet, kubeadm, kubectl), 쿠버네티스 클러스터 초기화, Calico 설치, 쿠버네티스 클러스터 구성 등 사이트 등 인내하여 완료합니다. 이번 판에 헬름, 젠킨스, 아르고 CD를 추가하여 간단한 앱 개발 자동화 및 앱 배포 자동화를 다루었습니다.


 

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


 

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

운영할 수 있기를 기대합니다.


 

목차

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 빌드 

본문인용

-

서평

-

저자소개

저자 : 천상훈
재능대학 교수
상단으로 이동
  • (54866) 전북특별자치도 전주시 덕진구 중동로 63