Kubernetes腦圖

PetterLiu發表於2024-06-01

對於非技術人員來說,Kubernetes(常簡稱為K8s或Kube)是一個開源平臺,它能讓Linux容器的操作變得更加自動化和高效。以下是針對非技術人員的Kubernetes介紹,用簡潔明瞭的方式解釋了其主要特點和功能:

  1. 定義和起源
    • Kubernetes(發音類似於“koo-ber-nay-tees”)源自希臘語,意為“舵手”或“航海大師”,象徵著它在容器編排和管理中的核心地位。
    • 該平臺最初由Google的一個團隊開發,之後捐贈給了雲原生計算基金會(CNCF)。
  2. 主要功能和特點
    • 自動化管理:Kubernetes能夠自動部署、擴充套件、更新和維護容器化的應用程式,消除了許多手動過程。
    • 容器編排:它將一組執行Linux容器的主機(節點)叢集在一起,並提供了一種方式來管理和協調這些容器。
    • 可伸縮性:根據需求,Kubernetes可以自動增加或減少容器數量,從而確保應用程式的可用性和效能。
    • 高可用性:透過內建的高可用解決方案,如keepalive+nginx或keepalived+haproxy,可以確保即使某個節點出現故障,業務也不會中斷。
    • 多租戶網路隔離:支援多種網路外掛,如Flannel、Calico等,為不同使用者或應用程式提供隔離的網路環境。
    • 儲存解決方案:支援多種持久化儲存方案,確保使用者資料的安全和可靠。
    • 更新和回滾策略:透過灰度釋出、藍綠部署等方式,實現應用程式的快速部署和回滾。
  3. 工作原理
    • Kubernetes叢集由多個節點組成,每個節點上執行一個或多個容器。
    • Master節點負責管理整個叢集,包括API伺服器、排程器、控制器管理器等元件。
    • Worker節點負責執行應用程式容器,並與Master節點進行通訊以接收任務和管理指令。
  4. 優勢
    • 節省資源:透過按需分配和釋放資源,提高硬體資源的使用效率。
    • 簡化部署:提供了一種標準化的方式來部署和管理應用程式,降低了運維複雜度。
    • 快速恢復:在發生故障時,能夠迅速啟動新的容器來替換故障容器,確保業務的連續性。

Kubernates

  1. APIServer
    • 作用:Kubernetes叢集的入口,負責處理使用者提交的請求,如建立、更新或刪除資源等。
    • 用途:API Server提供了RESTful API,允許使用者與Kubernetes叢集進行互動。
  2. Scheduler
    • 作用:根據預設的排程演算法和策略,將待排程的Pod分配到合適的Node上。
    • 用途:確保Pods在叢集中的合理分佈和高效執行。
  3. Master Node
    • 作用:Kubernetes叢集中的控制中心,包含API Server、Scheduler和Controller Manager等核心元件。
    • 用途:管理叢集的狀態,確保叢集的穩定執行。
  4. Controller Manager
    • 作用:由多個控制器組成,用於監控叢集的狀態,確保叢集與期望的狀態保持一致。
    • 用途:例如,當某個Pod的副本數少於預期時,ReplicaSet控制器會自動建立新的Pod來補充。
  5. Nodes
    • 作用:叢集中的工作節點,負責執行Pods中的容器。
    • 用途:提供計算資源(如CPU、記憶體、磁碟等)給Pods使用。
  6. etcd
    • 作用:一個分散式鍵值儲存系統,用於儲存Kubernetes叢集的後設資料。
    • 用途:確保叢集資料的可靠性和一致性。
  7. Kubelet
    • 作用:每個Node上的代理,負責與Master Node通訊,並執行Master Node發來的指令。
    • 用途:如啟動Pods、監視Pods的狀態等。
  8. Kube-proxy
    • 作用:在Node上實現網路代理和服務發現的功能。
    • 用途:負責轉發客戶端的請求到正確的Pods,並確保網路服務的可靠性。
  9. ContainerRuntime
    • 作用:用於管理容器的執行環境,如Docker、containerd等。
    • 用途:提供容器的生命週期管理、資源限制和隔離等功能。
  10. ServicesNetworkingIngressNetworkPolicies
    • 作用與用途:這些元件共同構成了Kubernetes的網路模型,實現了叢集內部和外部的服務發現和通訊。
  11. VolumesStoragePersistentVolumesStorage Classes
    • 作用與用途:這些元件為Pods提供了持久化儲存的能力,確保了資料的可靠性和永續性。
  12. ConfigMapsSecretsDeploymentsStatefulSetsDaemonSetsReplicaSetsJobsCronJobs
    • 作用與用途:這些元件提供了對Pods的管理和配置功能,如部署、升級、擴充套件、回滾等操作。
  13. Role-Based Access Control (RBAC)
    • 作用:基於角色的訪問控制機制,用於控制使用者對資源的訪問許可權。
    • 用途:確保叢集的安全性,防止未經授權的訪問和操作。
  14. MetricsServerMonitoring & Logging
    • 作用與用途:這些元件提供了叢集的監控和日誌功能,幫助使用者瞭解叢集的執行狀態,及時發現和解決問題。



今天先到這兒,希望對雲原生,技術領導力, 企業管理,系統架構設計與評估,團隊管理, 專案管理, 產品管理,資訊保安,團隊建設 有參考作用 , 您可能感興趣的文章:
構建創業公司突擊小團隊
國際化環境下系統架構演化
微服務架構設計
影片直播平臺的系統架構演化
微服務與Docker介紹
Docker與CI持續整合/CD
網際網路電商購物車架構演變案例
網際網路業務場景下訊息佇列架構
網際網路高效研發團隊管理演進之一
訊息系統架構設計演進
網際網路電商搜尋架構演化之一
企業資訊化與軟體工程的迷思
企業專案化管理介紹
軟體專案成功之要素
人際溝通風格介紹一
精益IT組織與分享式領導
學習型組織與企業
企業創新文化與等級觀念
組織目標與個人目標
初創公司人才招聘與管理
人才公司環境與企業文化
企業文化、團隊文化與知識共享
高效能的團隊建設
專案管理溝通計劃
構建高效的研發與自動化運維
某大型電商雲平臺實踐
網際網路資料庫架構設計思路
IT基礎架構規劃方案一(網路系統規劃)
餐飲行業解決方案之客戶分析流程
餐飲行業解決方案之採購戰略制定與實施流程
餐飲行業解決方案之業務設計流程
供應鏈需求調研CheckList
企業應用之效能實時度量系統演變

如有想了解更多軟體設計與架構, 系統IT,企業資訊化, 團隊管理 資訊,請關注我的微信訂閱號:

image_thumb2_thumb_thumb_thumb_thumb[2]

作者:Petter Liu
出處:http://www.cnblogs.com/wintersun/
本文版權歸作者和部落格園共有,歡迎轉載,但未經作者同意必須保留此段宣告,且在文章頁面明顯位置給出原文連線,否則保留追究法律責任的權利。 該文章也同時釋出在我的獨立部落格中-Petter Liu Blog。

相關文章