쿠베르네트스 1부

쿠베르네트스 건물


마스터 노드


작업 노드


Etcd



Kubernetes & Docker와 그들의 기본적인 정의가 왜 필요한지 알고 싶으면 마음대로 읽으세요 --->

마스터 노드


노드란?노드는 컴퓨터, pc 또는 가상 컴퓨터를 가리킨다.당신은 주 노드를 모든 회사의 매니저 직위로 볼 수 있고, 일꾼 노드를 이 회사의 직원으로 볼 수 있습니다.이것은 완전히 당신이 노드를 작업 노드나 주 노드로 분배하는 것에 달려 있지만, 이것은 단지 하나의 주 노드 & 주 노드 아래 또는 집단 중의 여러 개의 작업 노드일 뿐이라는 것을 기억하십시오.
집단은 하나의 작업 기계로 노드라고 불리며 용기화 응용 프로그램을 운행한다.모든 집단에는 적어도 하나의 작업 노드가 있다.
이것은 k8 집단의 상태를 관리하고 업무 노드를 관리하고 제어한다.그것은 또한 제어판을 위한 환경을 제공했다.

마스터 노드의 구성 요소: -


1) API 서버


2) 스케줄러


3) 디렉터 관리자


4) Etcd


           

1) API 서버: -


'kube 제어'는'주api 제어'노드에서 실행되는 중앙 구성 요소를 가리킨다.주 노드의 모든 구성 요소와 통신합니다.API 서버는 etcd 데이터 저장소와 통신하는 유일한 마스터 노드 구성 요소로, Kubernetes 클러스터 상태 정보를 읽고 저장하는 데 사용됩니다.처리 과정에서 etcd에서 작업 노드의 현재 상태를 읽고 필요한 상태와 일치시킵니다.현재 etcd가 데이터 저장소라고 가정하면, 우리는 뒤에서 그것을 상세하게 소개할 것이다.

2) 스케줄러(kube 스케줄러): -


새 POD를 만들면, 스케줄러의 작업은 새로운 POD 또는 비스케줄링 POD를 실행 가능한 노드에 분배하는 것입니다.기중기 중의 모든 용기는 자원에 대해 서로 다른 요구를 가지고, 각 기중기도 서로 다른 요구를 가지고 있다.따라서 스케줄러는 이러한 수요에 따라 집단에서 수요를 충족시키는 노드를 검색한다.그 요구를 만족시키는 노드나 그 요구를 만족시키는 노드를 실행 가능한 노드라고 한다.문제는 스케줄러가 작업 노드의 설정을 어디서 알 수 있느냐는 것이다.Etcd에는 클러스터의 모든 작업 노드 구성이 포함되어 있습니다.스케줄러는api 서버 설정 노드에 가깝고api 서버는 etcd에서 데이터를 수집하여 스케줄러에게 제공합니다.스케줄러는 이 데이터 (노드 설정) 를 사용하여pod를 실행 가능한 노드로 조정합니다.

참고: -


스케줄러가 POD에 실행 가능한 노드를 찾지 못하면, 스케줄러가 실행 가능한 노드를 찾을 때까지 그대로 유지됩니다. 이런 POD는 비계획적인 POD라고 부릅니다.

3) 디렉터 관리자: -


여기에 회로를 제어하는 예가 하나 있다. 방 안의 항온기이다.
온도를 설정할 때, 이것은 항온기에 당신이 원하는 상태를 알려 줍니다.실온은 현재 상태입니다.항온기는 장치를 열거나 닫아서 현재 상태를 필요한 상태에 더욱 가깝게 합니다.
컨트롤러는 회로를 제어하거나 회로를 감시하는 것(시스템 상태를 조절하는 비종지 회로)으로 작업 노드 사이에서 지속적으로 운행하고 각 노드의 현재 상태를 주의하며 집단의 필요한 상태(대상의 설정 데이터로 제공)를 현재 상태와 평행으로 비교한다.여기서 현재 상태는 작업 노드가 실행 중이거나 실행 중인 작업을 가리킨다.주의하면 모든 작업 노드의 현재 상태 데이터를api 서버에 보내고api 서버는 이 데이터를 etcd에 저장하여 나중에 사용할 수 있도록 합니다.컨트롤러는 현재 상태를 필요한 상태에 더욱 가깝게 하는 것을 책임진다.

4) Etcd:-


Kubernetes 클러스터 상태를 저장하는 키 값 데이터 저장소입니다.그것은 또한 집단에 존재하는 모든 노드의 설정 데이터를 저장한다.새 데이터는 데이터 저장소에 첨부하여 쓰기만 하면 데이터 저장소의 데이터는 영원히 교체되지 않는다.
참고: - kube api 서버만 액세스할 수 있습니다.

작업 노드


스케줄러는pod에 실행 가능한 노드를 분배합니다.이제 작업 노드의 역할은 여기서부터 시작한다.Worker 노드는 자신의 업무, 즉 다음에 무엇을 해야 하는지 잘 알고 있다.

참고: -


참고로 Kubernetes에서는 모든 구성 요소가 자신의 일을 잘 알고 있기 때문에 다음 단계에 무엇을 해야 할지 알려줄 필요가 없습니다.예를 들어 - 위에서 보듯이 메인 노드는 스케줄러의 역할을 알려주지 않고 POD를 실행 가능한 노드로 조정한다.스케줄러는 자신의 역할을 잘 알고 새로 만든 아나운서나 계획되지 않은 아나운서를 받으면 일을 시작한다.이와 유사하게 업무 노드가 POD를 얻자마자 자신의 일을 안다.그것은 클라이언트 응용 프로그램에 실행 환경을 제공했다.이 프로그램들은 POD에 봉인되어 있으며, 주 노드에서 실행되는 군집 제어 평면 프록시 제어입니다.
Pod는 Kubernetes에서 가장 작은 스케줄러입니다. 다시 말하면 Pod는 하나 이상의 용기의 집합입니다.이 용기에서 프로그램을 실행합니다.

작업 노드 구성 요소


1) 컨테이너 런타임


2) 쿠벨레


3) 쿠베 대리



1) 컨테이너 런타임


용기가 운행할 때 용기를 운행하는 소프트웨어를 책임진다.Kubernetes는 '용기 배열 엔진' 이나 '용기 관리 엔진' 으로 묘사되지만, 용기를 직접 처리할 수 있는 능력은 없습니다.Kubernetes는 컨테이너의 라이프 사이클을 관리하기 위해 스케줄링 Pod 및 컨테이너의 노드에 컨테이너가 실행될 때 필요합니다.Kubernetes는 다음 컨테이너가 실행될 때 지원합니다. -

부두 노동자


컨테이너를 용기로 실행할 때의 용기 플랫폼이지만, Kubernetes에서 가장 유행하는 용기가 실행될 때입니다.

CRI-O


Kubernetes의 경량 컨테이너로 실행할 때 Docker 이미지 레지스트리도 지원합니다.

컨테이너


간단하고 이식 가능한 용기가 작동할 때 건장성을 제공한다.

프락티


Kubernetes의 가상 기기 모니터링 프로그램 기반 컨테이너가 실행될 때

참고: -


쉽게 말하면 Kubernetes는 용기를 실행할 능력이 없습니다.그래서 이 용기들을 운행하기 위해 도구가 필요하다.이 공구들은 용기가 운행할 때라고 불린다.Kubernetes의 업무는 이 용기들을 관리하는 것이다.

2) 쿠벨레


kubelet은 모든 노드에서 실행되는 에이전트로 주 노드의 제어 평면 구성 요소 (즉api 서버) 와 통신합니다.이것은api 서버에서 명령을 받고 노드의 용기와 운행할 때pod와 관련된 용기를 운행합니다.

참고: -


스케줄러가 클러스터에 있는 실행 가능한 노드로 POD를 스케줄링할 때그리고 작업 노드 구성 요소, 즉 kubelet이 작업을 시작합니다.

Kubelet은 또한 Pod 운행 용기의 건강 상태를 모니터링한다.또한 컨테이너 런타임 인터페이스(CRI)를 사용하여 컨테이너 런타임을 연결합니다.
CRI는 두 가지 서비스를 제공합니다. -
1) 이미지 서비스: - 이미지와 관련된 모든 업무를 담당한다.
조작하다.
2) 운행시 서비스: - 모든 크레인 및
컨테이너 기반 작업

3) 쿠베 대리


Kubernetes 네트워크 에이전트는 각 노드에서 실행됩니다.그것은 노드의 모든 네트워크 규칙을 동적 업데이트하고 유지하는 것을 책임진다.

좋은 웹페이지 즐겨찾기