k8s學習-資源管理

在雲計算領域,資源可被分爲計算資源、網絡資源、存儲資源三大類,也可被分別稱做爲計算雲、網絡雲、存儲雲。在以容器爲核心的雲平臺上,應用容器鏡像也是一種資源。數據庫

   1、計算資源管理後端

  計算資源在雲平臺上主要指應用程序運行時所需的資源,也主要指CPU資源和內存資源。因爲雲平臺默認的基本要求是爲多個租戶提供服務,因此在同一臺工做節點的服務器(物理機或虛擬機)上就有可能同時運行多個租戶的應用容器、這些應用容器如何共享該節點上的CPU和內存資源,以及如何避免沒必要要的資源爭搶,是雲平臺首先要解決的問題。安全

      在k8s體系中,對資源資源的管理能夠在Namespace、Pod、Container三個級別完成,同時能夠根據應用計算資源的需求和限制,提供不一樣級別的服務質量管理。服務器

    1. 在一個大型企業中,將企業各數據中心的服務器所有歸入一個K8s集羣中管理確定是不切實際的。網絡

        須要容災備份的數據中心提供服務,保證業務的高可用性。優化

        多個數據中心分佈在不一樣的地區,數據中心之間的網絡延遲較長。雲計算

        服務器由不一樣的雲服務商託管,相互之間沒法直接互聯互通。spa

        多個數據中心的安全策略和安全等級不一樣。設計

       基於以上因素,咱們一般須要部署多個k8s集羣,來共同完成應用的發佈和運行。對象

      在容器雲平臺上,對資源的管理首先是將多個k8s集羣歸入管理,以便可以對全部資源進行統一分配和管理。

      將多個k8s集羣歸入統一管理的常見方案有以下兩種。

     1)經過對接每一個k8s集羣的Master,來完成集羣內的資源管理和應用部署管理。

          容器雲平臺經過k8s master 提供的Restful API 去控制整個集羣,包括對各類k8s集羣 資源對象的建立、更新、刪除、查詢等管理功能。還須要完成應用的多集羣部署管理、

         跨集羣的服務發現和自動災難切換等多集羣管理,並設置相應的網絡策略,以保護各集羣的Master不被攻擊。

     2)經過使用統一的 Federation控制平面來對多個k8s集羣進行統一管理。

         Federation來自k8s子項目,也被稱做集羣聯邦。Federation的設計目標是對多個k8s集羣進行統一管理,將用戶的應用部署到不一樣地域的數據中心或者雲環境下,經過動態優化

        部署來節約運行成本,屏蔽了後端的各k8s子集羣,向客戶提供一個統一的管理入口。

        Federation 控制平面 「封裝」 了多個k8s集羣的master角色,提供了一個統一的Master ,包括Federation API Server 、Federation Controller Manager,用戶能夠像操做單個集羣

        同樣操做 Federation;還統一管理了所有k8s集羣的DNS、ConfigMap,並將數據保存在etcd數據庫中。

     在方便用戶統一操做多個K8s集羣的同事,Federation也帶來了一些新問題

      爲確保全部集羣的運行狀態符合預期,Federation控制平面會持續監控全部集羣,致使網絡開銷和成本顯著增長。

      Federation 控制平臺是 「中心化」 的總控節點,一旦出現問題,就可能會影響到全部集羣。

      Federation 出現較晚,還很不成熟,目前k8s中資源對象只有一部分在Federation中是可用的。

 

 

 2、 資源分區管理

      在容器雲平臺納管了所有k8s集羣以後,平臺管理員就能夠進行資源分配的工做了,爲多個租戶提供應用部署環境。

      在一個k8s集羣中,提供計算資源的實體被稱爲Node,也叫工做節點。Node既能夠是物理服務器,也能夠是虛擬服務器。每一個Node都提供了CPU、內存、網絡、磁盤等資源,

      應用系統則是這些資源的使用者。

      爲支持多租戶模型,k8s的Namespace提供了一種將一個集羣進一步劃分爲多個虛擬分區進行管理的方法。每一個Namespace爲某個租戶提供的一個邏輯上的分區,與其餘租戶的

      應用相互隔離、互補干擾。與互聯網的域名相似 

相關文章
相關標籤/搜索