본문 바로가기
IT Knowledge/Kubernetes

Kubernetes Cluster의 구성요소

by Seok. 2022. 4. 8.
반응형

[쿠버네티스 클러스터의 구성요소]

크게 2개의 부분으로 나눌수 있습니다.

Control Plane(또는 마스터노드)

  • 클러스터를 제어,상태, 구성에 필요한 데이터가 함께 있습니다.
  • 컨테이너가 필요한 리소스를 갖고 충분한 횟수로 실행되도록 하는 중요한 작업을 맡습니다.

Compute Machines(또는 노드)(또는 워커노드)

  • 최소 1 이상의 컴퓨팅 노드가 필요.
  • 클러스터 용량 확장이 필요하다면. 해당 노드를 추가하면 됩니다.

[세부기능 소개]

Control Plane > Kube-apiserver

kube-apiserver는 kubernetes api를 받아들이는 기능으로. Kubernetes 마스터 노드의 Frontend 이며,

내부 외부적으로 kubernetes에 요청을 보냈을 때, 요청이 유효한지를 판별한후 요청을 처리합니다.

(REST 호출, kubectl, kubeadm과 같은 CLI를 통해 API에 액세스 있습니다. )

 

 

Control Plane >Kube-scheduler

kube-scheduler CPU or 메모리와 같은 Pod의 요구사항과 함께, 클러스터의 상태를 고려하여, Pod를 적절한  노드에 예약하는 역할을 합니다.

클러스터가 양호한 상태인지, Pod가 어디 Node에 적합한지 등을 다룹니다.

 

 

Control Plane >Kube-controller-manager

kube-controller-manager에는 여러 컨트롤러 기능이 하나로 통합되어 있습니다.

  • 실제로 클러스터를 실행하고
  • 스케줄러를 참고하여 정확한 수의 Pod가 실행되게 합니다.
  • Pod에 문제가 생기면 이를 감지하고 대응합니다.
  • 서비스를 Pod에 연결하므로 요청이 적절한 엔드포인트로 이동합니다. 또한 계정 및 API 액세스 토큰 생성을 위한 컨트롤러가 있습니다.

 

Control Plane >Etcd

설정 데이터와 클러스터의 상태에 관한 정보는 키-값 저장소 데이터베이스인 etcd에 상주합니다.

 


 

Worker > Kubelet

Worker Node에는 Master Node와 통신하는 kubelet이 있습니다. Master Node에서 노드에 작업을 요청하는 경우 kubelet이 이 작업을 실행합니다.

 

 

Worker > kube-proxy

kube-proxy는 각 Worker Node에는 쿠버네티스 네트워킹 서비스를 위한 네트워크 프록시입니다.

kube-proxy는 클러스터 내부 또는 외부의 네트워크 통신을 처리합니다.

 


 

(추가)

Persistant Stroage

  • 클러스터에 연결된 어플리케이션 데이터 관리를 위한 저장공간
  • 사용자가 스토리지 인프라에 관한 정보를 모르더라도 스토리지 리소스를 요청할 있습니다.
  • Ceph, NFS 등...

Container registry

  • Kubernetes 의존하는 컨테이너 이미지는 컨테이너 레지스트리에 저장
  • Ex) JFrog Artifactory

 

Pod

https://lifeplan-b.tistory.com/25?category=886551

 

kubernetes의 포드(Pod) 소개

쿠버네티스에서는 Pod라는 단위로 컨테이너를 묶어서 관리한다. 1개의 Pod는 1개의 컨테이너 or 2개 이상의 컨테이너를 포함한다. (일반적으로는 단일 컨테이너를 포함해서 사용한다) 다수의 컨테

lifeplan-b.tistory.com

 

 

 

 

참조 : https://www.redhat.com/ko/topics/containers/kubernetes-architecture

반응형

댓글