SegmentFault 思否消息,4 月 25 日,在華爲開發者大會 2021 上,華爲雲 CTO 張宇昕宣佈雲原生多雲容器編排項目 Karmada 正式開源,將來還計劃將該項目捐贈給雲原生計算基金會 CNCF,CNCF英文全稱爲 Cloud Native Computing Foundation,中文譯爲「雲原生計算基金會」,是Linux基金會旗下的非盈利基金會。git
華爲雲做爲雲原生計算基金會(CNCF)在亞洲惟一的初創成員,一直致力於推進雲原生社區和產業的繁榮和發展,這次 Karmada 的開源印證了華爲雲「擁抱開源,回饋開源」的精神,同時經過更大力度的開源開放,Karmada 的開源也能夠更好地幫助企業迎接雲原生 2.0 時代的到來。github
Karmada(Kubernetes Armada)是一個 Kubernetes 管理系統,基於 Kubernetes Federation v1 和 v2 開發,它能夠跨多個 Kubernetes 集羣和雲運行雲原生應用程序,而無需對應用程序進行更改。經過直接使用 Kubernetes 原生 API 並提供高級調度功能,Karmada 能夠實現真正的開放式多雲 Kubernetes。服務器
Karmada 旨在爲多雲和混合雲場景下的多集羣應用程序管理提供 turnkey 自動化,其關鍵功能包括集中式多雲管理、高可用性、故障恢復和流量調度。架構
兼容 K8s 原生 API負載均衡
開箱即用工具
避免供應商鎖定spa
集中管理架構設計
高效的多集羣調度策略設計
開放中立對象
Karmada 的控制面板包含 API 服務器(API Server)、控制器管理器(Controller Manager )和調度器三大組件。
ETCD 存儲 karmada API 對象,API 服務器做爲 REST 端點,能夠與全部其餘組件通訊,而 Karmada 控制器管理器將根據用戶建立的 API 對象執行操做。
Karmada 控制器管理器運行各類控制器,這些控制器監視 karmada 的對象,而後與基礎集羣的 API 服務器對話以建立常規的 Kubernetes 資源。
資源模板:Karmada 使用 Kubernetes 本機 API 定義的聯合資源模板,以使其易於與 Kubernetes 上已採用的現有工具集成
傳播策略:Karmada 提供獨立的傳播(放置)策略 API,以定義多集羣調度和傳播需求。
覆蓋策略:Karmada 提供獨立的覆蓋策略 API,用於專門針對與羣集相關的配置自動化。例如:
下圖顯示了將資源傳播到成員集羣時如何使用 Karmada 資源。
值得一提的是本次大會上,華爲雲還回應華爲雲業務是否會剝離出來獨立運做的問題,華爲雲 BU 總裁張平安表示,雲業務的投資和發展速度正在加速,如何能讓華爲雲獲得更好的發展,內部還在探討,暫時沒有定論。
Karmada 開源項目連接: https://github.com/karmada-io...