클러스터
쿠버네티스를 배포하면 클러스터를 얻음 → 쿠버네티스를 실행 중이라는 것은 클러스터를 실행중인 것과 같다.
쿠버네티스 클러스터는 컨테이너화된 애플리케이션을 실행하는 노드라고 하는 워커 머신의 집합.
모든 클러스터는 최소 한 개의 워커 노드를 가진다.
워커 노드는 애플리케이션의 구성요소인 파드를 호스트한다.
컨트롤 플레인은 워커 노드와 클러스터 내 파드를 관리
일반적으로 컨트롤 플레인이 여러 컴퓨터에 걸쳐 실행되고, 클러스터는 일반적으로 여러 노드를 실행하므로 내결함성과 고가용성이 제공
정리
컨트롤 플레인 : 제어영역, Master Node
노드 : 컨테이너 실행 역할 , Worker Node
컨트롤 플레인, Master Node
기본적으로 컨트롤 플레인 컴포넌트는 클러스터에 관한 전반적인 결정을 수행, 클러스터 이벤트를 감지하고 반응
kube-apiserver
API 서버는 쿠버네티스 API를 노출하는 쿠버네티스 컨트롤 플레인 컴포넌트이다. API 서버는 쿠버네티스 컨트롤 플레인의 프론트 엔드이다.
kube-apiserver를 통해 구현, 수평으로 확장되도록 디자인 되어 더 많은 인스턴스를 배포해서 확장 가능, 트래픽 균형 조절
etcd
모든 클러스터 데이터를 담는 쿠버네티스 백엔드의 저장소로 사용되는 일관성·고가용성 키-값 저장소.
kube-scheduler
노드가 배정되지 않은 새로 생성된 파드 를 감지하고, 실행할 노드를 선택하는 컨트롤 플레인 컴포넌트.
kube-controller-manager
컨트롤러 프로세스를 실행하는 컨트롤 플레인 컴포넌트.
논리적으로, 각 컨트롤러는 분리된 프로세스이지만, 복잡성을 낮추기 위해 모두 단일 바이너리로 컴파일되고 단일 프로세스 내에서 실행된다.
- 노드 컨트롤러: 노드가 다운되었을 때 통지와 대응에 관한 책임을 가진다.
- 잡 컨트롤러: 일회성 작업을 나타내는 잡 오브젝트를 감시한 다음, 해당 작업을 완료할 때까지 동작하는 파드를 생성한다.
- 엔드포인트슬라이스 컨트롤러: (서비스와 파드 사이의 연결고리를 제공하기 위해) 엔드포인트슬라이스(EndpointSlice) 오브젝트를 채운다
- 서비스어카운트 컨트롤러: 새로운 네임스페이스에 대한 기본 서비스어카운트(ServiceAccount)를 생성한다
cloud-controller-manager
클라우드별 컨트롤 로직을 포함하는 쿠버네티스 컨트롤 플레인 컴포넌트
이를 통해 클러스터를 클라우드 공급자의 API에 연결하고, 해당 클라우드 플랫폼과 상호 작용하는 컴포넌트와 클러스터와만 상호 작용하는 컴포넌트를 구분할 수 있게 해준다.
cloud-controller-manager는 클라우드 제공자 전용 컨트롤러만 실행
자신의 사내 또는 PC 내부의 학습 환경에서 쿠버네티스를 실행 중인 경우 클러스터에는 클라우드 컨트롤러 매니저가 없음.
두 컨트롤러 매니저 모두 논리적으로 독립적인 여러 컨트롤 루프를 단일 프로세스로 실행하는 단일 바이너리로 결합. 수평으로 확장해서 성능 향상 또는 장애를 견딜 수 없음.
다음 컨트롤러들은 클라우드 제공 사업자의 의존성을 가질 수 있음.
- 노드 컨트롤러: 노드가 응답을 멈춘 후 클라우드 상에서 삭제되었는지 판별하기 위해 클라우드 제공 사업자에게 확인하는 것
- 라우트 컨트롤러: 기본 클라우드 인프라에 경로를 구성하는 것
- 서비스 컨트롤러: 클라우드 제공 사업자 로드밸런서를 생성, 업데이트 그리고 삭제하는 것
노드 컴포넌트
노드 컴포넌트는 동작 중인 파드를 유지시키고 쿠버네티스 런타임 환경을 제공하며, 모든 노드 상에서 동작한다.
Kubelet
클러스터의 각 노드에서 실행되는 에이전트.
Kubelet은 파드에서 컨테이너가 확실하게 동작하도록 관리한다.
클러스터
쿠버네티스를 배포하면 클러스터를 얻음 → 쿠버네티스를 실행 중이라는 것은 클러스터를 실행중인 것과 같다.
쿠버네티스 클러스터는 컨테이너화된 애플리케이션을 실행하는 노드라고 하는 워커 머신의 집합.
모든 클러스터는 최소 한 개의 워커 노드를 가진다.
워커 노드는 애플리케이션의 구성요소인 파드를 호스트한다.
컨트롤 플레인은 워커 노드와 클러스터 내 파드를 관리
일반적으로 컨트롤 플레인이 여러 컴퓨터에 걸쳐 실행되고, 클러스터는 일반적으로 여러 노드를 실행하므로 내결함성과 고가용성이 제공
정리
컨트롤 플레인 : 제어영역, Master Node
노드 : 컨테이너 실행 역할 , Worker Node
컨트롤 플레인, Master Node
기본적으로 컨트롤 플레인 컴포넌트는 클러스터에 관한 전반적인 결정을 수행, 클러스터 이벤트를 감지하고 반응
kube-apiserver
API 서버는 쿠버네티스 API를 노출하는 쿠버네티스 컨트롤 플레인 컴포넌트이다. API 서버는 쿠버네티스 컨트롤 플레인의 프론트 엔드이다.
kube-apiserver를 통해 구현, 수평으로 확장되도록 디자인 되어 더 많은 인스턴스를 배포해서 확장 가능, 트래픽 균형 조절
etcd
모든 클러스터 데이터를 담는 쿠버네티스 백엔드의 저장소로 사용되는 일관성·고가용성 키-값 저장소.
kube-scheduler
노드가 배정되지 않은 새로 생성된 파드 를 감지하고, 실행할 노드를 선택하는 컨트롤 플레인 컴포넌트.
kube-controller-manager
컨트롤러 프로세스를 실행하는 컨트롤 플레인 컴포넌트.
논리적으로, 각 컨트롤러는 분리된 프로세스이지만, 복잡성을 낮추기 위해 모두 단일 바이너리로 컴파일되고 단일 프로세스 내에서 실행된다.
- 노드 컨트롤러: 노드가 다운되었을 때 통지와 대응에 관한 책임을 가진다.
- 잡 컨트롤러: 일회성 작업을 나타내는 잡 오브젝트를 감시한 다음, 해당 작업을 완료할 때까지 동작하는 파드를 생성한다.
- 엔드포인트슬라이스 컨트롤러: (서비스와 파드 사이의 연결고리를 제공하기 위해) 엔드포인트슬라이스(EndpointSlice) 오브젝트를 채운다
- 서비스어카운트 컨트롤러: 새로운 네임스페이스에 대한 기본 서비스어카운트(ServiceAccount)를 생성한다
cloud-controller-manager
클라우드별 컨트롤 로직을 포함하는 쿠버네티스 컨트롤 플레인 컴포넌트
이를 통해 클러스터를 클라우드 공급자의 API에 연결하고, 해당 클라우드 플랫폼과 상호 작용하는 컴포넌트와 클러스터와만 상호 작용하는 컴포넌트를 구분할 수 있게 해준다.
cloud-controller-manager는 클라우드 제공자 전용 컨트롤러만 실행
자신의 사내 또는 PC 내부의 학습 환경에서 쿠버네티스를 실행 중인 경우 클러스터에는 클라우드 컨트롤러 매니저가 없음.
두 컨트롤러 매니저 모두 논리적으로 독립적인 여러 컨트롤 루프를 단일 프로세스로 실행하는 단일 바이너리로 결합. 수평으로 확장해서 성능 향상 또는 장애를 견딜 수 없음.
다음 컨트롤러들은 클라우드 제공 사업자의 의존성을 가질 수 있음.
- 노드 컨트롤러: 노드가 응답을 멈춘 후 클라우드 상에서 삭제되었는지 판별하기 위해 클라우드 제공 사업자에게 확인하는 것
- 라우트 컨트롤러: 기본 클라우드 인프라에 경로를 구성하는 것
- 서비스 컨트롤러: 클라우드 제공 사업자 로드밸런서를 생성, 업데이트 그리고 삭제하는 것
노드 컴포넌트
노드 컴포넌트는 동작 중인 파드를 유지시키고 쿠버네티스 런타임 환경을 제공하며, 모든 노드 상에서 동작한다.
Kubelet
클러스터의 각 노드에서 실행되는 에이전트.
Kubelet은 파드에서 컨테이너가 확실하게 동작하도록 관리한다.
다양한 방법을 통해 파드 스펙(PodSpec)의 집합을 받아 건강하게 동작중인 것을 확실히 함.
kube-proxy
kube-proxy는 클러스터의 각 노드에서 실행되는 네트워크 프록시로, 쿠버네티스의 서비스 개념의 구현부이다.
노드의 네트워크 규칙을 유지 관리
이 네트워크 규칙이 내부 네트워크 세션이나 클러스터 바깥에서 파드로 네트워크 통신을 할 수 있도록 함.
컨테이너 런타임
컨테이너 런타임은 컨테이너 실행을 담당하는 소프트웨어
'Cloud > Kubernates' 카테고리의 다른 글
[k8s, kubernates] 네임스페이스 (0) | 2024.07.09 |
---|---|
[k8s, kubernates] 파드 (0) | 2024.07.09 |
[k8s, kubernates] 오브젝트 (0) | 2024.07.09 |
[kubernates, k8s] 노드 (0) | 2024.07.08 |
[kubernates, k8s] 쿠버네티스의 배경과 개념 (0) | 2024.07.08 |