[Kubernetes] Master Node/Worker Node의 구조에 대해 이해해보자!

GoodCoder·2023년 6월 2일
0

쿠버네티스개념

목록 보기
3/6

Intro

Kubernetes에서 어떻게 구성되고 연결되는지 확인해보자!

Main

앞서 Kubernetes에 대해 Master Node/Worker Node에 대한 기본적인 개념에 대해 설명이 되었다..!
https://velog.io/@diligent/Kubernetes-Master-NodeWorker-node%EC%97%90-%EB%8C%80%ED%95%B4-%EC%9D%B4%ED%95%B4%ED%95%98%EC%9E%90

우리는 여기서 Master Node와 Worker Node가 각각 어떠한 방식으로 진행되는지를 확인해봐야한다.

Master Node : "일하는 녀석들을 관리하는 곳" => Container를 관리하는 메인
Worker Node : "진짜 일하는 녀석들" => Container들이 실제 있는 위치

아래와 같은 그림들 통해 구조와 원리에 대해 이해해보자!

Master Node부터 살펴보자!
1. Kube API-Server : Rest-API로 통신하는 곳이다. 해당 API-Server에서 클러스터 내 모든 구성요소와 상호작용하기 위한 인터페이스 역할을 하는 곳이다!
2. Controller : 클러스터 내 일정한 상태를 유지하기 위한 곳이다! 우리가 이후에 리소스의 유형을 생성할 때 이러한 리소스들의 일정 상태를 유지하기 위한 곳이다! => Container를 유지/관리하기 위한 곳이라고 생각하면 편하다!
3. Scheduler : 파드가 생성될 때 노드를 최대한 적합한 곳에 연결하게 하기 위한 장소이다! => 예를 들어 EC2 1의 리소스가 많이 몰려있다면 새로 생성되는 파드는 이러한 리소스들을 판단해서 EC2 2에 연결하는 방식 등이다
4. ETCD : 고가용성 키-값 저장소로서 현재 Kubernetes의 모든 것들을 저장하는 장소이다. => 클러스터 전체에 공통된 리소스들을 확인해줄수 있으며 오류 발생 시에도 ETCD에서 빠르게 데이터를 가져와 구축할 수 있기에 매우 중요하다.

위와 같은 것들을 보면 그냥 한마디로 "쿠버네티스 내 리소스들을 유지/관리하는 Manager"의 역할인 것이다!

그렇다면 이제 밑에서 일하는 얘들을 알아보자.
1. kubelet : 파드의 실행과 관리를 담당하며 Worker node 내의 관리자이다. => 그냥 Master Node와의 상호작용하는 곳이다!
2. Proxy : Reverse Proxy와 같이 Traffic 분산을 위해 처리하는 곳이다. => 우리가 흔히 아는 Nginx와 같은 기능이며 쿠버네티스에서는 Ingress-Nginx를 사용한다.
3. DNS : SSL인증, 도메인 등을 설치하는 곳이다. => 이후 Certificate.yaml과 같이 http > https로 변경하기 위한 설정 등을 여기서 한다.
4. Pods : 실제 Container로서 실제 기능들을 모아놓은 곳이다. => 이 부분은 약간 할말이 많은데 Deployment, Service, ReplicaSets 등에 대한 개념은 다음 장에서 같이 알아보자!

Worker Node는 "실질적으로 일하는 곳"이다!

Summary

Kubernetes의 구조에 대해 알아봤다.
kubernetes의 Master Node, Worker Node 내에서도 많은 부분들이 연결되어 있다.
Kubernetes 구조도 직접 그렸는데 그리기 어렵다.

profile
항상 끊임없이 노력하는 개발자입니다.

0개의 댓글