自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

K8S組件最全詳解(九大組件原理圖解)

云計(jì)算 云原生
K8S的控制平面、和工作節(jié)點(diǎn)是集群正常運(yùn)行的核心,通過(guò)這兩部分的協(xié)同工作,K8S才能夠?qū)崿F(xiàn)高效的容器編排、管理、和自動(dòng)化運(yùn)維。

K8S

Kubernetes(簡(jiǎn)稱(chēng)K8s),是一個(gè)開(kāi)源的容器編排平臺(tái),用于自動(dòng)化部署、擴(kuò)展和管理容器化應(yīng)用程序。

K8S誕生于Google,基于其多年在生產(chǎn)環(huán)境中運(yùn)行容器的經(jīng)驗(yàn),現(xiàn)已成為現(xiàn)代微服務(wù)架構(gòu)、和云原生應(yīng)用的核心技術(shù)。

圖片圖片

K8S通過(guò)管理容器的生命周期,確保系統(tǒng)在大規(guī)模的生產(chǎn)環(huán)境中,可以高效穩(wěn)定地運(yùn)行。

K8S組件

k8s采用主從架構(gòu),其中集群中的所有節(jié)點(diǎn)都由控制平面管理、和調(diào)度。

如下圖所示:

圖片圖片

K8S組件,主要會(huì)包含兩大最核心的組件:控制平面(Control Plane)、工作節(jié)點(diǎn)(Worker Nodes)。

控制平面(Control Plane):負(fù)責(zé)管理整個(gè)集群的狀態(tài),調(diào)度任務(wù),監(jiān)控集群正常運(yùn)行;

工作節(jié)點(diǎn)(Worker Nodes):運(yùn)行實(shí)際的應(yīng)用容器,負(fù)責(zé):容器的運(yùn)行、和管理。

如果你想掌握好K8s,最核心的就是掌握好:控制平面(Control Plane)和工作節(jié)點(diǎn)(Worker Nodes)。

下面,我就分別詳解:控制平面(Control Plane)和工作節(jié)點(diǎn)(Worker Nodes)@mikechen

控制平面組件

控制平面:負(fù)責(zé)管理 Kubernetes 集群中的所有節(jié)點(diǎn)、和 Pod。

它由以下組件組成,重點(diǎn)關(guān)注下圖的“黃色框”:

圖片圖片

“黃色框”會(huì)涉及到如下組件:API Server、Scheduler、Controller...等核心組件。

API Server

API Server:它是集群的入口,類(lèi)似微服務(wù)網(wǎng)關(guān)這樣,所有操作必須通過(guò) API Server。

負(fù)責(zé)接收來(lái)自用戶(hù)、和其他組件的請(qǐng)求,并通過(guò) REST API 提供集群管理功能。

Controller Manager

Controller Manager :是集群管理中的重要組件,它負(fù)責(zé)確保集群的實(shí)際狀態(tài)與期望狀態(tài)的一致性。

Controller Manager,是由多個(gè)控制器組成,每個(gè)控制器負(fù)責(zé)處理集群中的一種或、多種資源對(duì)象的狀態(tài)管理。

如下圖所示:

圖片圖片

每個(gè)控制器負(fù)責(zé):特定類(lèi)型的資源、或功能。

常見(jiàn)的控制器包括:

  • Deployment Controller:管理無(wú)狀態(tài)應(yīng)用的部署,包括“處理副本的創(chuàng)建、更新和滾動(dòng)升級(jí);
  • StatefulSet Controller:管理有狀態(tài)應(yīng)用的部署,適合需要持久化存儲(chǔ)、和有序部署的應(yīng)用(如:數(shù)據(jù)庫(kù));
  • ReplicaSet Controller:確保指定數(shù)量的 Pod 副本始終運(yùn)行,用于確保 Pod 副本數(shù)目符合期望;
  • Job Controller:Job 可以創(chuàng)建多個(gè) Pod,并在成功完成任務(wù)后終止 Pod;
  • CronJob Controller:類(lèi)似于 Linux 的 Cron 任務(wù),它會(huì)在指定的時(shí)間間隔內(nèi)創(chuàng)建 Job 實(shí)例;
  • DaemonSet Controller:確保每個(gè)節(jié)點(diǎn)上都有一個(gè) Pod 實(shí)例,適合需要在每個(gè)節(jié)點(diǎn)上運(yùn)行的服務(wù),如:日志收集器、監(jiān)控代理...等;
  • Namespace Controller:管理命名空間的生命周期,包括:創(chuàng)建/和刪除命名空間,以及相關(guān)資源的清理。

總之,控制器的設(shè)計(jì)使得 K8S,能夠在大規(guī)模環(huán)境中自動(dòng)化管理容器、和服務(wù)。

Scheduler

負(fù)責(zé)根據(jù)調(diào)度策略(如:資源使用率、親和性...等),將新創(chuàng)建的 Pod 分配到合適的節(jié)點(diǎn)上。

比如:通過(guò) CPU、內(nèi)存、GPU ...等資源的要求,Scheduler 確保節(jié)點(diǎn)有足夠的可用資源來(lái)滿(mǎn)足 Pod 的需求。

并且,通過(guò)調(diào)度策略,比如:公平調(diào)度、優(yōu)先級(jí)...等,確保資源的合理分配和高效利用。

etcd

分布式鍵值存儲(chǔ)系統(tǒng),用于保存集群的所有配置信息、和狀態(tài)數(shù)據(jù)。

etcd,重點(diǎn)保證數(shù)據(jù)的一致性、和持久性。

以及,提供集群狀態(tài)的快速讀取、和修改能力。

工作節(jié)點(diǎn)的組件

工作節(jié)點(diǎn)組件:運(yùn)行實(shí)際的應(yīng)用容器,負(fù)責(zé):容器的執(zhí)行、和管理。

每個(gè)工作節(jié)點(diǎn),包含以下“綠色框”所示組件:

圖片圖片

工作節(jié)點(diǎn)是運(yùn)行實(shí)際應(yīng)用程序的地方,它接收 API Server 的調(diào)度指令并運(yùn)行 Pod。

工作節(jié)點(diǎn)上的核心組件包括:

Kubelet

每個(gè)節(jié)點(diǎn)上的代理,負(fù)責(zé)確保 Pod 正常運(yùn)行。

Pod是 K8S中最小的可部署單元,通常由一個(gè)、或多個(gè)緊密耦合的容器組成。

如下圖所示:

圖片圖片

Pod 是 Kubernetes 中的基本構(gòu)建塊,提供了容器的封裝、和管理功能。

它們可以包含一個(gè)、或多個(gè)容器,這些容器共享:網(wǎng)絡(luò)、存儲(chǔ)資源,并在同一個(gè)環(huán)境中運(yùn)行。

當(dāng)創(chuàng)建一個(gè) Pod 時(shí),K8S調(diào)度器,會(huì)將 Pod 調(diào)度到合適的工作節(jié)點(diǎn)上。

調(diào)度器根據(jù)資源需求、節(jié)點(diǎn)的負(fù)載、和調(diào)度策略來(lái)選擇節(jié)點(diǎn)。

一旦 Pod 被調(diào)度到節(jié)點(diǎn)上,kubelet 在節(jié)點(diǎn)上啟動(dòng)并運(yùn)行 Pod 中的容器。

Kube-proxy

網(wǎng)絡(luò)代理,管理網(wǎng)絡(luò)規(guī)則,確保容器、和服務(wù)之間的網(wǎng)絡(luò)通信。

比如:使用 iptables 、或 ipvs 維護(hù)網(wǎng)絡(luò)規(guī)則,將流量轉(zhuǎn)發(fā)到相應(yīng)的 Pods。

容器運(yùn)行時(shí)

負(fù)責(zé)運(yùn)行容器,如:Docker、containerd 等。

主要復(fù)制:拉取容器鏡像,創(chuàng)建、和運(yùn)行容器。

以及,提供容器的生命周期管理,如:?jiǎn)?dòng)、停止和監(jiān)控容器...等等。

總之,K8S的控制平面、和工作節(jié)點(diǎn)是集群正常運(yùn)行的核心,通過(guò)這兩部分的協(xié)同工作,K8S才能夠?qū)崿F(xiàn)高效的容器編排、管理、和自動(dòng)化運(yùn)維。

責(zé)任編輯:武曉燕 來(lái)源: mikechen的互聯(lián)網(wǎng)架構(gòu)
相關(guān)推薦

2023-07-04 07:30:03

容器Pod組件

2021-03-11 12:31:33

K8sCoreDNSDNS服務(wù)器

2022-02-11 23:11:09

Kubernetes集群容器化

2024-11-15 12:04:33

K8S容器化應(yīng)用

2024-05-27 00:00:10

KubernetesK8s云原生

2022-09-05 08:26:29

Kubernetes標(biāo)簽

2022-01-05 08:53:13

Spring原理分析MVC

2021-04-12 20:42:50

K8S端口內(nèi)存

2024-06-26 00:22:35

2022-04-22 13:32:01

K8s容器引擎架構(gòu)

2022-04-05 09:24:57

K8s安全網(wǎng)絡(luò)安全時(shí)間響應(yīng)

2023-11-06 07:16:22

WasmK8s模塊

2024-10-06 12:40:26

2024-09-05 08:28:25

2023-10-27 08:39:50

KubernetesK8s

2024-12-30 08:58:04

2023-12-13 15:31:14

2024-04-19 14:44:43

模型K8s人工智能

2023-06-06 08:14:18

核心Docker應(yīng)用程序

2023-09-06 08:12:04

k8s云原生
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)