本文來源于《華為云 DTSE?》第五期開源???,更多文章請查看:https://bbs.huaweicloud.com/blogs/435823
作者:任洪彩華為云高級軟件工程師,Karmada 社區 Maintainer
摘要:管理和協調跨多個云平臺的容器化應用是當前企業面臨的復雜性挑戰之一,Karmada 多云容器編排技術使得用戶能夠像操作單一集群一樣輕松管理多集群,簡化了多云環境的運維復雜度,加速分布式云原生應用升級。
行業背景
隨著云計算技術的飛速發展,企業對于云基礎設施的需求日益多樣化,多云策略成為了眾多企業的首選。多云環境不僅能夠提高業務的靈活性和可用性,還能有效降低對單一云服務商的依賴風險。根據最新的調查報告顯示,超過 87% 的企業正在使用多個云廠商的服務,然而,隨之而來的是管理和協調跨多個云平臺的容器化應用的復雜性挑戰。
業界流行的容器編排工具 Kubernetes(簡稱 K8s),雖然在單一集群內展現了強大的資源管理和自動化部署能力,但在面對多云場景時,其跨集群的資源調度、統一管理以及數據一致性等問題成為了亟待解決的痛點。
現階段,云原生多云多集群業務的編排面臨著諸多挑戰:
1)集群繁多的重復勞動:運維工程師需要應對繁瑣的集群配置、不同云廠商集群間的管理差異以及碎片化的 API 訪問入口等問題。
2)業務過度分散的維護難題:應用在各集群的差異化配置繁瑣;業務跨云訪問以及集群間的應用同步難以管理。
3)集群的邊界限制:應用的可用性受限于集群;資源調度、彈性伸縮受限于集群。
4)廠商綁定:業務部署的黏性問題,缺少自動化故障遷移;缺少中立的開源多云容器編排項目。
Karmada 多云容器編排引擎,簡化多云環境管理復雜度
為了解決上述挑戰,華為于 2021 年正式推出了開源項目 Karmada,旨在打造一個云原生的多云容器編排平臺。Karmada(Kubernetes Armada,艦隊之意)繼承并超越了社區 Federation v1 和 v2(kubefed)的設計理念,它不是簡單地在不同集群間復制資源,而是通過一套全新的 API 和控制面組件,實現了在保持 Kubernetes 原有資源定義 API 不變的前提下,無縫地在多云環境中部署和管理分布式工作負載。
Karmada 提供了一個全局的控制面板,使得用戶能夠像操作單一集群一樣管理多云上的 Kubernetes 集群,簡化了多云環境的運維復雜度,引入了高級的跨集群調度策略,根據資源需求、成本、合規性等因素,自動將工作負載優化部署到最適合的云平臺或區域。通過分布式數據管理和同步機制,確保多云間的數據和配置一致性,降低了數據管理的復雜度。
實踐案例:Karmada 在工業智能檢測領域的應用
工業智能檢測領域亟需標準化智能檢測提升效率
在液晶面板生產領域,由于多種因素,產品常出現不良品。為此,關鍵工藝節點后引入了自動光學檢測(AOI)設備,通過光學原理檢測常見缺陷。然而,現有 AOI 設備僅識別缺陷有無,需要人工分類和識別缺陷,這一過程耗時且影響生產效率。數之聯的客戶企業,某面板龍頭企業,引入自動缺陷分類系統(ADC)以提高判定準確性并減輕勞動強度,使用深度學習技術自動分類 AOI 輸出的缺陷圖片,并篩除誤判,從而提高生產效率。
客戶企業率先在一個工廠引入 ADC,后續在其他工廠推廣,節省人力資源,提高判定效率。盡管如此,由于工藝復雜和供應商差異,現場建設呈現出割裂和分散管理的趨勢,給數據共享和運維帶來困難。為解決這些問題,客戶企業啟動了工業智能檢測平臺的建設,該平臺利用人工智能技術,實現標準化智能檢測并提高生產效率和良率。
工業智能檢測平臺
工業智能檢測平臺將 ADC 作為核心,擴展至模型訓練和檢測復判,實現“云”(管理 + 訓練)+“邊”(推理)+“端”(業務)的一體化方案,旨在通過標準化平臺提高生產質量和數據價值。建設范圍包括資源共享中心、現地訓練和邊側推理等子平臺,將在若干工廠實施。
工業智能檢測平臺架構圖
項目目標是實現現地 ADC 上線、資源共享和云邊端標準化,以減輕運維負荷、提升標準。工業智能檢測平臺旨在通過規范化和標準化客戶企業全集團的 ADC 系統,為后續 ADC 建設提供樣本和模板,降低成本和周期,提高生產和質檢效率以及產品良率。平臺包含系統管理員、資源配置員等用戶角色,并涉及 ADC 推理、模型訓練、數據共享等信息流,以及云端協同功能,確保 ADC 的自動缺陷分類生產過程,并提高模型和缺陷圖片的利用率。
結合 Karmada 多集群管理構建解決方案
一、集群管理:多地域集群統一納管
不同地域的 K8s 集群注冊至中心云系統,中心云系統對多個現地的集群進行管理。
二、應用管理:全局統一部署、監控
通過 Karmada 提供的集群統一訪問能力,用戶在中心云實現可視化大屏等需要聚合成員集群的數據的功能。
1、集群監控
針對在線的集群,中心云系統可對內存、CPU、磁盤、網絡流入流出速率、GPU、日志等指標進行監控數據展示,并可切換集群進行數據查看。
資源監控
中心云可以看到和訓練云相同的監控,通過 Karmada 聚合層 API 由集群的 Java 程序對 PromQL 封裝后提供給前端頁面。
2、中心云數據下發
用戶在中心云上傳的數據,可自由選擇下發至指定現地,包括數據集、標注、算子工程、算子鏡像以及模型等。
數據集、算子工程、模型,通常是文件,在完成傳輸后,會保存到本地或 NAS 等存儲中。標注,通常是結構化數據,在完成傳輸后,會保存到 DB 中。算子鏡像,一般導出為 tar 包,在完成傳輸后,會推送到當前集群的 harbor 中。中心云除了 Karmada 的控制面以外,也帶有自己的業務 K8s 集群,也包括存儲,因此可以作為一個中轉器。以上均通過 Karmada 的聚合層 API 來調用我們提供的文件上傳到 svc,實現了集群和集群之間的調用。
3、跨現地訓練
針對某現地訓練資源不足的情況下,可通過申請其他現地資源的方式,進行跨現地訓練。該功能實現方式為將 A 現地訓練所需要的數據集、標注、算子工程、算子鏡像等數據發送至 B 現地,通過 B 現地的資源進行訓練。再將訓練好的模型返回給 A 現地。
原理和中心云數據下發類似,任務所需的數據會直接發送到對應集群,體現了成員集群和成員集群之間的調用關系。
4、可視化大屏
根據中心云注冊的現地,統計不同現地的各類指標數據進行大屏展示。在這類大屏中展示實時數據的時候,通過 Karmada 聚合層 API,我們可以方便地直接調用成員集群的 svc,而無需讓所有的數據顯示都走大數據的離線分析、實時分析,提供更高的時效性。
總結展望
Karmada 項目自 2021 年開源并加入云原生計算基金會 (CNCF) 成為沙箱項目以來,已經取得了顯著的發展與認可。項目于 2023 年底正式晉升為 CNCF 的孵化級別項目。這一成就標志著 Karmada 技術生態獲得全球業界的廣泛認可,進一步鞏固了其在分布式云原生技術領域的領先地位。該項目憑借其創新的多云多集群容器編排能力,已被全球范圍內超過 30 家知名企業所采納用于構建企業級云原生平臺。
Karmada 的出現,為多云時代的企業提供了一個強大且靈活的容器編排解決方案,它不僅解決了多云管理的痛點,還為企業在云原生旅程中探索更廣闊的應用場景提供了堅實的技術支撐。隨著云原生技術的不斷演進,Karmada 有望成為連接和簡化多云生態的關鍵力量,助力企業釋放云的全部潛能,加速數字化轉型的進程。
本文鏈接:http://www.tebozhan.com/showinfo-26-125113-0.htmlKarmada 多云容器編排技術加速分布式云原生應用升級
聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。郵件:2376512515@qq.com