brunch

You can make anything
by writing

C.S.Lewis

by Master Seo Jul 05. 2021

(책 후기)15단계로 배우는 도커와 쿠버네티스

아래 내용은 개인적인 생각을 적은 내용이라 다를 수 있습니다.


요약

쿠버네티스 기본서

2020년

기초 개념을 잘 설명해 주는 책

그림이 잘 되어 있는 책

30%는 도커를 다룬다.

70%는 쿠버네티스를 다룬다.

기초 실습부터 잘 나와 있다.

부록에 실습환경 구축이 있다.

실습하기 전에 실습 환경 구축을 하자!




순서

<1> 쿠버네티스 아키텍처 그림이 잘 나와 있다.

<2> 도커와 쿠버네티스를 연결해주는 레지스트리의 역할이 잘 설명되어 있다.

<3> 네임스페이스에 대한 설명이 잘되어 있다.

<4> 쿠버네티스 아키텍처에 대해 잘 나와 있다.

<5> 용어?

<6> 도커 커맨드

<7> 실습 1~15단계가 있다.

<8> 부록 : 실습 환경 구축법

<9> 정리

<10> 다른 쿠버네티스 책 보러가기




<1> 쿠버네티스 아키텍처 그림이 잘 나와 있다.



1

쿠버 네티스 아키텍처 그림이 잘 나와 있다.

한눈에 설명이 된다.


2

아키텍처?

개발자가 마스터에 API로 명령을 내린다.

마스터는 Worker node를 제어하고 모니링한다.

worker node에 Pod가 생성되어 운영된다.

사용자는  Worker node의 Pod에 접속하여 서비스를 받는다.




<2> 도커와 쿠버네티스를 연결해주는 레지스트리의 역할이 잘 설명되어 있다.


1

도커 파일----  도커 빌드해 이미지로 만든다------ 도커 푸시로 이미지를 레지스트리에 넣는다.

쿠버 네티스는 레지스트리에 있는  이미지를 가져와 서비스를 한다.

개발자가  kubectl create -f  매니페스트  명령어로  쿠버 네티스 클러스터에 Pod를 생성해 서비스되도록 한다.

사용자는 Pod에 접속해 서비스를 받는다.



<3> 네임스페이스에 대한 설명이 잘되어 있다.


컨테이너가 하나의 독립된 서버와 같이 동작할 수 있게 한다.

특정 프로세스를 다른 프로세스로부터 같은 네임 스페이스 내에서만 접근할 수 있도록 한다.


도커 엔진은 다음과 같은 네임 스페이스를 사용한다.

pid - 리눅스 커널 분리

net - 네트워크 인터페이스 분리

mnt-   파일 시스템 마운트 관리



<4> 쿠버네티스 아키텍처에 대해 잘 나와 있다.


1

사용자 프로세스?

사용자 --- Worker node -------- kube-proxy ------- Pod (컨테이너) 접속


2

개발자 프로세스?

개발자   kubecli로 --------kube-api server--------------worker node에 kubelet에 명령을 날림--- Pod(컨테이너) 관리함



<5> 용어?


1

컨테이너?

독자적으로 실행하는 것은 불가능. Pod내에 생성된다.


2

파드(Pod)?

컨테이너를 실행하기 위한 오브젝트이다.  파드 안에는 한 개 또는 여러 개의 컨테이너가 들어간다.

Pod =   구조가 완두콩을 담고 있는 모양과 비슷하다 = 꼬투리라는 단어 Pod

Pod안에 컨테이너가 있다.



3

컨트롤러?  

컨트롤하는 것이다. Pod를 컨트롤한다.


4

서비스?

파드와 사용자를 연결하는 역할.

요청 트래픽을 지정된 파드들로 분산하며 전송한다.

파드는 일시적인 존재이다. IP도 변경된다. 그래서 Pod에 요청을 보내고 싶을 때 서비스를 사용한다.


5

kubectl get pod로 나오는 결과의 의미?

Succeeded?  파드 내 컨테이너가 모두 정상적으로 종료됨.

Completed - 파드 내 컨테이너가 정상적으로 종료됨.  파드 내 여러 컨테이너가 있는데  첫 번째 컨테이너가 정상 종료(exit 코드 = 0)이면 Completed로 나온다.

Error - 컨테이버가 이상 종료된 경우.

Failed - Pod 내  최소 하나의 컨터이너가 이상 종료한 경우.



<6> 도커 커맨드


<7> 실습 1~15단계가 있다.



<8> 부록 : 실습 환경 구축법


1

싱글 노드 미니 쿠베

2

멀티 노드 K8s - 베이 그런트와 엔시블 사용

3

IBM 클라우드, 구글 클라우드 서비스 사용 K8s 구축



<9> 정리


전반 부에 기초 개념이 설명된다.

후반부에  1단계에서 15단계까지 실습으로 이해하는 과정이 있다.

초보자가 배우기 아주 좋은 책이다.

부록에 실습 환경을 구축하는 법에 대해 정리되어 있어 더 좋다.

멀티 노드 K8s로 설치하자.

베이그런트와 엔시블 사용으로 구축해  제대로 된 k8s 구축과 비용이 나오지 않도록 하자.




<10> 같이 볼만한  쿠버네티스 책 



같이 보면 좋을 책


https://brunch.co.kr/@topasvga/1455



감사합니다.

브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari