본문 바로가기
database/DevOps를 위한 Kubernetes 시작

{쿠버네티스와 클러스터 아키텍쳐} 컴포넌트와 애드온

by 문파워 2020. 11. 25.

요약

더보기
  1. 쿠버네티스 마스터 : 쿠버네티스의 설정 환경을 저장하고 전체 클러스터를 관리하는 역할을 한다.
  2. 쿠버네티스 노드 : 파드나 컨테이너처럼 쿠버네티스 위에서 동작하는 워크로드를 호스팅하는 역할을 한다.
  3. 쿠버네티스 애드온 : 쿠버네티스 리소스 (데몬셋, 디플로이몬트 등) 를 이용하여 클러스터 기능을 구현한다.

 

※ 쿠버네티스는 크게 Master / Node 두 개의 컴포넌트로 분리된다.

1. 쿠버네티스 마스터 

  • 마스터는 쿠버네티스의 설정 환경을 저장하고 전체 클러스터를 관리하는 역할
  • etcd, kube-apiserver, kube-scheduler, kube-controller-manager

 

2. 쿠버네티스 노드

  • 노드는 Pod나 컨테이너처럼 쿠버네티스 위에서 동작하는 워크로드를 호스팅하는 역할
  • 노드에서는 kubelet, kube-proxy, docker 등이 실행된다
  • 실제 사용자가 사용하는 컨테이너들은 대부분 노드에서 실행된다.

Kubernetes Components (출처: https://kubernetes.io/docs/concepts/overview/components/)

 

 


 

 

※ (1) 마스터 컴포넌트

  • 개념

클러스터 전체를 관리하는 컨트롤러

API server, Controller Manager, Scheduler, etcd로 구성

관리자는 Master의 API Server를 통해 K8s를 관리하며 모든 컴포넌트들은 API Server를 통해 서로 통신한다.

 

  • kube-scheduler 
  • kube-controller-manager
  • kube-apiserver
  • ETCD

 

※ (2) 노드 컴포넌트 (노드 또는 워크라고 표현한다)

  • 개념

노드 컴포넌트는 동작중인 Pod를 유지시키고 쿠버네티스 런타임 환경을 제공하며, 모든 노드상에서 동작 

노드는 쿠버네티스에 있어서 워커 머신이며 클러스터에 따라 VM  또는 물리 머신이 될 수 있다.

여러개의 Pod는 하나의 노드위에서 동작할 수 있다. 

 

Pod 와  Componets 관계를 잘 이해해야 한다.

 

  • kubelet
  • kube-proxy (1)
  • kube-proxy (2)
  • Container Runtime

 

※ (3) 애드온

  • 개념

애드온은 쿠버네티스 리소스 (DaemonSet, Deployment ..) 를 이용하여 클러스터 기능을 구현한다.

애드온은 클러스터 내부에서 필요한 기능들을 위해 실행되는 Pod이다.

애드온에 사용되는 포드들은 디플로이먼트, 리플리케이션 컨트롤러 등에 의해 관리된다.

이들은 클러스터 단위의 기능을 제공하기 때문에 애드온에 대한 네임스페이스 리소스는 kube-system Namespace에 속한다.

 

  • DNS
  • dashboard (web UI)
  • Container Resource Monitoring
  • Cluster - level logging

 

 

 

 

댓글