華為開源多云容器編排項目 Karmada,加速云原生2.0時代的到來

SegmentFault 思否消息,4 月 25 日,在華為開發(fā)者大會 2021 上,華為云 CTO 張宇昕宣布云原生多云容器編排項目 Karmada 正式開源,未來還計劃將該項目捐贈給云原生計算基金會 CNCF,CNCF英文全稱為 Cloud Native Computing Foundation,中文譯為“云原生計算基金會”,是Linux基金會旗下的非盈利基金會。
華為云作為云原生計算基金會(CNCF)在亞洲唯一的初創(chuàng)成員,一直致力于推動云原生社區(qū)和產(chǎn)業(yè)的繁榮和發(fā)展,此次 Karmada 的開源印證了華為云“擁抱開源,回饋開源”的精神,同時通過更大力度的開源開放,Karmada 的開源也可以更好地幫助企業(yè)迎接云原生 2.0 時代的到來。
Karmada(Kubernetes Armada)是一個 Kubernetes 管理系統(tǒng),基于 Kubernetes Federation v1 和 v2 開發(fā),它可以跨多個 Kubernetes 集群和云運行云原生應(yīng)用程序,而無需對應(yīng)用程序進行更改。通過直接使用 Kubernetes 原生 API 并提供高級調(diào)度功能,Karmada 可以實現(xiàn)真正的開放式多云 Kubernetes。
Karmada 旨在為多云和混合云場景下的多集群應(yīng)用程序管理提供 turnkey 自動化,其關(guān)鍵功能包括集中式多云管理、高可用性、故障恢復(fù)和流量調(diào)度。
SegmentFault 思否
Karmada 的優(yōu)勢
兼容 K8s 原生 API 零修改實現(xiàn)從單集群到多集群的升級 無縫集成現(xiàn)有 K8s 工具鏈 開箱即用 內(nèi)置針對不同場景的策略集,包括:Active-Active、遠程災(zāi)難恢復(fù)、地理冗余等 支持跨集群應(yīng)用程序在多集群上的自動擴展、故障轉(zhuǎn)移和負載均衡 避免供應(yīng)商鎖定 支持與主流云廠商集成 支持自動分配和跨集群遷移 不依賴于某家專有供應(yīng)商編排 集中管理 支持位置不可知集群管理 支持公有云、本地端(on-prem)或邊緣端集群管理 高效的多集群調(diào)度策略 支持集群親和性調(diào)度,多集群拆分和重新平衡 多維 HA:區(qū)域/可用區(qū)/集群/提供商 開放中立 由多家互聯(lián)網(wǎng)、金融、制造業(yè)、電信、云服務(wù)廠商共同發(fā)起 以捐贈給 CNCF 進行開放治理為目標
SegmentFault 思否
Karmada 的架構(gòu)設(shè)計

集群控制器:將 Kubernetes 集群添加到 Karmada,通過創(chuàng)建集群對象來管理集群的生命周期; 策略控制器:監(jiān)控 PropagationPolicy 對象,當有新增 PropagationPolicy 對象時,它將選擇與 resourceSelector 匹配的一組資源,并為每個資源對象創(chuàng)建 ResourceBinding; 綁定控制器:監(jiān)控 ResourceBinding 對象,并使用單個資源清單創(chuàng)建與每個集群相對應(yīng)的 Work 對象; 執(zhí)行控制器:監(jiān)控 Work 對象,當出現(xiàn)新創(chuàng)建的 Work 對象時,它負責(zé)將資源分配給成員集群。
SegmentFault 思否
Karmada 概念
支持策略 1:n 映射:工作負載,用戶無需在每次創(chuàng)建聯(lián)合應(yīng)用程序時都指出調(diào)度約束。 使用默認策略,用戶可以僅與 K8s API 進行交互
根據(jù)成員群集區(qū)域覆蓋圖像前綴 根據(jù)云提供商覆蓋 StorageClass


