AVt天堂网 手机版,亚洲va久久久噜噜噜久久4399,天天综合亚洲色在线精品,亚洲一级Av无码毛片久久精品

當前位置:首頁 > 科技  > 軟件

Kubernetes 內(nèi)部原理:架構

來源: 責編: 時間:2023-09-20 21:56:12 368觀看
導讀在本文中,我們將深入探討 Kubernetes 架構,并探討其關鍵組件。一個 Kubernetes 集群由兩個主要組件組成:控制平面節(jié)點工作節(jié)點控制平面控制平面是 Kubernetes 集群的“大腦”,它協(xié)調(diào)和編排各種組件,以確保系統(tǒng)的期望狀態(tài)得

在本文中,我們將深入探討 Kubernetes 架構,并探討其關鍵組件。NTb28資訊網(wǎng)——每日最新資訊28at.com

一個 Kubernetes 集群由兩個主要組件組成:NTb28資訊網(wǎng)——每日最新資訊28at.com

  • 控制平面節(jié)點
  • 工作節(jié)點

NTb28資訊網(wǎng)——每日最新資訊28at.com

以下是重要的內(nèi)置 Kubernetes 控制器列表:NTb28資訊網(wǎng)——每日最新資訊28at.com

  • Node Controller:負責監(jiān)控集群中的節(jié)點狀態(tài)。它會檢測節(jié)點故障并啟動操作以替換失敗的節(jié)點或?qū)?pod 重新調(diào)度到健康的節(jié)點。
  • Replication Controller:確保 pod 的指定副本數(shù)始終運行。根據(jù)需要創(chuàng)建或終止 pod 以維護所需的副本計數(shù)。
  • Deployment Controller:擴展了 Replication Controller 的功能,允許您以聲明性方式定義和管理應用程序部署。它支持滾動更新、回滾和擴展。
  • StatefulSet Controller:通過確保穩(wěn)定和有序的擴展和升級,管理有狀態(tài)應用程序。它為每個 pod 分配唯一的網(wǎng)絡標識,并在重新調(diào)度時保持其標識。
  • **Daemon

Set Controller**:確保在所有或一部分節(jié)點上運行特定 pod 的副本。通常用于任務,如節(jié)點監(jiān)視代理或網(wǎng)絡組件。NTb28資訊網(wǎng)——每日最新資訊28at.com

  • Job Controller:管理批處理作業(yè),確保特定任務或作業(yè)的完成次數(shù)達到了指定的要求。
  • CronJob Controller:允許您使用類似于 cron 的語法在指定間隔內(nèi)調(diào)度任務。它根據(jù)定義的計劃創(chuàng)建作業(yè)。
  • Namespace Controller:確保集群中的每個命名空間都具有一組相應的資源,并強制資源隔離。
  • Service Account 和 Token Controller:自動為命名空間中的 pod 創(chuàng)建默認帳戶和訪問令牌。
  • Service Controller:監(jiān)視服務和端點,并根據(jù)創(chuàng)建、刪除或重新調(diào)度 pod 的情況更新它們。
  • Endpoint Controller:維護 endpoint 對象,根據(jù)標簽選擇器將服務與 pod 匹配。

5. 云控制器管理器 (CCM)

當 Kubernetes 部署在云環(huán)境中時,云控制器管理器充當 Kubernetes 集群和云平臺 API 之間的橋梁。它管理 Kubernetes 使用的云特定資源的生命周期。NTb28資訊網(wǎng)——每日最新資訊28at.com

NTb28資訊網(wǎng)——每日最新資訊28at.com

(1)它從主 Kubernetes 控制平面中卸載了云特定的控制循環(huán)和功能,減少了其復雜性,使其更易于維護和擴展。NTb28資訊網(wǎng)——每日最新資訊28at.com

(2)它托管各種云特定控制器,負責管理特定于云提供商的資源。這些控制器包括:NTb28資訊網(wǎng)——每日最新資訊28at.com

  • Node Controller:管理 Kubernetes 節(jié)點與云實例之間的交互,處理節(jié)點的生命周期操作,如創(chuàng)建、刪除和調(diào)整大小。
  • Route Controller:處理服務的云特定網(wǎng)絡配置,例如創(chuàng)建負載均衡器或管理 IP 地址。
  • Volume Controller:與云存儲服務集成,以云特定方式提供和管理持久卷。
  • Service Controller:與云提供商的負載均衡器服務互動,以創(chuàng)建、管理和更新 Kubernetes 服務的負載均衡器。

(3)CCM 管理云資源,確保它們與 Kubernetes 資源定義的期望狀態(tài)相匹配。例如,它可能根據(jù)縮放要求創(chuàng)建或釋放云實例。NTb28資訊網(wǎng)——每日最新資訊28at.com

(4)它與云提供商的 API 進行通信,執(zhí)行操作,例如創(chuàng)建實例、配置網(wǎng)絡、管理存儲資源等。NTb28資訊網(wǎng)——每日最新資訊28at.com

(5)它確保適當管理安全設置和憑據(jù),與云服務交互時進行管理。NTb28資訊網(wǎng)——每日最新資訊28at.com

工作節(jié)點

工作節(jié)點負責運行容器化應用程序。它包括以下組件。NTb28資訊網(wǎng)——每日最新資訊28at.com

NTb28資訊網(wǎng)——每日最新資訊28at.com

  • kubelet
  • kube-proxy
  • 容器運行時

1. Kubelet

Kubelet 是 Kubernetes 控制平面和節(jié)點上運行的容器之間的關鍵橋梁,確保集群的期望狀態(tài)得以實現(xiàn)和維護。NTb28資訊網(wǎng)——每日最新資訊28at.com

它在集群中的每個節(jié)點上運行一個代理組件,以將節(jié)點的狀態(tài)和資源利用率報告給 Kubernetes 控制平面。它不以容器形式運行,而是由 systemd 管理的守護程序。NTb28資訊網(wǎng)——每日最新資訊28at.com

NTb28資訊網(wǎng)——每日最新資訊28at.com

以下是 kubelet 的主要功能和職責:NTb28資訊網(wǎng)——每日最新資訊28at.com

  • 節(jié)點代理:kubelet 充當每個節(jié)點上的代理,將節(jié)點的狀態(tài)和容器的健康狀況報告給 Kubernetes 控制平面。
  • 健康監(jiān)控:kubelet 連續(xù)監(jiān)控 pod 中的容器的健康狀況。如果容器崩潰或變得不健康,kubelet 會采取適當?shù)拇胧缰匦聠尤萜骰蛘麄€ pod。
  • Pod 管理:kubelet 管理節(jié)點上 pod 的狀態(tài)。它確保根據(jù)從 Kubernetes API 服務器接收的 pod 定義,指定的 pod 正在運行且健康。
  • Pod 網(wǎng)絡:kubelet 與網(wǎng)絡插件協(xié)作,為節(jié)點上的 pod 設置網(wǎng)絡。它為 pod 分配 IP 地址,并確保容器可以相互通信以及與外部世界通信。
  • 卷管理:kubelet 管理 pod 定義中指定的卷,根據(jù)需要附加和分離卷。它確保數(shù)據(jù)持久性并允許容器訪問共享存儲。
  • 資源管理:kubelet 強制執(zhí)行 pod 定義中指定的資源約束,確保容器不會超出分配的 CPU 和內(nèi)存限制。它還處理對 CPU 和內(nèi)存等資源的請求。
  • 驅(qū)逐和清理:當節(jié)點上的資源變得稀缺時,kubelet 可以根據(jù)預定義的策略從 pod 中驅(qū)逐 pod,以釋放資源。它還在 pod 終止時清理任何剩余的資源。
  • 節(jié)點注冊:kubelet 向 Kubernetes 控制平面注冊節(jié)點,使控制平面能夠知道可用于調(diào)度 pod 的節(jié)點。

2. Kube 代理

Kube 代理,即 Kubernetes 代理,是運行在 Kubernetes 集群中每個節(jié)點上的網(wǎng)絡代理。其主要功能是管理 pod 和服務之間的網(wǎng)絡通信,為容器化應用程序提供可靠和一致的網(wǎng)絡環(huán)境。它負責以下任務:NTb28資訊網(wǎng)——每日最新資訊28at.com

  • 服務發(fā)現(xiàn):Kube 代理負責在集群內(nèi)啟用服務發(fā)現(xiàn)。它根據(jù)服務規(guī)范中定義的標簽和選擇器,維護網(wǎng)絡規(guī)則,將請求從服務轉(zhuǎn)發(fā)到適當?shù)?pod。
  • 負載均衡:Kube 代理為具有多個副本或?qū)嵗姆諏嵤┴撦d均衡。它將傳入請求分發(fā)給與服務的選擇條件相匹配的可用 pod。
  • 網(wǎng)絡地址轉(zhuǎn)換(NAT):Kube 代理對出站流量執(zhí)行網(wǎng)絡地址轉(zhuǎn)換(NAT)。這確保來自 pod 的流量看起來是從主機的 IP 地址發(fā)出的,從而允許外部系統(tǒng)正確響應。
  • ClusterIP 服務:對于 ClusterIP 服務(僅在集群內(nèi)部可訪問),Kube 代理設置 IPTables 規(guī)則,將流量轉(zhuǎn)發(fā)到根據(jù)其標簽選擇器匹配的正確 pod。
  • NodePort 服務:Kube 代理配置主機的防火墻,以將傳入流量轉(zhuǎn)發(fā)到 NodePort 服務的適當 pod。這允許使用每個節(jié)點上的靜態(tài)端口外部訪問服務。
  • 高可用性:Kube 代理致力于確保服務的高可用性。如果 pod 不可用或添加/刪除了,Kube 代理會自動更新網(wǎng)絡配置以正確路由流量。
  • 健康檢查:Kube 代理監(jiān)視與服務相關的端點和 pod 的健康狀況。如果 pod 變得不健康,Kube 代理停止轉(zhuǎn)發(fā)流量。

3. 容器運行時

容器運行時環(huán)境負責根據(jù) pod 規(guī)范創(chuàng)建、啟動、停止和管理容器。NTb28資訊網(wǎng)——每日最新資訊28at.com

一些常用的 Kubernetes 容器運行時包括 Docker、containerd、CRI-O、rkt(發(fā)音為 "rocket")等。NTb28資訊網(wǎng)——每日最新資訊28at.com

  • 容器管理:容器運行時環(huán)境負責根據(jù) pod 定義創(chuàng)建、啟動、停止和管理容器。
  • 鏡像管理:它根據(jù) pod 定義中指定的鏡像引用從容器倉庫(如 Docker Hub、Google Container Registry 等)拉取容器鏡像。
  • 資源隔離和管理:運行時環(huán)境確保容器根據(jù)其 pod 配置中指定的 CPU、內(nèi)存和其他資源擁有適當?shù)馁Y源級別。
  • 網(wǎng)絡和通信:它設置容器的網(wǎng)絡,確保它們可以相互通信以及與集群內(nèi)外的服務通信。這可能涉及配置網(wǎng)絡命名空間、IP 地址和端口映射。
  • 容器安全性:運行時環(huán)境通過強制容器之間的隔離,防止它們訪問彼此的文件系統(tǒng)或資源。它還可能實施其他安全措施,如 AppArmor 或 SELinux。
  • 卷和存儲管理:運行時環(huán)境管理附加到容器的卷,確保數(shù)據(jù)持久性并允許容器訪問共享存儲。
  • 生命周期管理:它處理容器的完整生命周期,包括啟動、停止、重啟和清理容器。
  • 健康監(jiān)控和重啟:運行時環(huán)境監(jiān)視容器的健康狀況,并可以自動重啟崩潰或變得不健康的容器。
  • 與硬件和內(nèi)核的交互:運行時環(huán)境與主機操作系統(tǒng)的內(nèi)核進行交互,管理容器資源使用、網(wǎng)絡命名空間、進程隔離和其他低級操作。

Kubernetes 的架構促進了分布式微服務導向的方法,使開發(fā)人員可以專注于應用程序邏輯,而平臺負責部署、擴展和負載均衡。NTb28資訊網(wǎng)——每日最新資訊28at.com

無論是在本地、云中還是混合環(huán)境中,Kubernetes 的架構使組織能夠高效地管理復雜的容器化工作負載,同時秉承模塊化、抽象和自動化的原則。NTb28資訊網(wǎng)——每日最新資訊28at.com

本文鏈接:http://www.tebozhan.com/showinfo-26-10526-0.htmlKubernetes 內(nèi)部原理:架構

聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權等問題請及時與本網(wǎng)聯(lián)系,我們將在第一時間刪除處理。郵件:2376512515@qq.com

上一篇: 保障SaaS應用安全的關鍵要求和檢查清單

下一篇: 為什么在 C++14 中刪除了 get 函數(shù)?

標簽:
  • 熱門焦點
Top