[K8S] Node에 대해 알아보자

Drumj·2024년 9월 28일
0

쿠버네티스

목록 보기
5/5

Node

쿠버네티스에는 2종류의 node가 있다.
Master Node 와 Worker Node(또는 그냥 Node)

각각의 노드들은 하는 일이 다른데 간략하게 알아보도록 하자.


Master Node

마스터 노드가 하는 일은 Worker Node 를 관리하는 일을 한다.

이 마스터 노드의 구성요소는 다음과 같다.

  1. Distirbute Database (etcd)
  2. API Server(kube-apiserver)
  3. Scheduler
  4. Controller Manager

etcd

가장 중요한 부분은 etcd(분산 데이터 베이스)이고 이것은 우리가 실행하는 모든 구성 변경 사항, 생성하는 모든 Deployment, 모든 확장 작업 등 모든 세부 정보가 여기에 저장된다.

즉 Deployment, Service 등 우리가 만든 모든 구성들이 여기에 저장된다는 것이다.

Api Server

API Server 는 kubectl 이나 구글 클라우드 콘솔로 작업을 하려고 할 때 변화를 감지해서 처리를 시작한다.

Scheduler

노드에 포드를 스케줄링하는 역할을 한다.
쿠버네티스 클러스터에는 여러 개의 노드가 있고 우리가 새로운 포드를 만들 때 어떤 노드가 포드에 스케줄 될 지를 결정해야 하는데 스케줄러가 여러 요소를 고려해서 포드를 적당한 노드에 스케줄 시킨다.

Controller Manager

클러스터의 전반적인 상태를 관리한다.
쿠버네티스의 실제 상태를 원하는 상태와 일치시키는 역할을 한다.


Worker Node

우리가 실행하고자 하는 애플리케이션은 이 워커노드 안에 있다.

워커 노드의 구성요소는 다음과 같다.

  1. Node Agent(kubelet)
  2. Networking Component(kube-proxy)
  3. Container Runtime
  4. PODS

Node Agent(kubelet)

노드 안의 상황을 지켜보고 그 상황을 마스터 노드에 보고하는 일을 한다.

Networking Component(kube-proxy)

Deployment 를 만들고 service 를 노출하는 기능을 한다.

Container Runtime

포드 안의 컨테이너를 실행시키려고 할 때 필요한 것이 바로 이 container runtime 이다.
제일 많이 사용되는 것은 도커이고 다른 모든 OCI도 사용할 수 있다.

PODS

우리의 서비스, 즉 애플리케이션이 담겨져 있는 곳이다.


참고

  • Udemy - [한글자막] 초보자를 위한 Kubernetes 완벽강의 : 구글 Cloud, AWS 및 Azure

0개의 댓글