메뉴 바로가기 검색 및 카테고리 바로가기 본문 바로가기

한빛출판네트워크

한빛랩스 - 지식에 가능성을 머지하다 / 강의 콘텐츠 무료로 수강하시고 피드백을 남겨주세요. ▶︎

한 권으로 배우는 도커 & 쿠버네티스

컨테이너 개념부터 쿠버네티스를 활용한 배포까지

한빛미디어

집필서

판매중

  • 저자 : 장철원
  • 출간 : 2024-04-29
  • 페이지 : 556 쪽
  • ISBN : 9791169212366
  • 물류코드 :11236
  • 초급 초중급 중급 중고급 고급
4.9점 (32명)
좋아요 : 14

 

STEP BY STEP, 원리부터 이해하는 도커 & 쿠버네티스 가이드

 

클라우드 기반의 인프라가 보편화된 현재의 IT 환경에서 도커와 쿠버네티스는 애플리케이션을 개발하고 운영하는 데 빼놓을 수 없는 중요한 기술입니다. 도커는 운영체제 수준의 가상화를 제공하는 기술로, 컨테이너를 이용하면 소프트웨어를 쉽게 배포하고 관리할 수 있습니다. 쿠버네티스는 이러한 컨테이너를 효율적으로 관리하는 시스템으로 복잡한 애플리케이션을 쉽게 배포/관리하고 확장할 수 있게 도와줍니다. 이 책은 도커와 쿠버네티스의 기본 개념부터 실무 환경에서의 구축 및 관리, 사용 방법 등을 단계별로 담고 있습니다. 각 장에 포함된 실습 예제는 이론적 지식을 실무에 적용할 때 큰 도움을 줄 것입니다. 이 책으로 도커와 쿠버네티스의 작동 원리부터 이해하면서 애플리케이션 개발과 배포 프로세스를 효율적으로 관리하고, 확장성 있는 시스템 아키텍처를 설계할 수 있는 능력을 키워보세요.

 

장철원 저자

장철원

충북대학교에서 통계학을 전공하고 고려대학교에서 통계학 석사 학위를 받은 후 플로리다 주립 대학교 통계학 박사과정에 진학했습니다. 어렸을 때부터 게임을 좋아하여 게임 회사인 크래프톤의 데이터 분석실에서 근무하며 머신러닝을 활용한 이탈률 예측, 고객 분류 작업 등을 담당했습니다. 특히 배틀그라운드의 핵 관련 업무를 하면서 IT 보안 분야에 흥미를 느끼게 되었습니다. 이후 NHN 클라우드사업본부 IT 보안실에서 머신러닝을 활용한 매크로 자동 탐지 시스템을 개발하여 특허를 출원했습니다. 삼성전자, KB국민은행, LG에너지솔루션 등 여러 기업에서 IT 관련 강의를 했으며, 현재도 다양한 교육 활동을 진행하고 있습니다. 꾸준히 IT 도서도 집필하고 있으며 소프트웨어 개발도 합니다. 또한 지식을 공유하는 데 보람을 느껴 블로그, 카페, 유튜브를 운영하며 다른 사람과 활발히 소통하고 있습니다.

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 로키를 활용한 쿠버네티스 로그 확인

이 책은 도커와 쿠버네티스의 기본 개념부터 실무 환경에서의 구축, 관리, 사용 방법까지 단계별로 설명합니다. 도커와 쿠버네티스를 익히는 데 반드시 알아야 하는 내용으로만 구성했습니다.

  • 우분투, 버추얼박스, PuTTY 설치 및 설정 등 실습 환경 구축
  • 도커의 기본 개념, 설치, 기본 명령어 사용법
  • 컨테이너 기술의 원리, 도커를 활용한 애플리케이션 배포
  • 도커 이미지 생성, 관리, 저장소 활용 방법
  • 가상머신 네트워크 환경 설정과 관리
  • 쿠버네티스의 기본 개념 및 클러스터 구축
  • 도커와 쿠버네티스를 활용한 다양한 애플리케이션 배포
  • 도커와 쿠버네티스의 고급 기능 및 최적화 방법

 

★ 이 책의 구성

1장 실습 환경 구축하기
우분투 이미지 다운로드, 버추얼박스 설치, 가상머신 생성 등 실습에 필요한 환경을 구축합니다.

 

1부 도커

 

2장 도커의 개념
운영체제, 네임스페이스 등 도커 학습에 필요한 기초 지식을 익히고 도커의 기본 개념이
되는 컨테이너에 대해 학습합니다.

 

3장 도커 설치
도커 실습을 위해 가상머신에 도커를 설치합니다.

 

4장 도커 기초
도커 이미지, 도커 컨테이너와 같은 개념을 익히고 도커 기초 명령어와 도커 운영에 필요한 네트워
크, 스토리지 관련 내용을 학습합니다.

 

5장 도커를 활용한 django 실행
앞에서 학습한 도커 기초 내용을 응용해 django를 실행합니다.

 

6장 도커를 활용한 Flask 실행
앞에서 학습한 도커 기초 내용을 응용해 Flask를 실행합니다.

 

2부 쿠버네티스

 

7장 쿠버네티스의 기본 구조
쿠버네티스의 역할 및 구성 요소를 익히고 쿠버네티스 구조를 배웁니다.

 

8장 쿠버네티스 실습 환경 구축
쿠버네티스 실습을 위해 가상머신에 쿠버네티스 클러스터를 구축합니다.

 

9장 쿠버네티스 기초
쿠버네티스 운영을 위한 디플로이먼트, 서비스, 스토리지 볼륨, 스테이트 풀셋, 인그레스, 잡과 크론
잡 등과 같은 쿠버네티스 기초 내용을 학습합니다.

 

10장 쿠버네티스를 활용한 웹 서비스 배포
앞에서 배운 쿠버네티스 기초 내용을 바탕으로 django 및 Flask 등을 활용하여 웹 서비스를 배포해봅
니다.

 

11장 깃허브 액션과 ArgoCD를 활용한 CI/CD
깃허브 액션과 ArgoCD를 활용하여 CI/CD를 진행합니다.

 

12장 쿠버네티스 모니터링
매트릭 서버, 프로메테우스, 그라파나, 로키 등을 활용하여 쿠버네티스 클러스터를 모니터링하는 방
법을 학습합니다.

' 한 권으로 배우는 도커 & 쿠버네티스 ' 책과의 인연

한빛미디어의 리뷰어 활동(나는 리뷰어다 ‘2024’)에 선정되어 5월에는 '한 권으로 배우는 도커 & 쿠버네티스'를 제공 받았다.

과거에 도커, 쿠버네티스를 사용하긴 했었으나 필요한 걸 그때 그때 학습해 사용했던 탓에 머리에 많이 남아있지 않았다.

군인 신분이여서 실습할 수 있는 환경은 안 되지만, 취업 이후에도 읽어볼만 한 도서인 것 같아서 5월 리뷰에 도전했다.

 

내 마음대로 생각해서 한 줄로 정리해 보는 저자의 의도

제목에서 느껴질 정도로 저자의 의도는 명확했다. 한 권으로 도커, 쿠버네티스를 기본 개념 및 일반적인 상황에서 능숙하게 사용할 수 있을 정도의 숙련도를 제공하는 것이였다.

“도커, 쿠버네티스를 빠르게 입문하고 싶은 자들을 위한 책”

 

이 책을 읽으면서 인상 깊었던 점

이 책을 읽으면서 인상 깊었던 점은 다음과 같다.

 

단순히 이론적인 내용뿐만 아니라 실무 상황에서 필요한 모니터링 내용까지 포함하고 있다.

대학 재학 시절, 진행했던 프로젝트에서는 모니터링을 신경쓰지 않고 그저 쿠버네티스 리소스를 사용하기에만 바빴는데 다음 프로젝트 때 여유가 있으면 꼭 도입해 봐야겠다.

 

제목에는 도커, 쿠버네티스만 언급되어 있지만 그 이상의 내용들이 담겨있는 도서이다. 

도커랑 쿠버네티스부터 깃허브 액션, ArgoCD, 프로메테우스, 그라파나, 로키 등의 내용이 담겨있다.

사실상 도커, 쿠버네티스 입문 이후에 배워봐야 하는 DevOps의 필수 스킬들을 소개하고 있는 책이다.

 

과거에 도커를 처음 접했을 때 어려웠던 점은 시각화 되어있지 않은 점이었다.

근데 책으로 공부하니 도커의 개념이나 쿠버네티스의 개념들을 그림으로 표현해 작동 원리를 쉽게 이해할 수 있었다.

 

그리고 다른 도서들을 읽다보면 초기 환경 구축에 대한 설명이 불친절한 경우가 많은데, 이 도서는 그런 걱정이 필요 없다.

마치 옆에서 알려주는 것처럼 "이런 것까지 설명해 준다고?" 식의 내용 전개 방식을 담고 있다.

이 책은 두고두고 책장에서 나를 도와줄 것 같은 책이다.

 

 

나만의 한줄평

“여러 번 읽어도 도움이 될 수 있는 훌륭한 기술 도서, 추상적인 개념인 도커-쿠버네티스를 쉽게 이해할 수 있게 큰 도움을 준다.”

 

도서 정보 :  한 권으로 배우는 도커 & 쿠버네티스 (장철원 / 36,000)

 

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


 숏폼과 도파민이 낭낭한 시대에 깊이있게 책을 통해 공부하고 싶은 분께 추천!!
도커와 쿠버네티스를 공부해두면 백엔드 / AI/ML 쪽 모두에게 도움이 될 것 같습니다.


 

1. 예상독자  - 누가 이책을 읽으면 좋을까? 


조금 더 깊이있게

엔지니어링파트를 공부하고 싶다!

기초를 쌓고 싶다! 하는 분들께 추천드립니다.

 

혼자 도커와 쿠버네티스를 학습하는 독자를 대상으로 하며,

두가지를 익히는데 필수적인 내용으로 구성되어있습니다.

 

특히 두가지를 공부하려다가 진입장벽에 막히셨던 분들에게

추천드립니다.

 

이 책이 가상머신부터 도커, 쿠버네티스까지 수월하게 

학습하실 수 있도록 도움을 드릴겁니다!

 

 

다만, 간단한 파이썬 기본서와 같은 것은 아닙니다.

학습하시며 에러가 나더라도 공부하며 찾아보며

직접 실행해보실 분들에게 추천드립니다!!

 

 

 

 

 

2. 책의 장점 -  실습이 친절하고 꼼꼼합니다.


1️⃣  단순히 개념이나 실습만 이분법적으로 나눠져 다루는 것이 아니라, 버추얼박스 설치부터 친절하고 꼼꼼합니다.

2️⃣ "도커" 개념만 재미없이 배우는 것이 아니라 이를 통해 할 수 있는 백엔드 프레임워크도 함께 다룹니다.

3️⃣  깃헙 액션과 CI/CD 까지, 실질적인 내용들이 많고 실습들이 전체적으로 친절합니다.

 

 

 

 

3. 책의 도입부 -  환경설정과 도커


 

1부 도커에서는 도커의 개념과 함께 파이썬 백엔드 프레임워크인 

django 와 Flask 를 함께 학습합니다.

 

무엇보다 도입부에서 놀랐던 것은 그저 도커부터 시작하는 것이 아니라,

버추얼박스에서 가상머신 생성해보며 실습환경 구축하는 것부터 시작해서 좋았다.

 

무슨 개념이든 현재에 사용되지않더라도 이전것을 알아야

현재를 이해하기 수월해지는데 그런 측면에서

강사님의 깊이있는 통찰력과 경력이 느껴졌다!

 

 

 

 

4. 책의 중심내용 -   쿠버네티스


 

2부 쿠버네티스에서는 기본 구조에 대한 개념적인 부분도 배우지만,

바로 적용해볼 수 있도록 실습 환경 구축도 함께 진행합니다.

 

실습환경 구축과 실습부분이 한땀한땀 설명들이 구체적이어서,

처음 공부하시거나 진입장벽 느끼시는 분들도 많은 것을 배우고

자신감을 얻으실 수 있는 책이라는 생각이 들었습니다.

 

기초부터 앞서 살펴봤던 파이썬 프레임워크들을 통한 배포와 

CI/CD 활용 및 모니터링까지 알차게 내용이 구성되어있다.

 

중심내용인만큼 공을 많이들이셨는데,

실습화면에 포인트레슨처럼 넘버링을 통해 따로 설명을 덧붙여주신 부분이 진짜 친절하고,

학습자의 입장을 많이 배려해주신 게 이 책의 가장 큰 장점이라고 느꼈다.

 

 

 

 

 

 

5. 총평 - 한땀한땀 친절하게 사진과 글이 어우러진 실습이 매력적이다.


이론과 달리 실습 위주가 될수밖에 없는 책인데,

실습은 자료제공자가 눈물한방울, 노력한번 더 해주실 수록 꼼꼼해주고

친절해지기 마련인데 그런의미로 책이 친절하다!

 

초심자가 처음부터 따라가기에도 시간을 들여 꾸준히 공부한다면

충분히 완독할 수 있는 느낌!!

 

특히 내용들이 군더더기 없이 흐름이 이어져서 정말 좋았다!!

 

AI 연구를 하거나 관련 업무를 하는 사람이라면 도커나 쿠버네티스에 대한 내용은 많이 접할 것이다. 아무래도 모델 개발이나 환경을 설정하는 데 있어서 다양한 변경 요소들이 존재하기 때문에 각각의 환경에 따른 설정을 구분하고 효율적으로 관리하는 입장에서 보면 이런 컨테이너 기반의 개발 환경 구축이 필수적이다. 보통 MLOps라고 하는 학습 인프라 구축에서는 거의 없어서는 안될 툴이라고 할 수도 있겠다. 그래서인지 시중에도 관련 책들이 많이 번역되거나 저술이 되어 있다.

이 책은 이전에 확률통계나 데이터 분석 관련 내용으로 책들을 펴낸 저자가 시스템 인프라 쪽으로 새로 저술한 책이다. 기존에 저자분이 저술한 책들을 읽어오면서 느낀 부분은 책의 대부분이 직접 실습하면서 배울 수 있게끔 되어 있는 구조로 되어 있고, 그러면서 책의 분량이 생각보다 빠방한 내용들이 가득했다. 이번 책을 읽으면서도 과연 그런 성향이 그대로 반영되어 있을까, 혹은 기존의 데이터 분석 관련 내용을 써온 저자분이 이런 시스템 관련 내용도 잘 풀어낼 수 있을까 하는 관점에서 읽었는데, 나름 기존의 유형이 그대로 이어지면서 처음 배우는 사람에게 도움이 될만한 책이 될 듯 했다.

책의 구성은 크게 2부로 나눠져 있으며, 전반부에는 이런 컨테이너 기반 기술의 기본인 도커의 이론적인 내용 및 도커를 활용한 django와 flask 서비스를 올려보는 실습으로 이뤄져 있으며, 후반부에는 도커를 관리할 수 있는 쿠버네티스와 역시 쿠버네티스를 활용한 웹서비스, CI/CD, 리소스 모니터링 등을 해볼 수 있는 예제들로 구성되어 있다. 역시 책의 특징이라 할 수 있는 예제 기반의 실습 형태로 되어 있기 때문에 도커나 쿠버네티스를 처음 접하는 사람들도 관련 예제를 통해서 학습을 할 수 있으며, 이때문에 분량이 여타 개발서에 비해 많다. (556페이지). 물론 책 가격이 비싼 느낌도 살짝 들긴 하지만, 그래도 풀컬러로 도식들이 표현되고 있어서 나름 읽기 편한 부분도 있었다.

사실 실습 기반의 책이라면 볼 수 있는 내용이 각 장별로 코드가 얼마나 잘 설명되어 있느냐, 또는 각 장에서 말하는 내용을 예제를 통해서 배울 수 있느냐 하는 부분인데, 이 책은 그런 부분에서 관련 내용을 전혀 모르는 사람에게 어필할 수 있을만큼 상세하게 코드 주석이나 관련 note를 상세하게 달아놓고 있다. 특히 공식 홈페이지에서 언급되지 않은 부분이나, 관련 내용을 다룰 때 참고가 필요한 내용에 대해서는 note를 통해서 부연 설명을 추가하고 있기 때문에 도움이 될 듯 하다.

(해당 포스트에서 소개하고 있는 "한권으로 배우는 도커 & 쿠버네티스" 책은 한빛미디어로부터 제공받았음을 알려드립니다.)

업무 환경에 대한 가상화 수요가 늘어나면서 도커와 쿠버네티스에 대해서 벼락치기(?) 공부가 필요해졌습니다.

이 책은 도커와 쿠버네티스에 대해서 쉽고 자세하게 설명되어 있습니다. 또, 환경구성과 개발까지 독자가 직접 해볼 수 있도록 실습도 자세하게 캡처와 함께 설명해놓아서 직접 따라하기에도 좋았습니다.

 

 

 

 

이 책에서는 운영체제의 기본 개념을 개략적으로 설명하면서 가상화 이미지, 가상화 컨테이너의 도커 작동원리와 구조를 설명합니다. 그리고 도커 이미지를 컨테이너 형태로 배포하고 django와 Flask 웹서비스를 개발하는 데 도커 환경을 이용하는 실습까지 진행합니다. 쿠버네티스도 마찬가지로 작동원리와 구조를 설명하면서 웹서비스 개발에 쿠버네티스 환경을 이용하는 실습을 진행합니다. 도커와 쿠버네티스 운영에 필요한 네트워크와 스토리지, 잡 관련한 내용들도 다루고 있고,  쿠버네티스를 모니터링하는 방법도 배울 수 있습니다.

 

도커와 쿠버네티스는 SW개발과 배포 환경을 효율적으로 바꿔놓은 기술입니다. 

주변 개발자 분 중에 이직을 하신 분은 이런 얘기도 합니다. 로컬 환경에서 개발하다가 이직한 곳은 도커와 쿠버네티스 환경에서 어플리케이션을 개발해야 해서 갑자기 명령어나 환경 세팅이 낯설었다고 합니다. 

 

약간의 아쉬운 점은 책의 분량 등 다양한 이유로 실제 현업에서 활용하고 있는 더 많은 개발환경 구축 관련 사항을 다루지는 않았다는 점입니다. 

 

하지만 도커와 쿠버네티스 처음 입문하는 개발자에게는 추천하고 싶은 책입니다.

 

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

최근 거의 모든 애플리케이션은 클라우드와 PaaS 환경에서 서비스되고 있으며, 기존 서비스도 클라우드로 넘어가는 추세이다.

그 중심에는 쿠버네티스가 있으며, 각 애플리케이션은 도커 이미지로 배포하여, 쿠버네티스로 관리된다. AWS, GCP, Azure, NHN, KT, 네이버 클라우드와 같은 CSP 업체도 이름은 다르지만 구조는 다르지 않을 것이다.

개인적으로 도커는 사용하고 있었지만, 쿠버네티스의 벽과 수많은 오픈소스 때문에 쉽게 접근하지 못했는데, 이 책으로 재미있게 실습하면서 개념을 잡을 수 있게 되었다.

 

책에서 다루는 개념과 오픈 소스가 상당한도 불구하고, 실습하면서 쿠버네티스와 그리고 관련된 오픈소스까지 재미있게 읽을 수 있었다.

개념으로는 도커와 쿠버네티스를 포함하여 파이썬 가상환경 구축, YAML 파일, 도커 컴포즈, 인그레스, 로드 밸런싱, CI/CD등을 다시 정리할 수 있었으며, 오픈 소스로는 버추얼 박스, Putty, Pyenv, Nginx, PostgreSQL, django, Flask, 헬름, metalLB, 깃허브 액션, ArgoCD, 매트릭 서버, 프로메테우스, 그라파나, 로키등을 모두 설치할 수 있게 되었다.

 

로컬 PC에서 우분투 가상환경을 설치하고 샘플 애플리케이션을 배포하면서 관련 개념을 익히는 일이 엄두도 나지 않았는데, 이 책으로 많은 궁금증이 해결되었으며, 크게 어렵지 않다는 사실도 확인한 소중한 기회였다.

 

이 책을 읽는 대상은 클라우드와 관련된 업무를 하거나, 클라우드에 관심이 있으신 분, CSP 도입을 계획하신 분 모두에게 추천해 드린다. 오픈 소스 설치를 두려워하시는 분에게도 추천해 드린다.

 

개발자는 꼭 읽어보기를 추천한다.

도커와 쿠버네티스를 사용하는 개발자와 그렇지 않은 개발자의 생산성 차이뿐만 아니라, 감히 얘기하지만, 앞으로 배포환경은 모두 도커와 쿠버네티스가 담당할 것이다. 그만큼 매력적인 기술이고, 재미있는 기술이다.

 

이 책은 2개 PART, 전체 12개 장으로 구성되어 있다. 먼저 실습 환경 구축하기로 시작하여, PART 01 도커는 6개의 장으로 구성되며, 도커의 개념과 설치, 실습으로 도커 사용법을 익히고, PART 02는 6개의 장으로 구성되며, 쿠버네티스의 개념과 구조, 실습을 통한 활용법을 알 수 있다.

 

세부 내용을 살펴보면,

CHAPTER 1 '실습 환경 구축하기'에서는 버추얼박스에 우분투를 설치하고 Putty를 사용하여 접속하는 방법, vim, 리눅스 기초명령어를 배울 수 있다.

이후, PART 1 도커의

CHAPTER 2 '도커의 개념'은 도커와 컨테이너 및 운영체제의 기초 지식을 설명하고,

CHAPTER 3 '도커 설치'에서는 우분투에서 도커 설치법을 배운다.

CHAPTER 4 '도커 기초'는 도커의 작동 방식과 구성요소, 도커 명령어, 네트워크 구조와 스토리지 개념을 설명하고

CHAPTER 5 '도커를 활용한 django 실행'에서는 도커로 django를 실행하는 방법과 과정에 필요한 pyenv를 활용한 파이썬 설치, YAML, Nginx, PostgreSQL, 도커 컴포즈를 함께 배우며

CHAPTER 6'도커를 활용한 Flask 실행'은 도커로 Flask를 실행하는 방법을 배운다.

PART 02 쿠버네티스의

CHAPTER 7 '쿠버네티스의 기본 구조'에서는 쿠버네티스의 개념과 구조 설명하고,

CHAPTER 8 '쿠버네티스 실습 환경 구축'은 앞으로 배우게 될 내용에 필요한 실습 환경을 구축하고, 쿠버네티스의 기본 설정을 진행한다.

CHAPTER 9 '쿠버네티스의 기초'에서는 파드 실행 방법과 디플로이먼트, 서비스, 스토리지, 인그레스, 잡과 크론잡의 개념과 사용법과 헬름의 사용법을 알려주고,

CHAPTER 10 '쿠버네티스를 활용한 웹 서비스 배포'는 인그레스를 활용하여 django 실행, Flask 실행 방법을 설명한다.

CHAPTER 11 '깃허브 액션과 ArgoCD를 활용한 CI/CD'에서는 CI/CD 개념과, 로드밸런싱, 깃허브, 깃 설치뿐만 아니라 깃허브 액션을 통한 도커 컨테이너 실행, ArgoCD를 통한 배포와 관리를 실습하고,

마지막, CHAPTER 12 '쿠버네티스 모니터링'은 오토스케일링을 위한 매트릭 서버 설치, 프로메테우스, 그라파나, 로키를 활용한 쿠버네티스 모니터링법을 실습한다.

 

책에서 다루는 내용은 현업에서 바로 적용해도 될 만큼 다루는 주제나 내용에 깊이가 있으며, 풍부한 그림과 캡처 화면, 표, 실습 예제 및 설명은 매우 직관적이며, 쉽게 설명되어 있다.

특히 과정을 단계별로 그림으로 자세히 알려주기 때문에, 이해하는데 어렵지 않았다.

책의 상당 부분이 명령어와 실행 결과, 설정 방법으로 구성되어 있는데, 오류가 거의 없을 정도로 완성도도 높다. 또한, 코드를 Github으로 제공한다. 하지만 꼭 그대로 손으로 작성하기를 추천해 드린다.​

 

책에서 인상 깊은 것은 그림과 예제의 개수가 매우 많은데도 불구하고, 책의 디자인과 그림, 예제 설명의 퀼리티는 여태까지 본 기술서적 중에서 압도적으로 우수하다. 앞으로 매뉴얼을 작성할 때 매우 도움이 될 것 같다.

 

아쉬운 부분은 이 책이 나온 이후로도 링크나 적용 방법이 바뀐다는 것인데, 책의 내용이 잘못된 것은 아니고, 변경된 내용을 가만하고 구글링을 통하면 쉽게 적응할 수 있다.

 

책을 읽고 난 이후 공감이 된 저자의 말을 인용하면서 마무리한다. 여러분도 도커와 쿠버네티스의 매력에 푹 빠져보세요~





무엇보다 도커와 쿠버네티스는 재미있습니다. 단순히 이 기술을 사용하기는 비교적 쉬울 수 있지만 원리를 정확히 이해하기 위해서는 더 깊은 지식이 필요한데 기본적으로 운영체제와 커널에 대해 알아야 합니다.

<중략>

도커와 쿠버네티스는 전통적인 소프트웨어 개발 및 배포 환경을 혁신적으로 변화시켰습니다.

저자의 말, p4

 

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

 

《한 권으로 배우는 도커 & 쿠버네티스》(장철원 지음, 한빛미디어, 2024)은 클라우드 컴퓨팅과 같은 현대적인 인프라 환경에서 필수적인 도커(Docker)와 쿠버네티스(Kubernetes)를 배울 수 있는 책입니다. 도커와 쿠버네티스의 기본 개념부터 배포, CI/CD, 모니터링까지 책 한 권에 담았습니다.

 

 

책은 크게 두 부분(도커와 쿠버네티스)으로 나뉘어 구성되어 있습니다. 
첫 번째 부분에서는 도커의 개념, 설치 방법, 기본 명령어 사용법, 컨테이너 기술의 원리, 배포 방법을 자세하게 다루고 있습니다. 두 번째 부분에서는 쿠버네티스의 기본 구조, 실습 환경 구축, 기초 명령어, 배포, CI/CD, 모니터링에 대한 내용을 다루고 있습니다.

책은 실습을 위한 환경 구성을 처음 해보는 독자의 눈높이에 맞춰 친절하게 설명하고 있습니다. 실습을 통해 이론적 지식을 실무에 적용하고, 도커와 쿠버네티스를 활용한 배포 방법을 알려줍니다. 또한, 도커와 쿠버네티스의 다양한 기능과 구조에 대해서도 자세히 설명하고 있습니다.

 

 

 

《한 권으로 배우는 도커 & 쿠버네티스》을 읽으면서 느낀 장점입니다.

✅ 단계별로 학습​할 수 있도록 구성되어 있어 읽고, 실습하기 편했습니다.
✅ 다양한 그림을 활용하여 복잡한 개념을 이해하기 쉽게 설명합니다.
✅ 서비스를 도커와 쿠버네티스에 배포하면서, 실무 역량을 키울 수 있습니다. 
✅ CI/CD와 모니터링까지 배울 수 있습니다.

 

 

 

도커와 쿠버네티스는 현대 IT 인프라의 필수 요소로 자리 잡았으며, 애플리케이션 개발과 운영을 편리하게 하는 중요한 역할을 하고 있습니다. 이 두 가지 기술을 단계별로 습득할 수 있어 개념에 익숙하지 않은 초심자와 실습이 어려운 개발자 모두에게 유용한 책이었습니다.

무엇보다도 처음 배우는 사람의 눈높이에 맞춘 도커와 쿠버네티스의 기본 개념과 구조와 대한 이해, 실용적인 예제와 실습이 돋보였습니다. 각 장마다 명확한 학습 목표를 제시하고, 독자가 쉽게 따라 할 수 있는 실습을 통해 복잡한 개념을 이해하기 쉽게 만들었습니다.

특히, 도커와 쿠버네티스를 활용하여 장고(django)와 플라스크(flask)를 각각 배포하는 부분이 인상적이었습니다. 배포 과정에 대한 설명이 잘되어 있어 따라만 해도 많은 부분을 배울 수 있어 유용했습니다.

《한 권으로 배우는 도커 & 쿠버네티스》는 도커와 쿠버네티스를 배우고자 하는 모든 사람들에게 도움을 줄 수 있는 책입니다. 단순한 기술 소개를 넘어, 실습을 통해 실제 환경에서의 적용까지 고려한 이 책을 추천하고 싶습니다.

 


"해당 서평은 한빛미디어로부터 책을 제공받아 작성했습니다."
 

한 권으로 배우는 도커 & 쿠버네티스"는 클라우드 기반 인프라 환경에서 필수적인 도커와 쿠버네티스를 체계적으로 학습할 수 있는 가이드로, 초보자부터 실무자까지 아우르며 컨테이너와 컨테이너 오케스트레이션 기술을 단계별로 이해할 수 있도록 돕는 책입니다. 이 책은 장철원 저자가 다년간의 실무 경험과 학술적 배경을 바탕으로 작성하여, 독자들이 도커와 쿠버네티스의 기초부터 고급 활용까지 폭넓게 이해할 수 있도록 구성했습니다.

상세 내용 및 장점

기본 개념부터 실무까지 포괄적 이해:

도커와 쿠버네티스의 기본 개념을 이해하는 것에서 시작하여, 실무 환경에서의 구축, 관리 및 사용 방법까지 포괄적으로 다룹니다. 이는 독자들이 기초 개념을 탄탄히 다진 후, 실무에서 바로 적용할 수 있는 기술을 익히는 데 큰 도움을 줍니다.

실습 중심의 학습:

각 장에 실습 예제가 포함되어 있어, 이론을 실제 환경에 적용해볼 수 있습니다. 예를 들어, 우분투 이미지 다운로드, 버추얼박스 설치, 가상머신 생성 등의 실습을 통해 실습 환경을 직접 구축할 수 있습니다. 이를 통해 독자들은 도커와 쿠버네티스를 손쉽게 배우고, 실무에서 활용할 수 있는 경험을 쌓을 수 있습니다.

구체적이고 단계적인 설명:

도커 설치, 기본 명령어 사용법, 이미지 생성 및 관리, 네트워크 환경 설정과 같은 기초 내용을 체계적으로 설명합니다. 이러한 단계적인 설명을 통해 독자들은 도커와 쿠버네티스의 원리를 깊이 있게 이해하고, 다양한 상황에서 적절히 대처할 수 있는 능력을 기를 수 있습니다.

쿠버네티스 클러스터 구축:

쿠버네티스의 기본 개념 및 클러스터 구축 방법을 상세히 다루어, 복잡한 애플리케이션을 효율적으로 관리하고 확장할 수 있는 능력을 배양합니다. 이를 통해 독자들은 쿠버네티스를 활용한 실무 환경에서의 애플리케이션 배포 및 관리 방법을 익히게 됩니다.

고급 기능과 최적화:

도커와 쿠버네티스의 고급 기능 및 최적화 방법을 설명하여, 실무 환경에서 성능을 극대화하고 문제를 해결하는 능력을 키울 수 있습니다. 이는 특히 대규모 애플리케이션을 관리하고자 하는 실무자들에게 매우 유용합니다.

목차 상세 설명

실습 환경 구축하기:

우분투 이미지 다운로드, 버추얼박스 설치, 가상머신 생성 등 실습에 필요한 환경을 구축하는 방법을 다룹니다. 이는 도커와 쿠버네티스를 학습하기 위한 기초 단계로, 실습 환경을 제대로 구축하는 것이 중요합니다.

도커의 개념 및 설치:

운영체제, 네임스페이스 등 도커 학습에 필요한 기초 지식을 익히고, 도커의 기본 개념이 되는 컨테이너에 대해 학습합니다. 또한, 도커를 설치하고 기본 명령어를 사용하는 방법을 상세히 설명합니다.

도커를 활용한 애플리케이션 배포:

도커 이미지를 생성하고 관리하는 방법, 도커 저장소 활용 방법 등을 통해 애플리케이션을 도커를 사용하여 배포하는 방법을 설명합니다. 이는 도커의 실무 활용에 중요한 내용을 다룹니다.

쿠버네티스의 기본 구조 및 클러스터 구축:

쿠버네티스의 역할 및 구성 요소를 익히고, 쿠버네티스 클러스터를 구축하는 방법을 상세히 설명합니다. 이를 통해 복잡한 애플리케이션을 효율적으로 관리하고 확장할 수 있는 능력을 배양합니다.

쿠버네티스를 활용한 웹 서비스 배포 및 CI/CD:

쿠버네티스를 활용하여 웹 서비스를 배포하는 방법, 깃허브 액션과 ArgoCD를 활용한 CI/CD(지속적 통합 및 지속적 배포) 방법을 다룹니다. 이는 최신 DevOps(개발 운영) 방법론을 학습하는 데 도움이 됩니다.

쿠버네티스 모니터링:

매트릭 서버, 프로메테우스, 그라파나, 로키 등을 활용하여 쿠버네티스 클러스터를 모니터링하는 방법을 학습합니다. 이를 통해 시스템의 상태를 실시간으로 파악하고, 문제를 신속히 해결할 수 있는 능력을 키울 수 있습니다.

추천 대상

초보자: 도커와 쿠버네티스에 대한 기초 지식을 쌓고자 하는 초보자들에게 적합합니다. 단계별로 설명되어 있어 쉽게 따라갈 수 있으며, 실습을 통해 개념을 실제로 적용해볼 수 있습니다.

실무자: 실무에서 도커와 쿠버네티스를 사용하여 애플리케이션을 배포하고 관리하는 방법을 배우고자 하는 실무자들에게 유용합니다. 다양한 실무 예제를 통해 실질적인 기술을 습득할 수 있습니다.

개발자: 애플리케이션 개발과 배포 프로세스를 효율적으로 관리하고자 하는 개발자들에게 추천됩니다. 도커와 쿠버네티스를 활용하여 개발과 운영을 통합하는 방법을 학습할 수 있습니다.

결론

"한 권으로 배우는 도커 & 쿠버네티스"는 도커와 쿠버네티스의 기본 개념부터 실무 활용까지 아우르는 종합적인 가이드입니다. 체계적이고 실습 중심의 접근 방식을 통해 독자들이 도커와 쿠버네티스를 효율적으로 학습하고 활용할 수 있도록 돕습니다. 초보자부터 실무자까지 모두에게 유용한 참고서가 될 것입니다. 이 책을 통해 독자들은 클라우드 기반의 현대 IT 환경에서 필수적인 도커와 쿠버네티스 기술을 숙달할 수 있을 것입니다.

이 책은 도커와 쿠버네티스 같은 현대적 개발 도구를 배우고자 하는 개발자에게 매우 유용한 가이드가 될 수 있다.

초보자도 쉽게 따라할 수 있도록 상세한 단계별 설명과 실습 예제를 제공하며,

실무에서 바로 적용할 수 있는 유용한 팁과 노하우가 가득하다.

그리고 각 장이 유기적으로 연결되어 있어, 처음부터 끝까지 따라가면 자연스럽게 실력을 향상시킬 수 있을 것이다.

현대적 개발 환경을 구축하고자 하는 모든 사람들에게 강력히 추천하는 도서다!

 

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

0. 들어가기에 앞서

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

제목 : 한 권으로 배우는 도커 & 쿠버네티스 저자 : 장철원 출판사 : 한빛미디어 초판 발행 : 2024년 4월 29일 페이지 : 556


1. TL;DR

  • 도커의 기본 내용과 동작 원리, 그리고 도커를 활용하여 이미지를 만드는 방법에 대해 배울 수 있습니다.
  • 도커를 활용하여 Django, Flask등을 nginx와 함께 묶어 도커라이징 하는 실습을 진행할 수 있습니다.
  • 쿠버네티스에 대한 기본 구조 및 실습 환경 구축, 기초 내용등을 학습할 수 있습니다.
  • 위에서 배운 도커와 쿠버네티스의 기초 내용을 기반으로 웹 서비스 배포과정을 학습할 수 있습니다.
  • github action과 argoCD를 활용한 CI/CD를 구축할 수 있습니다.
  • 매트릭 서버, 프로메테우스, 그라파나 등 도구를 사용하여 쿠버네티스 클러스터를 모니터링 할 수 있는 도구를 연동할 수 있습니다.

2. 이 책을 선택한 이유

프론트엔드 개발자 이지만, 이제는 프론트 서버의 배포 및 운영에도 힘써야 하는 것을 느끼고 있습니다. 현재 회사의 경우 자체 클라우드 서비스가 잘 구축되어 직접 클라우드 서비스를 컨트롤 할 일은 없습니다. 다만, 프론트엔드 배포 및 캐싱 및 최적화를 할때 프론트엔드 관련 도구 뿐만 아니라 인프라에 대한 이해도 필요하다고 느끼고 있었습니다. 그래서 이번 도서 서평에서 도커 및 쿠버네티스에 대한 학습을 해보고자 이 책을 선택하게 되었습니다.


3. 리뷰

이 책의 목차는

1부: 도커

2부: 쿠버네티스

로 나뉩니다.

도커를 학습할 때, 도커의 개념과 설치, 기초, 실습을 통해 도커에 대해 익숙해 질 수 있습니다. 책에서 실습하는 환경의 경우 윈도우를 기반으로 진행하며 맥에서도 충분히 학습할 때 문제가 없을 정도로 상세하게 기술되어 있습니다.

그리고 이책의 경우 웹서비스를 django, flask로 간단하게 만들어서 도커라이징 하는 것을 실습하는데, 독자가 원하는 프레임워크로 테스트 해보는 것이 더 큰 도움이 된다고 생각합니다.

저는 프론트 개발자고 파이썬과 자바와는 친하지 않은지라, expressjsnestjs 를 간단하게 세팅하여 도커라이징 하는 것을 테스트 해 보았습니다. 실습의 경우 반복적인 학습과 더불어, 도커의 다양한 명령어들을 매 실습마다 알려주고 있어 반복학습 하는데 개인적으로 큰 도움이 되었습니다.

쿠버네티스의 경우 도커보다 더 많은 내용들이 들어갑니다. 아무래도 수많은 도커 컨테이너를 관리해야 하다 보니 복잡한 구성과 용어들이 등장하게 됩니다. 이 책에서는 쿠버네티스의 유래 및 역사에 대해 설명하기 시작하여 쿠버네티스를 직접 사용해보지 않은 독자라도 충분히 학습하며 실습할 수 있게 작성되어 있습니다.

도커에서 실습했던 것 처럼, 개념에 대한 설명과 더불어 실행해 볼 수 있는 스크립트와 이에대한 반복, 테스트를 통해 도커와 쿠버네티스에 대해 익숙해지기에 좋은, 초보자에게 정말 좋은 책이라 생각합니다.

이번에 리뷰할 서적은 한빛미디어에서 출판된 "한 권으로 배우는 도커 & 쿠버네티스" 입니다.
도커 및 쿠버네티스의 원리를 이해하고, 기본 개념을 실무 환경에서에서 구축 및 관리 사용방법을 단계별로 익힐 수 있도록 
구성된 최신의 도서 입니다.
아래는 각 파트의 주요 내용을 간략하게 정리한 것입니다.

Chapter 1: 실습 환경 구축하기
책의 시작은 도커와 쿠버네티스 실습에 필요한 환경을 직접 구축하는 것입니다. 
우분투 이미지를 다운받고 VirtualBox에서 새 가상머신을 만듭니다. 
이 가상머신에 우분투를 설치하고 네트워크를 NAT 모드로 설정하여 인터넷 연결이 가능하도록 합니다. 
이후 PuTTY 프로그램으로 가상 머신에 원격 접속하는 방법도 배웁니다. 
마지막으로 vim 에디터에서 리눅스 기초 명령어를 연습해볼 수 있습니다.

Chapter 2-3: 도커 개념 및 설치
2장에서는 도커가 무엇이고, 왜 필요한지에 대한 기본 개념을 다룹니다. 
도커의 등장 배경과 역사, 컨테이너와 이미지의 정의, 도커 아키텍처, 가상머신 vs 컨테이너 차이, 도커의 장점 등을 상세히 설명합니다. 
3장에서는 직접 도커를 설치해보고 Hello World 컨테이너를 실행해봅니다. 
설치 전 리눅스 커널과 패키지들을 미리 설정하고, 공식 문서를 통해 안전한 방법으로 도커를 설치합니다.

Chapter 4: 도커 기초
이번 챕터에서는 도커 사용을 위한 기초 명령어와 핵심 개념들을 배웁니다. 
이미지 생성, 컨테이너 실행/중지/삭제, 볼륨 마운트, 포트 포워딩 등 자주 사용되는 기본 명령어를 익힙니다. 
또한 도커 컨테이너 네트워크의 종류와 작동 원리, 스토리지 드라이버와 데이터 영구화 방법 등 운영 관점에서 중요한 내용도 깊이 있게 다룹니다.

Chapter 5-6: Django, Flask 도커 실행
5장에서는 실전 예제로 Django 웹 애플리케이션을 도커 컨테이너로 실행해봅니다. 
YAML 문법을 익히고 Dockerfile을 작성하는 법을 배운 후, Django 프로젝트와 Nginx 웹서버, PostgreSQL DB를 모두 도커로 실행해볼 수 있습니다. 
6장에서는 Flask 웹앱을 도커로 실행해보고, 여기에도 Nginx를 연동하는 실습을 진행합니다. 
두 장에서 Docker Compose를 사용해 여러 컨테이너를 한번에 관리하는 방법도 다룹니다.

Chapter 7: 쿠버네티스 기본 구조
본격적으로 쿠버네티스를 배우기 전, 7장에서는 쿠버네티스가 무엇이고 어떻게 구성되어 있는지 기본 구조를 익힙니다. 
쿠버네티스의 개념과 필요성, 마스터와 노드 역할, 파드와 레플리카셋 등 핵심 용어를 정의합니다. 
쿠버네티스 API 서버, 컨트롤러, scheduler 등 클러스터 전체 아키텍처를 이해할 수 있습니다.

Chapter 8-9: 쿠버네티스 실습 및 기초
8장에서는 실제로 마스터 노드와 워커 노드를 직접 설치하며 쿠버네티스 클러스터를 구축해봅니다. 
9장에서는 구축한 클러스터에서 디플로이먼트, 서비스, 볼륨, 인그레스 등의 주요 리소스를 생성하고 실습합니다. 
간단한 웹앱을 배포하고 서비스로 노출하는 기본 작업을 하나씩 실습해볼 수 있습니다.

Chapter 10: 쿠버네티스 웹앱 배포 
10장에서는 앞서 도커로 실행했던 Django, Flask 웹앱을 이번에는 쿠버네티스 클러스터에 배포해봅니다. 
인그레스를 설정해 웹서비스를 외부에 노출시키고, 실제로 접속하여 정상 작동하는지 확인합니다. 
두 개 웹앱을 함께 배포하고 로드밸런싱까지 해보는 실습을 진행합니다.  

Chapter 11: CI/CD 배포 파이프라인
11장에서는 지속적인 통합(CI)과 배포(CD)에 대해 배웁니다. 
GitHub Actions을 이용해 소스코드 변경 시 자동 빌드/테스트를 수행하는 CI 파이프라인을 구축합니다. 
그리고 ArgoCD를 사용해 새 버전이 빌드되면 쿠버네티스에 자동 배포되도록 CD를 구현합니다.

Chapter 12: 쿠버네티스 모니터링  
마지막으로 12장에서는 운영 환경에서 필수적인 쿠버네티스 클러스터 모니터링 기법을 다룹니다. 
메트릭 서버를 통해 노드/파드 리소스 사용량을 확인하고, 프로메테우스로 다양한 메트릭 데이터를 수집하고 그라파나로 시각화하는 방법을 익힙니다. 
또한 로키로 클러스터 전체 로그를 수집하고 관리하는 법도 실습해봅니다.

이 책은 도커와 쿠버네티스 기초 이론에서 시작해 실제 웹앱 배포, CI/CD 파이프라인 구축, 모니터링까지 단계적으로 다루고 있습니다. 
친절한 설명과 다양한 실습 예제가 가미되어 있어 개념 이해와 실전 활용 능력을 모두 기를 수 있습니다.

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

 

 ‘한 권으로 배우는 도커&쿠버네티스’는 제목에서 분명히 드러나듯 도커와 쿠버네티스를 다루고 있는 책이다. 클라우드 혹은 마이크로서비스와 관련한 필수적인 개념들을 한 번에 그리고 쉽게 배울 수 있다는 점이 책의 가장 큰 장점이다. 보통 클라우드와 관련된 학습은 도커 개념에서 부터 출발되므로 클라우드를 공부하기에 앞서 이 책을 읽어보는 것이 좋을 것 같다. 

 

 

대상 독자

  • 도커와 쿠버네티스를 처음 공부하는 독자
  • 저자는 크래프톤과 NHN에서 머신러닝을 활용한 데이터 분석과 IT 보안 등의 업무를 수행하고, 다수의 기업에서 IT 강의를 진행해왔다. 실제 도커와 쿠버네티스를 공부하는 수강생들은 학습과정에서 어려움을 느끼고 포기하곤 했다고 한다. 이 점에 착안하여 책에서는 도커, 쿠버네티스에 대한 개념을 확실히 이해시키고자 한다. 기본 개념과 역할을 이해할 수 있어야 유의미한 실습을 수행할 수 있다는 것을 전제로 한다.

책의 구성

  • 책은 1부와 2부로 나뉜다. 1부에서는 도커의 개념부터 기초 명령어를 학습하고 django, Flask 등의 실습을 수행한다. 2부에서는 쿠버네티스의 기본 구조와 기초 내용을 학습한 후 django, Flask를 활용하여 웹 서비스를 배포한다. 깃허브 액션과 ArgoCD를 활용하여 CI/CD를 진행하고 쿠버네티스 클러스터 모니터링 방법을 학습하는 것으로 마무리한다.

예제 소스 및 첨부 파일

  • https://github.com/losskatsu/DockerKubernetes

 

 

 초심자가 어려움을 겪는 도커의 쿠버네티스의 개념을 살펴보고자 한다. 책에서는 운영체제, 스레드 등 더욱 상세한 설명을 더하지만 이 글에서는 핵심 개념을 위주로 발췌하여 작성하였다.

 도커는 컨테이너를 통해 서비스를 배포할 수 있는 PaaS로서, 다양한 개발환경에서 편리하게 활용할 수 있다는 이점이 있다. 가령, 다른 서버 환경에서 구축된 두개의 서비스가 있다고 하자. 이 서비스들은 동작할 수 있는 환경이 달라 하나의 서버에서 작동시킬 수 없지만 도커 위에서는 한 번에 동작시킬 수 있다.  컨테이너 단위로 애플리케이션을 실행하여 한 번에 작동 시키면서도 독립성이 보장된다는 것 또한 도커의 장점 중 하나다.

 컨테이너는 코드, 라이브러리, 환경 설정 파일을 격리하여 실행가능한 패키지로 만든 것을 의미한다. 격리된 환경에서 서로 충돌하지 않으면서도 통신을 주고 받을 수 있다. 마이크로서비스 아키텍처의 근간이라 할 수 있는 개념이다.

저자는 도커를 이해하기 위해서는 가상화의 개념을 선행해야 한다고 강조한다. 가상화는 리소스를 추상화하는 개념으로 여러 개의 가상머신을 생성하여 단일 컴퓨팅 자원을 여러 개의 논리적인 자원으로 동작시킬 수 있다.

 도커의 구성 요소로는 도커 클라이언트와 도커 데몬, containerd, runc, containerd-shim이 있다. 도커를 실행하는 과정에서의 구성요소의 정의와 핵심 역할을 설명한다. 도커 클라이언트는 터미널로서 build, pull, run 등의 명령어를 내리거나 도커 데몬과 통신한다. 도커 데몬(dockerd)은 도커 API 요청을 수신하고 도커 이미지, 컨테이너와 같은 도커 관련 객체를 관리한다. containerd는 컨테이너의 전 생명주기를 관리한다. runc는 컨테이너 실행만을 담당한다. containerd-shim은 containerd와 runc 사이에서 작동하며 컨테이너 실행을 조정한다. 

 

 

 

 도커는 도커 클라이언트, 도커 호스트, 도커 레지스트리로 구성된다. CLI로 컨테이너를 관리하는 것부터 시작하여 배포까지 수행할 수 있다. 위와 같은 구조에서 조금 더 깊숙이 들어간다면 도커 데몬과 도커 이미지, 도커 컨테이너 개념 또한 숙지해야 한다. 

 

 개념을 익힌 뒤엔 실제 명령어를 입력해본다. 가장 먼저 입력하는 것은 ‘docker run hello-world’이다. 이 간단한 명령어에서도 20여개의 결과가 도출될 수 있다. 우리가 파악해야할 정보를 책에서는 한줄 한줄 설명해주기 때문에 이해하는데 큰 무리가 없었다. 심화 실습에서도 같은 방식으로 구조와 작동 원리, 상세한 설명이 함께한다.

 

 

 

 1장의 실습을 마친 뒤엔 쿠버네티스를 학습한다. 쿠버네티스 또한 개념과 구조를 먼저 이해해야 한다. 쿠버네티스는 컨테이너들을 관리하는 시스템이다. 여러 개의 컨테이너를 쉽게 생성하고 관리하는 것이 쿠버네티스의 가장 큰 장점이다. 쿠버네티스는 도커에 비해 복잡한 구조와 개념을 가지고 있다. 쿠버네티스 클러스터 내의 컨트롤 플레인, 노드, 워크로드, 네트워크, 스토리지의 역할을 파악해야 구조를 가늠할 수 있을 것이다.

 

 책의 후반부에서는 깃허브 액션과 ArgoCD를 활용하여 소스코드를 지속적으로 통합/배포하는 과정을 다룬다. 깃허브 액션은 소프트웨어 워크플로우 자동화를 쉽게 만들어주는 CI/CD도구이다. 깃허브 액션을 통해 도커 이미지를 빌드하고 컨테이너 실행 테스트를 쉽게 수행할 수 있다. 쿠버네티스의 경우 ArgoCD를 활용한다. 깃허브 액션에서는 쿠버네티스를 통해 배포하는 것이 어렵기 때문이다. ArgoCD를 활용하여 쿠버네티스 클러스터 애플리케이션을 지속적으로 관리하고 배포한다.

 

 

책의 장점

  • 저자가 개념에 대한 이해를 강조했던 만큼 개념을 확실하게 이해할 수 있게끔 한다. 상위개념과 하위개념, 관련된 용어를 선행함으로서 개념 간의 관계를 구상할 수 있도록 돕는다.
  • 개념을 이해한 후엔 구체적으로 어떻게 구성되고 동작하는지를 파악해야 한다. 이는 책에 나와있는 구조도 혹은 표로 확실하게 구성과 관계를 잡아갈 수 있었다. 구조도가 꽤 빈번하게 등장하는데 동작을 이해하는데 큰 도움이 되었다.

 

 

 

 

 

 

 

 

 

 

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

 

 

도커와 쿠버네티스는 동영상 강의를 통해서도 많이 접했던 분야다. 초기에는 SE 의 영역이라는 생각에 점점 분화되는 프로그래머의 영역에서 관심을 덜 받은 분야이기에 멀어졌다. 그러나 근래에는 인프라 또는 데브옵스라는 이름으로 당당히 한 축을 담당하고 있고, 소프트웨어의 생명 주기에서도 큰 비중을 차지한다.

책에서는 도커의 개념부터 쿠버네티스를 한 권으로 설명하고 있긴 하지만, 필연적으로 실습에 많은 시간을 반드시 할당하여 리눅스에서부터 가상 컨테이너, 그 컨테이너들의 관리와 활용 / 특히 소프트웨어 배포에 필요한 환경을 갖추기 위해 꼭 알아야 하는 네트워크 관련된 지식까지 익혀야 한다.

결코 작은 분야가 아니다. 요즘 책과 달리 책 전반에 컬러를 사용하고 도표와 그림을 최대한 활용하여 이해를 돕는데, 한 번 출간을 경험해 본 나로서는 저자가 얼마나 많은 시간과 노력을 이 책에 쏟아 부었는지를 감히 추측하여 단언할 수 없을 지경이다.

조금 아쉬운 부분은 아무래도 처음 입문하거나 이해를 목적으로 하는 내용이다보니, 리눅스나 터미널 환경에 대한 접근 등에서 putty, 버추얼박스를 통해 실습을 진행하다보니, 클라우드 환경에서 쉽고 빠르게 사용할 수 있는 부분을 추가로 경험하지 못하고 마무리되는 것이 아쉽다. 책에서 충분히 이론과 프랙티스 환경을 익혔다면, 과감히 중고급 수준에 빠르게 도달하기 위해 클라우드 환경에 도전해보기 바란다. 사실 비용 문제가 제일 크다. ( 운전 연습 하는데, 고속도로를 빨리 달려보는 경험이 부재함을 아쉬워하는 격이다. )

중급 이상인 개발자도 도커와 쿠버네티스 환경과 구동에 대한 잘 정리된 실무 노트라 여겨도 좋을 정도로 압축되어 잘 정리되어 있다. 본인도 기존의 도커와 쿠버 관련 책이 많지만, 시간이 부족한 이들에게는 이 책을 권하고 싶다.

여러 컨테이너를 통해 어플리케이션의 구동을 분산해보고 발생하는 문제와 다양한 해결방안들을 추가로 학습하는데는 이만한 도구가 없다. 인프라 엔지니어에게는 이 보다 더 훌륭하고 딥한 책이 필요하겠으나, 개발자라면 꼭 한 번은 이 책에서 제시하는 환경과 기법들을 경험하고 익힘으로서 어플리케이션 개발 능력에 더해  인프라 관리 능력까지 겸할 수 있는 기회가 되기 바란다.

 

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

파이썬 Django 와 Flask 를 활용하여 Docker 이미지 생성 및 쿠버네티스 배포 과정을 상세하게 다루고 있습니다.

다른책과 비교해서 이 책의 가장 큰 장점은 3가지 입니다.
1. 필요한 개념들을 칼라로 된 이미지와 함께 앞부분에서 상세히 설명한 뒤
2. 예제 및 명령어 실습을 모아 둠으로써 집중적으로 실습 및 확인이 가능하고
3. 칼라 이미지로 가상서비스 연결 구조를 알기 쉽게 도와주고 있습니다.

특히 전 페이지가 모두 칼라로 구성되어 있어서, 여러개의 가상 서비스간의 관계 및 내용을 한눈에 파악하기에 적합하게 되어 있습니다.

※ 본 리뷰는 IT 현업개발자가, 한빛미디어 책을 제공받아 작성한 서평입니다.

 

- 소프트웨어 개발은 단순 코드 작성으로 끝나지 않는다. 다양한 사용자들을 위해 배포해야 할 서버는 다양한데 특정 서버에서만 문제를 일으킨다면 그 문제를 해결하기 위해 시간과 노력을 들여야 한다. 우리는 어디에서나 문제없이 잘 돌아가게끔 '잘 돌아가는 환경'까지 포함하여 소프트웨어를 포장하고 싶어졌다. 그렇게 나온 것이 도커와 쿠베너티스.

- 도커를 활용하면 컨테이너 기반 가상화 기술로 애플리케이션을 효율적으로 패키징하고 실행할 수 있다. 쿠버네티스는 컨테이너 관리를 자동화함으로 대규모 애플리케이션 배포 및 확장을 쉽게 할 수 있다.

- 책 1장에서는 우분투 비롯하여 실습환경을 구축한다. 우분투는 리눅스 운영체제를 기반한다. 실제 물리 서버를 구축하는 건 비용이 발생하므로 가상 머신을 생성할 수 있는 소프트웨어 '버추얼박스'를 다운로드한다.

- 2장 도입에서 사전 기초 지식을 이렇게 풍부한 그림 자료와 함께 알아갈 수 있다.

-프로그램은 실행 가능한 명령어의 집합이자 하드 디스크 같은 저장 장치에는 저장되어 있지만 메모리에는 올라가지 않은 정적인 상태를 의미한다. < - > 프로세스는 실행 중인 프로그램을 의미하며 동적인 상태의 프로그램이다.

우리에게 친숙한 파워포인트라는 소프트웨어로 예시를 보여주니 더 잘 이해갔다.

-스레드는 프로세스가 할당받은 자원을 이용하는 실행 단위이자 프로세스 내에서 실행되는 여러 흐름의 단위이다. 프로세스는 최소 1개 이상의 스레드를 가지며 이를 메인 스레드라고 한다. 프로세스는 스레드의 정보를 담고 있다. 즉 프로세스는 스레드의 컨테이너에 해당한다. 워드 프로그램의 경우, 하나의 스레드는 화면 상에 글자를 보여주는 일을 하고 다른 스레드는 사용자의 키 입력에 대응하고 다른 스레드는 백그라운드에서 오탈자와 문법을 확인한다.

-sw로서의 도커는 컨테이너라고 부르는 이용 체제 수준의 가상화 방식으로 소프트웨어를 배포하는 PaaS 제품을 의미한다. 오픈소스다.

-컨테이너란 소프트웨어를 배포할 때 필요한 코드, 라이브러리, 환경설정 등을 파일을 한데 모아 격리 시킨 후 실행 가능한 패키지로 만든 것을 의미한다. 이러한 컨테이너 개념은 최소 구성요소로 분할한다는 마이크로 서비스 아키텍처의 기반이 된다.

 

-자주 쓰는 도커 명령어도 책에 수록되어 도움받을 수 있다.

-이렇게 도커의 기초에 대한 내용이 끝나고 5장에서는 도커를 활용한 장고를 실행한다. pyenv로 파이썬에서 가상환경을 구축하고 YAML 실습을 위해 pyyaml 라이브러리를 설치한다. (YAML은 플러터에서 처음 봤는데 도커 컴포즈와 쿠버네티스에서도 사용한다고 한다. 다시 보니 반갑구료)

-파이썬을 처음 해보는 거라고 해도 이 책에서 직접 뭔가를 개발하고 그러는 게 아니라서 걱정할 필요 없다. DBMS는 PostgreSQL 사용함.

-6장에서는 django가 아니라 Flask로 웹서비스를 시행한다. 책 앞머리에 학습 길라잡이에서 공부 방향을 정해준다.

-7장부터 쿠버네티스 파트가 시작된다. 쿠버네티스는 줄여서 K8s라고도 부름

쿠버네티스는 수많은 컨테이너를 관리하는 시스템이다. 당장 실행할 컨테이너가 200개면 docker container run 명령어를 100개 입력해야 한다. 이때 쿠버네티스를 사용하면 여러 개의 컨테이너를 쉽게 생성하고 관리할 수 있다.

-8장은 쿠버네티스 실습 환경 구축에 대해 다룬다. 버추얼 박스로 가상 머신을 추가한다. 책에서는 서버 세 대로 쿠버네티스 클러스터를 구출한 후 실습을 진행한다. 쿠버네티스는 마스터 노드와 워커 노드라는 두 종류의 노트로 구성되어 있다. 마스터 노드는 클라이언트의 API 요청을 받고 워커 노드를 다루며 워커 노드는 실제 컨테이너를 실행하는 역할을 한다. 책에서는 편의상 서버 대신 노드라는 용어를 사용한다.

-9장은 쿠버네티스 패키지 관리 프로그램인 헬름, 10장에서는 앞에 도커 파트에 나온 django와 Flask를 쿠버네티스를 통해 실행한다. 도커 허브에 가입

-10장은 서비스 실행 위주였다면 11장에서는 깃허브 액션으로 CI, ArgoCD로 CD를 실습해 본다. 사전 준비 사항은 metalLB 설치 여부와 깃허브 가입

-ArgoCD는 쿠버네티스 앱의 자동 배포를 가능하게 하는 오픈소스 소프트웨어다.

-12장은 쿠버네티스 모니터링에 대해 다룬다. 매트릭 서버로 리소스 사용량을 확인하고, 프로메테우스로 모니터링 데이터를 수집하고, 그라파나를 통해 모니터링 데이터를 시각화하고, 로키를 이용해 로그를 확인한다.

-깃허브 예제 주소와 실습환경을 제공한다.


이 책은 도커와 쿠버네티스의 기본 개념부터 실무 환경에서의 구축, 관리, 사용 방법까지 구체적으로 설명되어있는 책이다.

1장 실습환경 구축하기에서는 우분투 이미지 다운로드, 버추얼박스 설치, 가상머신 생성 등 실습에 필요한 환경 구축을 안내하고 있다. 다만, 책에 안내되어 있듯이 모든 실습을 따라가려면 램 16GB 정도가 필요하다.

2장부터 6장에 걸쳐 도커의 개념, 설치, 기초와 도커를 활용한 django와 Flask 실행을 다루고 있고, 7장부터 10장까지는 쿠버네티스의 기본 구조, 실습환경 구축, 기초, 웹서비스 배포를 다루고 있다. 11장은 CI(Continuous Integration)/ CD(Continuous Delivery)를 위해 깃허브 액션과 ArgoCD를 설명하고 있고, 12장은 쿠버네티스 클러스터 모니터링을 위한 도구로 메트릭 서버, 프로메테우스, 그라파나, 로키를 간략하게 설명하고 있다.

이 책의 가장 큰 장점은 이론 설명 뒤에 나오는 자세한 설명들과 머리글에 개념을 이해하기 쉬운 그림으로 첨부되어있다는 점이다. 책 안에는 수많은 서비스들에 대한 모든 명령어들이 다 적혀있었고 명령어마다 어떤 작동을 하는지 다 설명이 되어있다. 모든 환경설정에 대한 코드에 설명이 구체적으로 나와있어 책의 분량이 많은 편이다. 하지만, 그 만큼 자세하게 적혀있다는 의미이니, 나중에 새로운 개발 환경을 구축해야한다면 이 책을 다시 꺼내볼 것 같다. 또, 누군가 도커와 쿠버네티스를 처음 접하게 된다면 권해주고 싶은 책이다.


한빛미디어의 도서 지원을 받아 작성한 리뷰입니다.

구조에 대한 이해를 돕는 그림 제공

책 전체적으로 이해를 돕기 위한 친절한 도표들이 컬러로 제공하고 있다.

예를 들어, 도커 실습에서는 시스템 구조도만 제공하는 것이 아니라, 도커 이미지 빌드 과정에서의 디렉토리 구조도 제공해서 입문자 친화적인 느낌을 받았다. Django를 실행하고 연동하는 과정에서 참고할 수 있도록 제공한 시스템 연동 구조도는 모든 것이 새로운 입문자에게는 좋은 참고 자료가 될 수 있겠다는 생각이 들었다.

실습 환경 구축에서도 이러한 부분이 엿보이는데, 특히 쿠버네티스 파트에서 현재 각 노드에 환경이 어떤 상태로 구축되어 있는지 단계별 도표를 제공하고 있어서, 입문자가 실습 환경을 구축하면서 그 구조에 대해 다시 한번 떠올려볼 수 있을 것 같다.

 

입문자를 위한 적당한 진입장벽

책의 서두에서 이미 독자의 배경 지식을 "혼자 도커와 쿠버네티스를 학습하는 사람"을 기준으로 하고 있어서, 입문서로써 적절한 난이도로 접근했다고 생각한다. 너무 많은 내용을 한 번에 몰아넣지도 않았고, 실무 내용을 살짝 설명해 주려다가 내용이 지나치게 깊어지는 경우도 피하려고 그런 부분들은 거의 언급하지 않았다. 책을 차근차근 실습해 보도록 예제 코드와 그림을 통해서, 입문자들의 도커와 쿠버네티스 세상에 첫 발걸음을 뗄 수 있도록 해주는 책으로는 난이도가 적절했다고 생각한다.

 

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

도커와 쿠버네티스에 대해서 많이 들어보기는 했지만 실무적으로 어떻게 쓰이는지에 대해서는 아는 바가 없는 상태에서 한 권으로 배우는 도커 쿠버네티스라는 책을 접하고컨테이너 개념부터 쿠버네티스를 활용한 배포까지의 전 과정을 두루 살펴보게 된 것같다출판사 홈페이지에서 안내하듯이 본 도서는 초중급자를 대상으로 하고 있다그래서인지 도커와 쿠버네티스 등의 설치와 운영에 필요한 스크립트와 간단한 설명에 집중하고 있다우분투 리눅스 운영체제하에서 “curl”와 같은 명령어를 실행하는 부분이 있는데, CLI(Command Line Interface)환경에서 URL 데이터를 요청하고 가져오는 명령어라는 설명은 없는 부분을 예로 들 수 있다.

 

업무 서비스 구성요소간 유기적인 동작의 이해를 돕기 위해 흐름도로 도식화해서 제공하기도 한다.

 

책의 구성은 실습환경 구축도커쿠버네티스로 되어 있다.

1장 실습환경 구축하기에서는 우분투 이미지 다운로드버추얼박스 설치가상머신 생성 등 실습에 필요한 환경 구축을 안내하고 있다버추얼박스에서 가상머신을 3개 만드는데가상머신별로 기본 메모리는 8192MB이상, CPU 개수는 4이상으로 설정할 것을 권장하고 있다본 독자는 컴퓨팅 환경이 열악해서 서브로 사용하는 노트북에 윈도우를 새로 설치하고본 도서 실습 전용 환경으로 사용하였다서브 노트북 하드웨어는 Intel Core i3-7020U, 8GB, 디스크는 SSD 500GB이고운영체제는 윈도우11 홈이다(윈도우10 usb로 설치했으나 중간에 네트워크 연결하고 마이크로소프트 계정 로그인을 강요하더니 윈도우11이 설치됨). 가상머신별로 램 7GB, CPU 2개로 설정했다도커 관련 실습할 때는 가상머신 1개만 필요해서 문제가 없었으나쿠버네티스 관련 실습할 때는 가상머신 2개까지는 메모리 사용률이 99%에 육박하고 돌아는 갔다. 3번째 가상머신을 구동할 때 응답없음 상태가 되어서 결국 램 8GB를 추가로 구매해서 장착해서 책의 마지막까지 실습을 따라갈 수 있었다책에 안내되어 있듯이 모든 실습을 따라가려면 물리적으로 램 16GB는 필요하겠다.

 

1부 도커에서는 2장부터 6장에 걸쳐 도커의 개념설치기초와 도커를 활용한 djangoFlask 실행을 다루고 있다. django Flask도 이름은 들어봤는데 웹프레임워크라고 한다.

 

2부 쿠버네티스에서는 7장부터 10장까지는 쿠버네티스의 기본 구조실습환경 구축기초웹서비스 배포를 다루고 있다. 11장은 CI(Continuous Integration)/CD(Continuous Delivery)를 위해 깃허브 액션과 ArgoCD를 설명하고 있고, 12장은 쿠버네티스 클러스터 모니터링을 위한 도구로 메트릭 서버프로메테우스그라파나로키를 간략하게 설명하고 있다.

 

여러 학습 도서를 읽어 보았지만 개인적으로 이번 도서는 실습하면서 에러가 났을 때 원인을 파악하기가 유독 힘들었던 것같다에러의 대부분 원인은 타이핑 실수로 인한 오탈자로 귀결되었는데인터넷에서 유사 오류 사례와 해결방법을 찾기가 쉽지 않았던 것같다아울러 도커와 쿠버네티스를 처음 따라하다 보니 중간에 스크립트를 놓치는 실수가 있진 않았는지 신경이 많이 쓰였던 것같다직접 코드를 따라 타이핑하는 것이 내재화시키는데 더 도움이 된다고 생각하지만결국에는 타이핑 실수로 인한 오류가 많아져 저자의 깃허브에서 소스코드를 가져와 실습하는 것도 괜찮았겠다는 생각이 든다책에도 나와 있지만 사용되는 소스 및 첨부파일은 다음의 주소에서 참고할 수 있다https://github.com/losskastsu/DockerKubernetes

 

오픈소스를 포함한 요즘 응용프로그램의 특성중 하나로 빈번한 기능 개선을 들 수 있겠다그래서 책에 포함된 실습 시점은 작년말 정도로 보이고책을 보고 있는 시점이 5개월 정도 지났기 때문에 버추얼박스우분투도커파이썬 등 실습에 필요한 거의 모든 응용프로그램의 버전이 변경되었다고 보면 된다그래서 버전 변경으로 인해 책의 실습 내용과 달라지는 부분이 있을까봐 걱정했는데책에서 명시된 버전을 꼭 지키거나 최근 버전을 사용해 실습해도 결과에는 크게 문제는 없었던 것같다.

 

실습 진행에 필요한 기본적인 개념 설명을 간략하게 하고 있고다음의 pyyaml 설치에 앞서 파이썬가상환경인 pyenvpython 버전에서 보이듯이 작년말경에 실습이 진행된 걸 알 수 있다.

 

도커 부분은 실습에 크게 무리가 없었는데쿠버네티스 부분부터는 대부분 타이핑 실수였지만 실습하면서 오류도 발생하고 원인을 찾는데도 시간이 많이 걸렸다저자도 쿠버네티스 시작 부분에서 도커보다 규모가 크기 때문에 처음에는 다소 어렵게 느껴질 수 있다면서 한 번에 전체를 이해한다는 느낌보다는 조금씩 익혀 나가는 것이 더 도움이 될 것이라고 안내하고 있다.

 

나름대로 쿠버네티스 실습중에 발생한 오류를 해결했던 경험을 적고자 한다

쿠버네티스 실습을 위해 마스터노드 1워커노드 2개가 필요하므로 기존 가상머신을 복제해서 2개의 가상머신을 더 만들어야 했다복제한 후에 IP 주소가 동일하기 때문에 새로 만든 가상머신의 IP 주소를 책에서 안내하는대로 바꿔주었다책에서는 /etc/netplan/00-installer-config.yaml 파일을 각각의 가상머신에서 수정해서 가상머신210.0.2.5/24로 가상머신310.0.2.6/24로 변경하라고 되어 있다그리고, DNS설정도 각각의 가상머신에 맞게 10.0.2.4 myserver01, 10.0.2.5 myserver02, 10.0.2.6 myserver03으로 설정하였다그런데 가상머신1에서 가상머신2나 가상머신3으로 pingssh 연결을 시도했을 때 타임아웃나고 동작하지 않았다. /ect/netplan/ 디렉토리에 00-installer-config.yaml외에 50-cloud-init.yaml 파일도 있었는데 50-cloud-init.yaml 파일에서 IPdhcp로 설정하고, 00-installer-config.yaml에서 정적으로 IP를 설정하도록 되어 있어 결과적으로 가상머신의 enp0s3 어댑터에 IP10.0.2.4 10.0.2.5 2개가 설정되어 있었다(가상머신2의 경우). 그래서 임의로 50-cloud-init.yaml파일을 50-colud-init.yaml.bak로 이름을 바꿔 실행되지 않게 하니 가상머신의 enp0s3 어댑터에 IP가 유일하게 1개만 설정되고가상머신간 pingssh 연결이 정상적으로 수행되었다실습에 사용한 우분투가 최신 버전인 24.04 LTS이고 책에서 사용한 버전은 22.04.3 LTS인데확인해 본 건 아니지만 우분투 버전 차이로 네트워크 환경 관련 파일이 달라서 발생했던 문제가 아닌가 싶다

 

12장 쿠버네티스 클러스터 모니터링 관련해서 쿠버네티스 환경에서 로그를 수집저장조회하기 위한 오픈소스 로깅 시스템인 로키(Loki) 설정 관련해서도 문제가 발생했다해결하지는 못했다프로메테우스 스택(prometheus-stack)으로 같이 설치된 시각화도구인 그라파나(grafana)를 통해 데이터소스 연결하는 방식으로 로키 파드에 접속하는 방식으로 되어 있다책의 실습 과정에서 놓친 부분은 없는데 그라파나에서 로키 파드에 데이터소스 접속할 때 에러가 나고 접속이 되지 않아 로그가 쌓이는 모습은 볼 수 없었다인터넷을 검색해 보니 영어로 그라파나와 로키 버전에 따라 접속이 되지 않는 사례가 있었는데 해결하지 못했다실습에 사용한 Prometheus-stack 버전은 58.7.0이고 로키 버전은 2.10.2이다책에서 사용된 prometheus-stack 버전은 54.0.1이고로키 버전은 2.9.11이다원인을 알 수가 없어 버전 차이로 인한 문제인가 하고 생각하고 있다.

 

실습이 포함된 IT 기술도서를 읽을때마다 느끼는 거지만 도커와 쿠버네티스의 기본적인 사항을 전반적으로 서술하고 있다고 생각한다차후에 실무에서 활용할 일이 생긴다면 꺼내서 기본적인 내용을 참고하기에 좋은 도서라고 생각한다.

 

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

 

《한 권으로 배우는 도커 & 쿠버네티스》는 도커와 쿠버네티스의 기본 개념부터 실무 환경에서의 구축, 관리, 사용 방법까지 체계적으로 설명하는 책입니다. 이 책은 실습 환경을 구축하는 방법부터 시작해 도커와 쿠버네티스를 활용한 애플리케이션 배포, 고급 기능 및 최적화 방법까지 다루고 있어, 이 분야를 처음 접하는 이들도 실무에서 바로 적용할 수 있는 능력을 기를 수 있도록 돕습니다. 실습 중심으로 구성된 이 책은 독자가 단계별로 학습하면서 도커와 쿠버네티스의 개념과 실무 적용 방법을 자연스럽게 익힐 수 있게 합니다.

1장부터 시작하는 실습 환경 구축

책의 첫 장은 실습 환경 구축에 중점을 둡니다. 우분투 이미지 다운로드, 버추얼박스 설치, 가상머신 생성 등의 과정을 통해 실습에 필요한 환경을 단계별로 자세히 설명합니다. 이는 독자가 실제로 실습을 진행하면서 바로 따라 할 수 있도록 구체적으로 안내하고 있어 실습 초보자에게도 큰 도움이 됩니다. 특히, 실습 환경을 구축하는 과정에서 겪을 수 있는 문제들을 미리 예측하고 그 해결 방법까지 제시하여 독자가 문제없이 실습을 진행할 수 있도록 돕습니다. 이 과정을 통해 독자는 실습 환경을 완벽하게 준비하고, 도커와 쿠버네티스를 활용한 실습을 진행할 수 있는 기초를 다질 수 있습니다.

 

추천의 글

《한 권으로 배우는 도커 & 쿠버네티스》는 도커와 쿠버네티스를 처음 접하는 이들부터, 실무에서 활용하고자 하는 전문가들까지 모두에게 유용한 책입니다. 체계적인 구성과 실습 중심의 설명으로, 독자가 쉽게 따라하며 실무 능력을 기를 수 있도록 돕습니다. 이 책은 도커와 쿠버네티스의 기본 개념부터 실무 적용 방법까지 체계적으로 설명하고 있어, 독자가 도커와 쿠버네티스를 효과적으로 학습하고 활용할 수 있도록 돕습니다. 도커와 쿠버네티스를 한 번에 익히고 싶은 분들께 강력히 추천합니다. 이 책을 통해 도커와 쿠버네티스를 마스터하고, 실무에서의 경쟁력을 높이세요.

 

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

  • 모두를 위한 종합적인 가이드
    • 도커와 쿠버네티스에 대해 전반적으로 이해하고자 하는 모든 사람을 위한 책입니다. 도커의 기초 개념에서부터 시작해, 쿠버네티스를 활용한 고급 배포 기법까지 폭넓게 다루고 있습니다. 이 책은 초보자와 중급자 모두에게 유용하며, 각 개념을 실습 예제를 통해 직접 적용해 볼 수 있어 학습 효과가 매우 뛰어납니다.
  • 구조적이고 체계적인 접근
    • 도커와 쿠버네티스라는 두 주요 주제를 각각 독립적으로, 그러나 연관성 있게 설명합니다. 도커 부분에서는 설치와 기초 명령어, Django와 Flask 같은 웹 애플리케이션을 도커로 실행하는 방법 등을 다룹니다. 다양한 환경에서의 도커 활용 예제는 실무에서 바로 적용할 수 있는 실질적인 지식을 제공합니다. 쿠버네티스 부분은 기본 구조와 실습 환경 구축에서부터 웹 서비스 배포, CI/CD 구현, 모니터링까지 전 과정을 다룹니다. 이러한 단계적인 접근 방식 덕분에 쿠버네티스의 복잡한 개념을 자연스럽게 이해할 수 있습니다.
  • 풍부하고 실용적인 실습 예제
    • 이 책의 큰 장점 중 하나는 실습 예제가 매우 풍부하다는 것입니다. 각 장마다 제공되는 실습 예제는 독자가 직접 따라 하며 배운 내용을 바로 적용해 볼 수 있도록 구성되어 있습니다. 도커를 활용한 Django와 Flask 실행 부분에서는 YAML 파일 작성부터 Nginx와의 연동, 도커 컴포즈를 활용한 실행까지 상세하게 설명합니다. 쿠버네티스 부분에서는 인그레스를 활용한 웹 서비스 배포와 ArgoCD를 활용한 CI/CD 구현 등 실무에서 바로 쓸 수 있는 예제가 가득합니다.
  • 실무에 바로 적용 가능한 내용
    • 실무에서 바로 활용할 수 있는 실용적인 내용을 담고 있습니다. 각 장의 내용을 따라가다 보면 도커와 쿠버네티스를 활용한 실제 애플리케이션 개발과 배포 과정을 자연스럽게 익힐 수 있습니다. 특히, CI/CD 파이프라인 구축과 모니터링 부분은 현대 DevOps 환경에서 필수적인 기술을 다루고 있어 매우 유익합니다.

“한 권으로 배우는 도커 & 쿠버네티스”는 클라우드 기반 IT 환경에서 필수적인 도커와 쿠버네티스 기술을 체계적으로 다룹니다. 도커의 컨테이너 가상화와 쿠버네티스의 컨테이너 오케스트레이션 기술은 애플리케이션 개발 및 운영 과정에서 빼놓을 수 없는 중요한 요소입니다.

이 책은 도커와 쿠버네티스의 기본 개념부터 실무 환경에서의 구축과 관리, 활용 방법까지 단계별로 설명하고 있습니다. 이론적 지식과 실습 예제를 균형 있게 다루어 독자들이 쉽게 이해하고 실제 적용할 수 있도록 구성되어 있습니다.

특히 실습 예제를 통해 이론을 실무에 바로 적용해볼 수 있어 도커와 쿠버네티스 기술에 대한 실전 감각을 기를 수 있습니다. 애플리케이션 개발부터 배포, 운영까지 전 과정을 효율적으로 관리하고 확장성 있는 시스템 아키텍처를 설계할 수 있는 능력을 키우는 데 큰 도움이 될 것입니다.

현대 IT 환경에서 컨테이너 기술의 중요성이 높아지고 있는 만큼, 이 책을 통해 도커와 쿠버네티스에 대한 전문성을 기르는 것이 앞으로 개발자와 운영자 모두에게 큰 자산이 될 것입니다.

”한빛미디어 활동을 위해서 책을 제공받아 작성된 서평입니다.”

한빛 미디어에서 도커와 쿠버네티스에 관련된 책을 출판하였습니다. 어느정도 도커에 대한 지식만 있었던 저는 이 책을 읽게 된 것이 큰 기쁨이었습니다.
책을 처음 받았을 땐 좀 두꺼워서 무겁겠다 싶었는데... 가방에 넣고 다니니 어깨가 축축 쳐져요... 만약 해당 책을 읽으시려는 분 중 들고다니면서 보실 분은 ebook을 강력추천합니다.

책의 장점

1. 컬러책이다.

아실 분들은 아시겠지만 컬러책과 흑백책의 차이는 상당합니다. 컬러책은 시각적으로도 책이 질리지 않게 만들어주는 효과가 있거든요! 또한 도커 특성상 그림을 통한 설명이 많은데 컬러로 된 그림을 통해 이해하기 쉬웠던 것 같습니다.

2. 처음부터 따라할 수 있다.

초보자를 대상으로 한 책인 것이 느껴졌습니다. 1장에선 가상머신 virtual Box를 설치하는 법부터 포트포워딩까지 간단한 리눅스 명령어. 2장에선 도커를 사용하기 위한 간단한 사전지식으로 OS, 프로그램 vs 프로세스, 스레드, 네임스페이스, 도커 정의, 컨테이너란, 도커 구성요소 등에 대한 설명을 간단하게 요약되어 있었습니다. 3장 이후부터는 실습을 통해 학습을 할 수 있었습니다. 이에 대한 내용은 3번에서 추가로 설명할게요!

3. 혼자 공부하기 좋다.

실습을 통해 학습을 할 때 좋았던 점은 각 명령어의 해석과 각 결과에 대한 사진이 함께 첨부되어 있던 것이 좋았습니다. 혼자 배우는만큼 비교할 대상이 있으면 좋겠다고 생각했거든요! 또한 마주치는 다양한 사례와

4. 최신 서적이다.

개인적으로 IT관련 서적은 최신서적이 트랜드를 잘 반영한다고 생각합니다. 그렇기에 해당 책을 학습하기 위한 환경설정을 진행할 때 편했던 것 같습니다.
물론 무조건 최신 책이 좋다는 것은 아니지만요...! (CS지식을 학습할 때 OS같은 경우는 공룡책이 아직도 좋은 것처럼요!)

맺음말

도커와 쿠버네티스를 배우려고 하시는 분들에게 추천할만한 책입니다. 혼자 학습하기 좋게 구성되어있고 컬러책이기에 읽는 동안 질리지 않았던 것 같습니다.
"한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."


 

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

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

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

 

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

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

 

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

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

이 책에 대해서 정리해보려고 한다.

나온지 얼마되지 않아서 다른 입문서들에 비해서 최신 내용들이 많이 반영되어있다.

디테일한 실습코드와 내용들, 한줄한줄 설명을 해주신 정성

쿠버네티스 기초 내용 이후에 오는 간단한 배포 실습과 Github Action + ArgoCD, 모니터링까지

사실 한빛미디어에서 책을 리뷰하면서 가장 크게 느낀점은...

오라일리(O'Reilly) 책들이 만듬새라던지 내용의 질이라던지 그 부분이 가장 좋았었다.

사실 그렇다보니 책을 고를때도 가급적 오라일리 책만 고집하다가 이번에는 번역서가 아닌 책을 받게 되었는데,

처음에는 너무 좋지 않은 점만 보지 않을까 걱정을 조금 했다.

하지만 생각보다 실습내용들에 대해서 디테일한 설명들도 너무 좋았고, 기본적인 내용들로 꽉꽉 차있어서 상당히 알찬 책으로 느껴진다.

다만 몇가지 아쉬운 점은 역시 존재했다.


 

자세한 내용은 블로그를 참고해주세요https://blog.naver.com/ab415/223455866610

들어가며

'한 권으로 배우는 도커 & 쿠버네티스'는 도커와 쿠버네티스를 처음 접하는 사람들을 위한 종합적인 가이드입니다. 이 책은 도커의 기본 개념부터 시작하여 쿠버네티스의 활용 방법까지 단계적으로 설명합니다.

 

주요 내용

이 책은 1부-도커, 2부-쿠버네티스, 이렇게 두 부분으로 나뉘어 있습니다.

본 내용을 보여주기 전에 1장에서 실습 환경 구축을 위한 기본 설정 방법을 다룹니다.

1부-도커에서는 도커의 기본 개념부터 네트워크 설정, 스토리지 관리까지 다양한 주제를 다룹니다. 특히 5장과 6장에서는 실전 예제를 통해 Django와 Flask 애플리케이션 실행 방법을 상세히 설명하며, Nginx와 PostgreSQL 과의 연동, 도커 컴포즈를 활용한 컨테이너 실행 방법 등을 배울 수 있습니다.

이어지는 2부에서는 쿠버네티스를 설명합니다. 7장에서는 쿠버네티스의 기본 구조와 설치 방법을 다루고, 이어지는 장들에서는 쿠버네티스의 기초 개념부터 웹 서비스 배포, CI/CD 구축, 모니터링 방법까지 학습합니다. 특히, 10장에서는 Django와 Flask 애플리케이션을 인그레스를 활용하여 배포하는 방법을 설명하고, 12장에서는 쿠버네티스 모니터링에 대해 다룹니다.

장점

각 예제에 번호표를 붙여 예제의 의도를 명확히 파악할 수 있으며, 번호에 따른 상세한 설명을 통해 독자는 예제의 목적과 실행 과정을 이해하기가 쉬웠습니다. 설명이 충분히 구체적이어서 추가적인 자료를 찾아보지 않아도 이해할 수 있는 부분이 많습니다. 이를 통해 더 깊은 이해를 빠른 시간에 달성할 수 있었습니다.

다양한 예제를 통해 독자는 실전에서 적용할 수 있는 다양한 기술을 익힐 수 있으며, 도커와 쿠버네티스의 다양한 활용 방법을 익힐 수 있습니다. 예제가 다양하여 한 번에 많은 부분을 학습할 수 있었습니다.

아쉬웠던 점

예제의 앞부분에서 반복된 내용이 예제마다 다시 설명되어 일종의 지루함과 번거로움이 느껴졌습니다. 이를 줄이고 핵심적인 내용에 집중할 수 있도록 구성되었으면 어땠을까 하는 생각이 들었습니다.

쿠버네티스 파트의 뒷부분에서는 ArgoCD, 프로메테우스, 그라파나 등의 서비스에 대한 내용은 낯설었습니다. 쿠버네티스 초보자를 위한 책인 만큼 이러한 기술에 익숙지 않은 독자가 많을 것입니다. 이 기술에 대한 좀 더 친절한 설명이 있었으면 어땠을까 하는 생각을 해 봤습니다.

마무리

'한 권으로 배우는 도커 & 쿠버네티스'는 도커와 쿠버네티스를 처음 배우고자 하는 사람들에게 강력히 추천하는 책입니다. 명확한 설명과 실습 예제가 유익하며, 저자의 풍부한 경험과 전문성이 느껴집니다. 아쉬운 부분이 조금 있긴 했지만 도커나 쿠버네티스의 개념 파악이나 어떻게 시작해야 할지를 파악하기에 탁월한 책이라 생각합니다.

 

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

한 권으로 배우는 도커 & 쿠버네티스

안녕하세요. 율리시스SS입니다.
오늘 소개시켜드릴 도서는 한 권으로 배우는 도커 & 쿠버네티스 입니다.

 

도커 몇년 사이 굉장히 유명해졌는데요. 개인적으로도 도커를 사용하고 있습니다. 매우 손쉽게 여러 이미지를 구동할 수 있고 설치법이
쉽기 때문에 인기가 있는게 아닌가 싶은데요. 도커를 사용하는 방법과 쿠버네티스에 대해서 자세히 다룬 도서입니다.
도서의 난이도는 중~중상정도로 생각됩니다. 서버에 대해서 조금은 알고 계셔야 이해가 조금이라도 쉬울것 같습니다.

 

 

 

한 권으로 배우는 도커 & 쿠버네티스

한 권으로 배우는 도커 & 쿠버네티스입니다.


도커는 운영체제 수준의 가상화를 제공하는 기술로 컨테이너를 이용해서 쉽게 배포할 수 있는데요.

개인적으로는 시놀로지의 NAS를 사용하고 있습니다. 도커 설치가 가능한 NAS를 사용하고 있는데 NAS에서 Tomcat 웹 서버와 Nginx Proxy Manager, 비밀번호 생성 및 저장 프로그램을 설치해서 사용하고 있죠.
 

이 외에도 IOT관련 Github에 Docker을 통해 손쉽게 설치 및 사용이 가능합니다.

해당 도서에서는 도커에 대한 원리 이해부터 도커 이미지 생성 및 관리, 네트워크 환경 설정 그리고 도커와 쿠버네티스를 활용한 다양한 애플리케이션을 배포하는 방법등등에 대해서 전반적인 내용을 학습합니다.
 

 

 

도커같은 경우 개념이 중요하다고 생각이 됩니다. 예전에 VMWare를 통해서 가상서버를 띄웠다면 이제는 비슷한 개념이지만 조금은 다른 도커가 사용이 되는데요. 도커는 대체 어디에서 실행이 되는지, 제대로 알아야 합니다. 해당 도서는 이미지를 통해 이해를 도와주며 다양한 컬러를 통해 좀 더 알아보기 쉽게 작성되었습니다.


전체적으로 도커를 들어보기만 한 분들도 이해가 쉽게 이미지를 많이 활용했습니다.

도커같은 경우 운영체제 위에 이미지를 컨테이너로 생성해 여러개를 올릴 수 있습니다. 도커를 배우기 위해서는 네트워크도 많이 중요하며 네크워크의 설정 방법도 자세히 설명하고 있습니다.

 

 

도커는 GUI가 제약적입니다. 별도로 GUI를 제공하고 있지 않는걸로 알고 있는데요. 모두 Cli로 명령어를 작성해서 도커 작업을 해야합니다. 그렇기에 해당 도서는 도커 이미지 명령어 및 컨테이터 명령어를 깔끔하게 정리해서 적어 놓았습니다.
도커 컨테이너의 상태, 실행, 멈춤, 삭제 등등 명령어와 설명을 작성했기에 어렵지 않게 알 수 있었습니다.

 

 

 

 

도커와 쿠버네티스 학습 과정과 내용에서 다른 도서와 차별점이라고 하면 쉽게 이해되는 그림, 그리고 명령어에서의 각각의 라인마다의 설명이라고 생각됩니다. 해당 도서는 500페이지가 넘어갈정도로 공부할 분량이 많습니다. 여러번 정독하는것도 매우 중요하지만 한번 읽을 때 제대로 이해하고 읽는게 무엇보다 중요하죠. 이해를 해야 다음 챕터에서도 이해가 되기 때문입니다.

한 권으로 배우는 도커 & 쿠버네티스도서는 매 챕터마다 이해하기 쉽게 만들어져 있다고 생각이 욉니다. 대체로 한빛미디어의 도서를 보면 불만족이였던 도서는 거의 없었는데요. 도커와 쿠버네티스에 대해서 이해하기 쉽고 제대로 배우고 싶은 분들에게는 추천드리는 도서입니다.

 

 

제가 현재 개인 NAS에서 사용하고 있는 컨테이너와 클라우드에서 사용중인 Docker 컨테이너입니다.

클라우드 서버에는 개인 웹사이트를 만들어서 실제 도메인 연결해서 운영중에 있는데요. 도커 컨테이너와 함께 배포할시 굉장히 재미있습니다. 크게 어렵다고 생각되지도 않구요. 물론 자세히 들어가서 최적화 단계가면 어려울 수 있지만 기본적인 도커와 쿠버네티스에 대해서 재미있게 알고 실습해보는 과정에서는 한 권으로 배우는 도커 & 쿠버네티스 도서만으로도 넘칠만큼 배울 수 있다고 생각됩니다.
여러분도 도커와 쿠버네티스를 학습해서 쉽게 배포하고 다른 개발자가 만든 이미지를 사용해 보세요.
유명한것중 하나아 사진갤러리인 이미치(Immich)가 있을것 같네요.

 

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

이번에 리뷰하게 된 책은 한 권으로 배우는 도커&쿠버네티스 이다.

도커와 쿠버네티스 책이 따로 있는 경우도 있었는데 이번 책은 한 권에 배울수 있도록 되어있다.

 

쿠버네티스 실습에 맞춰서 버추얼박스를 통해 실습 환경 구성 방법을 설명하고 있다.

하나씩 차근차근 설명하고 있는 부분이 굉장히 마음에 들었다. (어느정도 세팅 방법은 알고 있던 터라 minikube를 설치해서 사용한건 비밀..)

 

기본적인 환경 설치와 도커의 기본적인 역사에 대해 설명한 이후 자세한 설명이 시작된다.

그림에서도 알 수 있듯 'docker image pull' 명령어를 통해 다운로드한 이미지의 출력 해시값은 이미지의 인덱스 값을 나타낸다. 이미지 다운로드에 대한 내용을 다루면서도 세세한 부분까지 다루고 있는 부분이 굉장히 마음에 들었다.

 

실습에 대한 내용도 갖추고 있다. Docker를 통해 django를 실행해보는 실습을 통해 도커 명령어에 익숙해질 수 있는 경험을 제공한다.

 

도커에 대한 설명이 끝나면 쿠버네티스에 대해서 다루는데 책에서는 다음과 같은 내용들을 담고 있다.

- 기본구조

- 실습 환경 구축

- 기초

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

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

- 쿠버네티스 모니터링

 

목차만 봐도 꽤 세세한 내용을 다룬다는 것을 알 수 있었다.

 

처음에는 한 권에 배우는 도커와 쿠버네티스라서 언급하지 못하는 내용도 많을 것이라고 생각했다. 책을 보고 나서는 그런 생각이 들지 않았다. 한 권에 도커와 쿠버네티스에 대한 내용을 꽉꽉 담은 책이었다. 누군가 도커와 쿠버네티스를 처음 접하게 된다면 권해주고 싶은 책이다.

 

한빛미디어의 도서 지원을 받아 작성한 리뷰입니다.

한 권으로 배우는 도커 & 쿠버네티스 

- 자세하면서 실무적인 내용이 가득한 도커와 쿠버네티스의 바이블 -

 

1.  docker와 쿠버네티스를 한 번에 아주 자세히 공부할 수 있는 책

도커가 워낙 편리하다보니 최근에 많이 사용되고 있고, 관련 책도 많이 출간 되었습니다. 그런데 docker에 관한 것은 많은데 여러 개의 도커 컨테이너를 제어하는 기술인 쿠버네티스에 대한 내용은 부족한 책이 많았습니다.

이번에 소개하는 책인 "한 권으로 배우는 도커 & 쿠버네티스"는 도커와 쿠버네티스 모두에 대한 설명이 아주 자세한 책입니다. 제가 현재 가지고 있는 도커 책이 3권인데 그 중 가장 내용도 많고 자세합니다.

책 내용은 크게 2파트로 나누어지는데 1부는 도커 2부는 쿠버네티스 입니다.

도커와 쿠버네티스 분량은 각각 200페이지 정도로 거의 동일하게 구성되어 있습니다.

1) Docker 관련 부분

Docker 관련 부분에서 Chapter 1-Chapter4 까지는 기본 명령어와 기능에 대해서 실습을 통해 설명합니다.

그리고 Chapter5부터 Chapter6까지는 실제로 웹개발을 하고 배포할 때 주로 사용하는 구성인 Django + gunicorn + Nginx + PostgreSQL 을 자세하게 실습합니다.

실제 웹개발시 유용하게 활용할 수 있는 구성을 실습으로 공부할 수 있도록 되어 있어서 파이썬 웹개발을 공부하는 학생들에게도 매우 유용한 내용입니다.

django 뿐 아니라 Flask 를 이용한 연동도 추가적으로 실습할 수 있게 되어 있어서 파이썬 웹프레임워크의 양대산맥을 모두 도커로 배포하는 연습이 가능합니다. 

2) 쿠버네티스 관련 부분

쿠버네티스 관련 부분도 Docker 부분과 동일하게 앞쪽은 이론 설명과 명령어 뒷 쪽은 실습 위주로 구성되어 있습니다.  이 책이 정말 자세하고 배울 점이 많다고 생각이 든 이유는 단지 명령어만 공부하도록 만들어진 것이 아니라 실제로 서버를 구성하고 배포하고 운영하는 것 까지 모두 담겨 있기 때문입니다. 

위의 그림에서 볼 수 있듯이 Docker 파트에서 공부하고 구성한 서버를 여러개 복사해서 쿠버네티스로 묶은 후 배포하는 것까지 실습 할 수 있습니다. 이런 내용을 공부하고 실습할 수 있다는 점에서 이 책을 추천하지 않을 수 없네요.

3) github action과 ArgoCD를 이용한 CI/CD(지속적 통합/지속적 배포), 모니터링 까지

이 책의 마지막 방점은  github action과 ArgoCD를 이용한 CI/CD 입니다. 배포를 하고 나면 운영과 관리가 필요한데 그 작업을 gitgub action과 docker를 이용해 하는 법,

argoCD를 이용해 쿠버네티스로 하는 법까지 설명하고 있습니다. 

마지막으로 쿠버네티스로 배포한 서버를 관리하는 법까지 실습할 수 있게 되어 있습니다.

한 마디로 도커 바이블이라고 할 수 있을 정도로 도커로 할 수 있는 모든 실무적인 내용이 아주 자세하게 잘 담긴 책이라고 할 수 있습니다.

3. 마무리

"한 권으로 배우는 도커 & 쿠버네티스"는 도커 기초부터 쿠버네티스, CI/CD, 운영시 모니터링까지 도커를 이용한 서버운영 전반에 걸쳐 배우고 실습 할 수 있는 아주 잘 쓰여진 명작입니다. 도커와 쿠버네티스를 공부하고 싶다면 이 책 강추합니다.

​​

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

도커랑 쿠버네티스를 잘 다루면 취업할 때 좋다길래 배워보고자 독학을 생각했습니다

마침 “나는리뷰어다” 활동으로 운 좋게 원하던 책을 받아서 읽어보니 실습 과정이 하나하나 자세해서 검색해야 하는 수고를 덜었습니다

컨테이너가 원래 어려운 개념이라 사전 지식이 필요한데 책에 필요한 내용 모두 담겨 있어서 제가 원하던 책이 이게 아닐까 생각해요 ㅎㅎ

 

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

최근 몇년사이 MSA(Micro Service Architecture) 가 주목받으면서 도커와 쿠버네티스에 대한 관심이 높아졌다.

서비스 회사들이 백엔드 아키텍쳐로 기존 모놀리식에서 MSA로 전환한 사례가 다수 있고, 채용공고 필수/우대사항에 쿠버네티스 또는 MSA가 포함되는 경우가 증가하고 있다. 이 책은 도커와 쿠버네티스를 처음 접하는 백엔드/DevOps 개발자들을 위한 책이다.

백엔드/DevOps 개발자가 아니더라도 이 책을 통해 컨테이너 기반 배포에 대해 어느 정도 이해할 수 있을 것이다.

항상 쿠버네티스 말만 들었지만, 실습을 하려다 보면

중도에 포기하는 경우가 많았어요.

개발자분들에게 "자동화"의 중점에 있는 쿠버네티스에 대해서 계속해서 필요한 것은 느꼈지만

공부를 하려다 보면 버전에 막히고, 트러블 슈팅하다가 관심을 잃어버렸는데

포기해야 하나라는 생각을 한순간

이 책을 만나게 되었네요.

이 책만의 매력

 

쿠버네티스의 경우 오픈소스라서 무료인데다가, 계속해서 발전해나가는 단계로 알고 있는데

그 와중에 최신 버전을 다루고, 친절히 실습까지 가능해서 엄청 매력적으로 다가왔어요.

보안 시장에서도 공격자의 수도 많아지고, 기법도 다양해지면서, 개개인이 하나씩 대응하는 게 제한적이라서, 점차 자동화나 AI에 대한 관심이 커지고 있어요. 쿠버네티스 보안도 아직까지는 블루오션이라고 하는데, 쿠버네티스 보안 전문가가 되고 싶다는 꿈이 생기네요. ㅎㅎ

쿠버네티스 공식 자격증인 CKA, CKAD, CKS 등이 있는데

이 책을 읽고 나니, CKA에 응시하고 싶다는 생각이 다시 들어서 다시 한번 도전해 보려고 해요.

느낀 점

 

이 책 덕분에 오래간만에 실습을 제대로 한 것 같네요.

친절하게 단계별 캡처화면이 있어서 더 쉽게 따라 했어요.

최신 버전에도 불구하고, 변경된 사항이 존재해 당황스러웠지만,

이전에는 포기했을 텐데, 혼자서 계속 시도하면서 해결하는 과정을 통해 성취감을 얻었던 실습이었습니다.

 

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

 

나 개발 공부 좀 했다 하는 사람들 중에서 도커를 모르는 사람은 없습니다.

프로그래밍을 잘 모르더라도 라즈베리파이나 리눅스를 만져봤다면 역시 도커를 모르는 사람이 없습니다.

이처럼 도커는 서비스를 사용하거나 배포할 때 가장 널리 사용되는 툴입니다.

이 책에서는 서버 엔지니어들은 물론이고 백엔드 지망생들 혹은 도커가 궁금한 사람들까지 다양한 계층의 독자들에게 추천할만한 도커 & 쿠버네티스 책입니다.


 

 

목차는 크게 도커와 쿠버네티스로 나누어져있습니다.

1부에서는 도커를 실습하기 위한 환경 구축부터 도커를 활용한 웹서버 실행까지,

순서대로 따라가기만 해도 도커에 대한 이해도를 높일 수 있도록 구성되어있습니다.

2부에서는 1부에서 배운 내용을 바탕으로 쿠버네티스를 활용한 다양한 실습이 준비되어있습니다.

 

도커는 어느정도 익숙하지만 쿠버네티스에 대해서는 생소했던 분들이라면 2부의 내용이 도움이 될 것입니다.


 

 

책은 여러 그림자료들과 추가 설명자료들을 많이 활용하였기 때문에 초보자들도 이해하기 쉽게 구성되어있습니다.

 

 

특히 실습 파트에서는 디렉토리 구조까지 그림으로 표현해두었기 때문에 헤메는 일 없이 실습을 진행할 수 있습니다.

 

 

실습을 위한 명령어 역시 상세하게 설명되어 있으므로 실습에 불편함이 없습니다.

 

 

실습 과정에서 만날 수 있는 다양한 에러 사례들이 기록되어 있기 때문에 혹시 문제가 발생하더라도 빠르게 대처 후 실습을 이어나갈 수 있습니다.


도커와 쿠버네티스는 서버 엔지니어들에게 필수 소양과 같습니다.

특히 클라우드를 활용한 서버 엔지니어링이 보편화된 지금, 도커는 자원을 효율적으로 사용하고 간단하게 서비스들을 관리할 수 있는 장점 덕분에 많은 인기를 누리고 있습니다.

그런 도커를 조금 더 쉽게 다룰 수 있게 도와주는 쿠버네티스 역시 많은 인기를 얻고 있습니다.

 

만약 서버 엔지니어가 목표라면 한 번쯤 읽어보실 것을 추천합니다.

 

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


입문자를 대상으로 매우 직관적으로 이해하기 쉽게 실습과정과 단계별로 설명을 잘 해주는 책이다

이해가 잘안될때는 책에 첨부된 전체적인 아키텍처를 보면서 과정이 어떻게 진행되고 있는지 머릿속으로 그려보면서 진행하면 훨씬 더 이해가 잘 될 것이다

결제하기
• 문화비 소득공제 가능
• 배송료 : 2,000원배송료란?

배송료 안내

  • 20,000원 이상 구매시 도서 배송 무료
  • 브론즈, 실버, 골드회원이 주문하신 경우 무료배송

무료배송 상품을 포함하여 주문하신 경우에는 구매금액에 관계없이 무료로 배송해 드립니다.

닫기

리뷰쓰기

닫기
* 상품명 :
한 권으로 배우는 도커 & 쿠버네티스
* 제목 :
* 별점평가
* 내용 :

* 리뷰 작성시 유의사항

글이나 이미지/사진 저작권 등 다른 사람의 권리를 침해하거나 명예를 훼손하는 게시물은 이용약관 및 관련법률에 의해 제재를 받을 수 있습니다.

1. 특히 뉴스/언론사 기사를 전문 또는 부분적으로 '허락없이' 갖고 와서는 안됩니다 (출처를 밝히는 경우에도 안됨).
2. 저작권자의 허락을 받지 않은 콘텐츠의 무단 사용은 저작권자의 권리를 침해하는 행위로, 이에 대한 법적 책임을 지게 될 수 있습니다.

오탈자 등록

닫기
* 도서명 :
한 권으로 배우는 도커 & 쿠버네티스
* 구분 :
* 상품 버전
종이책 PDF ePub
* 페이지 :
* 위치정보 :
* 내용 :

도서 인증

닫기
도서명*
한 권으로 배우는 도커 & 쿠버네티스
구입처*
구입일*
부가기호*
부가기호 안내

* 온라인 또는 오프라인 서점에서 구입한 도서를 인증하면 마일리지 500점을 드립니다.

* 도서인증은 일 3권, 월 10권, 년 50권으로 제한되며 절판도서, eBook 등 일부 도서는 인증이 제한됩니다.

* 구입하지 않고, 허위로 도서 인증을 한 것으로 판단되면 웹사이트 이용이 제한될 수 있습니다.

닫기

해당 상품을 장바구니에 담았습니다.이미 장바구니에 추가된 상품입니다.
장바구니로 이동하시겠습니까?

자료실

최근 본 상품1