"쿠버네티스 컴포넌트"의 두 판 사이의 차이

35번째 줄: 35번째 줄:


===kube-scheduler===
===kube-scheduler===
노드가 할당되지 않은 새로 생성된 파드를 감시하고 실행할 노드를 선택하는 컨트롤 플레인 컴포넌트입니다.
노드가 할당되지 않은 새로 생성된 [[k8s 파드|파드]]를 감시하고 실행할 [[k8s 노드|노드]]를 선택하는 컨트롤 플레인 컴포넌트입니다.


스케줄링 결정에 고려되는 요소에는 개별 및 집합 자원 요구사항, 하드웨어/소프트웨어/정책 제약조건, 어피니티 및 안티-어피니티 사양, 데이터 로컬리티, 워크로드 간 간섭, 데드라인이 포함됩니다.
스케줄링 결정에 고려되는 요소에는 개별 및 집합 자원 요구사항, 하드웨어/소프트웨어/정책 제약조건, 어피니티 및 안티-어피니티 사양, 데이터 로컬리티, 워크로드 간 간섭, 데드라인이 포함됩니다.

2024년 7월 2일 (화) 23:01 판

1 개요

Crystal Clear action info.png 작성 중인 문서입니다.
Kuberentes Components
쿠버네티스 컴포넌트

https://kubernetes.io/docs/concepts/overview/components/


쿠버네티스를 배포하면 클러스터를 얻습니다.

쿠버네티스 클러스터는 노드라고 불리는 워커 머신 세트로 구성되며, 이 노드들은 컨테이너화된 애플리케이션을 실행합니다. 모든 클러스터에는 최소한 하나의 워커 노드가 있습니다.

워커 노드들은 애플리케이션 워크로드의 컴포넌트인 파드를 호스팅합니다. 컨트롤 플레인은 클러스터의 워커 노드와 파드를 관리합니다. 프로덕션 환경에서는 컨트롤 플레인이 보통 여러 컴퓨터에 걸쳐 실행되고, 클러스터는 보통 여러 노드를 실행하여 내결함성(fault-tolerance)과 고가용성(high availability)을 제공합니다.

이 문서는 완전하고 작동하는 쿠버네티스 클러스터를 구성하는 데 필요한 다양한 컴포넌트를 설명합니다.

Components-of-kubernetes.svg
쿠버네티스 클러스터의 컴포넌트

2 컨트롤 플레인 컴포넌트

컨트롤 플레인 컴포넌트는 클러스터에 대한 전반적인 결정을 내리고(예: 스케줄링), 클러스터 이벤트를 감지하고 대응합니다(예: Deployment의 replicas 필드가 충족되지 않을 때 새 파드를 시작).

컨트롤 플레인 컴포넌트는 클러스터의 모든 머신에서 실행될 수 있습니다. 그러나 간단히 하기 위해 설정 스크립트는 일반적으로 모든 컨트롤 플레인 컴포넌트를 같은 머신에서 시작하며, 이 머신에서는 사용자 컨테이너를 실행하지 않습니다. 여러 머신에 걸쳐 실행되는 예시 컨트롤 플레인 설정에 대해서는 kubeadm을 사용하여 고가용성 클러스터 생성하기를 참조하십시오.

2.1 kube-apiserver

API 서버는 Kubernetes 컨트롤 플레인의 컴포넌트로, Kubernetes API를 노출합니다. API 서버는 Kubernetes 컨트롤 플레인의 프론트 엔드 역할을 합니다.

Kubernetes API 서버의 주요 구현체는 kube-apiserver입니다. kube-apiserver는 수평 확장을 염두에 두고 설계되었습니다. 즉, 더 많은 인스턴스를 배포함으로써 확장할 수 있습니다. 여러 인스턴스의 kube-apiserver를 실행하고, 그 인스턴스들 간의 트래픽을 분산시킬 수 있습니다.

2.2 etcd

Kubernetes의 모든 클러스터 데이터를 위한 백엔드 스토어로 사용되는 일관성 있고 고가용성의 키-값 저장소입니다.

Kubernetes 클러스터가 etcd를 백엔드 스토어로 사용하는 경우, 데이터를 백업 계획을 반드시 마련해야 합니다.

etcd에 대한 자세한 정보는 공식 문서에서 확인할 수 있습니다.

2.3 kube-scheduler

노드가 할당되지 않은 새로 생성된 파드를 감시하고 실행할 노드를 선택하는 컨트롤 플레인 컴포넌트입니다.

스케줄링 결정에 고려되는 요소에는 개별 및 집합 자원 요구사항, 하드웨어/소프트웨어/정책 제약조건, 어피니티 및 안티-어피니티 사양, 데이터 로컬리티, 워크로드 간 간섭, 데드라인이 포함됩니다.

2.4 kube-controller-manager

2.5 cloud-controller-manager

3 노드 컴포넌트

3.1 kubelet

3.2 kube-proxy

3.3 컨테이너 런타임

4 애드온

4.1 DNS

4.2 웹 UI (대시보드)

4.3 컨테이너 리소스 모니터링

4.4 클러스터-수준 로깅

4.5 네트워크 플러그인

5 다음 내용

문서 댓글 ({{ doc_comments.length }})
{{ comment.name }} {{ comment.created | snstime }}