좋은책추천

한 권으로 배우는 도커 & 쿠버네티스컨테이너 개념부터 쿠버네티스를 활용한 배포까지

soLow 2024. 5. 23. 17:44

평소에 도커에 대해 자세히 한번 알고 싶다는 생각을 자주 하곤 했었다. 개발 환경을 세팅하는 동영상 강의 등을 보면 자주 도커위에 NGINX 나 DJANGO 등을 얹는 경우를 보았기 때문이다. 과거의 전통적인 개발 환경이라 하면 서버에 바로 웹서버가 올라가고 그 사이에 뭔가가 들어가는 경우가 없어서 도커를 왜 쓰는 걸까 궁금했었다. 책을 읽다 보니 애플리케이션과 서버 사이에 완충 역할을 하며 다양한 서버 환경들 사이의 완충 역할을 한다는 걸 알게 되었다.

실로 운영을 하다 보면 어느 날 갑자기 서버에 장애가 생겨서 다른 서버에서 가동을 해야 한다든지 노후화가 되어 애플리케이션을 재설치 해야 하는 경우가 종종 생긴다. 이럴 때 기억을 더듬어가며 단종된 프로그램을 하나하나 실행시키고 새로 환경을 구축하는 것은 정말 보통 일이 아니다. 어쩌면 불가능할 수 있는 일인데 이런 것들을 다른 환경에서 큰 장애 없이 손쉽게 구축을 할 수 있다면 정말 큰 장점이 아닐까 하는 생각이 든다.

책에서도 비슷한 케이스를 이야기하였는데 만약에 내가 솔루션을 판매하는 회사를 다니고 다양한 고객사의 서버 상황에 맞추어 배포를 해야 하는 상황이라면 도커가 큰 역할을 하지 않을까라는 생각이 들었다. 책을 보면서 도커와 쿠버네티스의 출현 이후에 달라진 배포 환경을 그림으로 잘 설명되어 있었는데 최근 호스팅 업체들은 어떻게 서버를 운영할까에 대한 막연한 궁금증이 어느 정도 이해가 되는 대목이었다. 고객이 계약을 하면 물리 서버를 주문하고 세팅하고 서비스를 일일이 설치하는 게 아니라 도커나 쿠버네티스 같은 환경에서 간단히 명령어를 통해서 세팅하면 되는구나 싶었다. 서비스를 보면 서버 변경, 업그레이드 같은 골치 아픈 작업들이 있었는데 오래된 환경에 익숙해져 있던 나로서는 저런 적은 서비스 비용으로 힘든 작업이 가능한 것인가에 대한 의문이 조금씩 풀리는 기분이었다.

 

이론 설명이 지나면 항상 따라오는 자세한 설명들이 나온다. 도커의 설치부터 NGINX와 쿠버네티스등 수많은 서비스들에 대한 모든 명령어들이 다 적혀있었고 명령어마다 어떤 작동을 하는지 다 설명이 되어있었다. 도커와 쿠버네티스를 통한 웹 개발 환경을 꾸미고 싶다면 이 명령어들을 차근차근 실행하면 가능했다. 도커와 쿠버네티스에대한 개념만 설명하였다면 책의 분량이 그렇게 많이 않았을 것 같은데 모든 환경설정에 대한 코드와 설명이 다 되어있어 책의 분량이 상당했다. 혹시라도 새로운 개발 환경을 꾸려야 한다면 이 책이 꼭 필요하겠다 싶었다.

코드와 글로 된 설명만으로 되어있다면 머릿속에 개념과 절차가 잘 정리가 안 되었을 것 같은데 친절하게도 머리글에 현재의 순서와 개념을 이해하기 쉬운 그림이 첨부되어 있어 도움이 많이 되었다.

 

도커의 개념을 잘 설명한 그림인 것 같아 찍어 보았다. 이 책의 환경 설정을 보면 운영체제 위에 가상의 운영체제를 올리고 그 위에 도커나 쿠버네티스를 설정하고 또 컨테이너 위에 NGINX FLASK DJANGO 등을 얹어서 개념 이해가 쉽지 않은데 친절하게 설명되어 있는 그림들을 보고 개념을 이해할 수 있었다. 서버 위에 있던 네트워크단의 포트 포워딩이나 서버의 모니터링 등 다양한 기능들을 얹는 방법들도 책의 후반부에 소개되어 있어 혹시라도 전산 시스템 엔지니어링을 하는 독자들이 있다면 정말 유익한 내용들이 될 것 같다.

오래된 개발 환경에서 도커란 무엇인가 쿠버네티스는 무엇인가 왜 써야 하는 걸까 같은 의문들과 함께 뭔가 뜬구름처럼 생각되었던 기술들에 대한 개념을 확실히 잡아준 고마운 도서였다.

목차

1장 실습 환경 구축하기

1.1 우분투 이미지 다운로드하기

1.2 버추얼박스 설치하기

1.3 가상머신 생성하기

1.4 가상머신에 우분투 설치하기

1.5 가상머신 네트워크 환경 설정하기

1.6 PuTTY를 설치하고 가상 서버에 접속하기

1.7 초기 설정하기

1.8 vim에서 리눅스 기초 명령어 사용하기

1부 도커

2장 도커의 개념

2.1 사전 기초 지식

2.2 도커 기초 지식

3장 도커 설치

3.1 사전 준비 사항

3.2 도커 설치

3.3 hello world

4장 도커 기초

4.1 도커 기초 개념

4.2 도커 기초 명령어

4.3 도커 컨테이너 네트워크

4.4 도커 스토리지

5장 도커를 활용한 django 실행

5.1 추가 실습 환경 구축

5.2 YAML 기초

5.3 도커를 활용한 django 실행

5.4 Nginx, django 연동 후 실행

5.5 Nginx, django, PostgreSQL 컨테이너 연동

5.6 Nginx, django와 로컬 PostgreSQL 연동

5.7 도커 컴포즈를 활용한 컨테이너 실행

5.8 정리

6장 도커를 활용한 Flask 실행

6.1 실습 환경 구축

6.2 Nginx, Flask 연동 후 실행

6.3 도커 컴포즈를 활용한 컨테이너 실행

2부 쿠버네티스

7장 쿠버네티스의 기본 구조

7.1 쿠버네티스의 개념

7.2 쿠버네티스의 구조

8장 쿠버네티스 실습 환경 구축

8.1 사전 준비 사항

8.2 쿠버네티스 설치

9장 쿠버네티스 기초

9.1 쿠버네티스 둘러보기

9.2 디플로이먼트

9.3 서비스

9.4 스토리지 볼륨

9.5 스테이트풀섹

9.6 인그레스

9.7 잡과 크론잡

10장 쿠버네티스를 활용한 웹 서비스 배포

10.1 사전 준비 사항

10.2 인그레스를 활용한 django 실행

10.3 인그레스를 활용한 Flask 실행

10.4 인그레스를 활용한 django와 Flask 실행

11장 깃허브 액션과 ArgoCD를 활용한 CI/CD

11.1 CI/CD의 이해

11.2 사전 준비 사항

11.3 깃허브 액션을 통한 소스코드 관리

11.4 ArgoCD를 활용한 CD

12장 쿠버네티스 모니터링

12.1 매트릭 서버를 통한 리소스 확인

12.2 프로메테우스를 통한 모니터링 데이터 수집

12.3 그라파나를 활용한 모니터링 데이터 시각화

12.4 로키를 활용한 쿠버네티스 로그 확인

"한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."

책 정보

카테고리

네트워크/보안

쪽수/무게/크기

556쪽 / 1098g / 183*235*27mm

ISBN

9791169212366

반응형