본문 바로가기

Data Engineering/기초_인프라

K8s 기초 (작성중)

위키북스 - 그림과 실습으로 배우는 도커 & 쿠버네티스 (개념과 작동원리가 쏙쏙 이해되는 완벽 입문서) - 오가사와라 시케타카 지음 참고

 

2025/06/09 13:20~14:00 - 목차 작성 및 이론 정리 (01 ~ 02)


 

Chapter 08. 쿠버네티스를 익히자

01 쿠버네티스란?

02 마스터 노드와 워커 노드

      02-1 - 클러스터의 구성 - 마스터와 워커 / 02-2 - 쿠버네티스는 항상 '바람직한 상태'를 유지한다 

03 쿠버네티스의 구성과 관련 용어

      03-1 - 구성관련 용어(파드, 서비스, 디플로이먼트, 레플리카세트) / 03-2 그 밖의 리소스

04 쿠버네티스 설치 및 사용법

      04-1 - 쿠버네티스의 종류 / 04-2 - 어떤 종류의 쿠버네티스를 사용할까? + [실습]

05 매니페스트 파일(정의 파일) 작성

      05-1 - 메니페스트 파일이란? / 05-2 - 메니페스트에 작성할 내용 / 05-3 - 메타데이터와 스펙 작성(1) - 파드 / 05-4 실습

      05-5 - 메타데이터와 스펙 작성(2) - 디플로이먼트 / 05-6 - 실습 / 05-7 - 메타데이터와 스펙 작성(3) - 서비스 / 05-8 - 실습

06 쿠버네티스 명령어

      06-1 - 쿠버네티스 명령어 / 06-2~3 - 실습 (디플로이먼트, 서비스)

07 쿠버네티스를 연습하자

      07-1 - 메니페스토 파일로 파드 개수 늘리기 / 07-2 - 매니페스프 파일로 아파치를 nginx로 바꾸기

      07-3 - 수동으로 파드를 삭제한 후 자동복구되는지 확인 / 07-4 - 생성했던 디플로이먼트와 서비스 삭제


 

01. 쿠버네티스란?

 

[정의] 컨테이너 오케스트레이션 도구, 별칭 : k8s(k와s 사이에 8글자가 있다는 의미..)

[용도] 동일한 구성의 컨테이너(=서버) 여러 개를 관리하는 도구,

           도커가 1대의 물리적 서버에 여러개 컨테이너를 운영했다면, 쿠버네티스는 여러대의 서버에 여러개의 컨테이너를 운영한다.

 

02. 마스터 노드와 워커 노드

 

노드 : 물리적 서버 개념

마스터 노드 : 컨테이너를 소유하지 않고, 오로지 워커 노드들의 관리를 위해서만 생성되는 서버

워커 노드 : 실제 실행 서버

 

설치방법 : 모든 노드에는 쿠버네티스 SW와 CNI(Container Networking Interface)가 설치되어야 한다.

                 마스터 노드에는 관리를 위한 etcd (키-값 스토어 타입의 DB)가 별도 설치된다.

                 워커 노드에는 컨테이너 엔진이 설치된다. 

                 + 마스터 노드에 로그인하여 설정을 진행하거나 변경하려면 컨트롤할 관리자의 PC에 kubectl을 설치한다.

 

-> 사용자는 마스터 노드에서 설정만을 진행하며, 직접 워커 노드를 제어하지 않는다.

 

마스터 노드의 워커 노드 컨트롤을 가능하게 만드는 5가지 컴포넌트 (컨트롤 플레인)

no 항목 내용
1 kube-apiserver 외부와 통신하는 프로세스, kubectl로부터 명령을 전달받아 실행
2 kube-controller-manager 컨트롤러를 통합 관리, 실행
3 kube-scheduler 파드를 워커 노드에 할당
4 cloud-controller-manager 클라우드 서비스와 연동해 서비스 생성
5 etcd 클러스터 관련 정보 전반을 관리하는 데이터베이스

 

마스터 노드의 제어를 받는 워커 노드는 2가지 요소를 기본으로 갖는다.

no 항목 내용
1 kube-let 마스터 노드에 있는 kube-scheduler와 연동하여 워커 노드에 파드를 배치하고 실행한다.
또 실행 중인 파드의 상태를 정기적으로 모니터링하여 kube-scheduler에 통지한다.
2 kube-proxy 네트워크 통신의 라우팅 메커니즘

 

마스터 노드는 매니패스트 파일을 기준으로 각 워커 노드를 모니터하고 항상 파일에 설정된 상태로 유지한다.

 

'Data Engineering > 기초_인프라' 카테고리의 다른 글

[linux] cpu 사용량 추적 프로그램  (0) 2018.11.13
[network] 전파 대역 공부  (0) 2018.11.07