現如今最熱門的服務器端技術是什么?答案大概就是雲原生!KubeSphere 作為一個以 Kubernetes 為內核的雲原生分布式操作系統,也是這如火如荼的雲原生熱潮中的一份子。KubeSphere 持續秉承 100% 開源的承諾,借助於開源社區的力量,迅速走向全球。
2021 年 11 月 3 日,KubeSphere 開源社區激動地向大家宣布,KubeSphere 3.2.0 正式發布!
6 個月前,KubeSphere 3.1.0 帶着 “邊緣計算”、“計量計費” 等功能來炸場,將 Kubernetes 從雲端擴展至邊緣,更進一步完善交互設計提升了用戶體驗。3 個月前,KubeSphere 又發布了 v3.1.1,在部署 KubeSphere 時可以指定 Kubernetes 集群中已有的 Prometheus。
今天,KubeSphere 3.2.0 帶來了更多令人期待的功能,新增了對 “GPU 資源調度管理” 與 GPU 使用監控的支持,進一步增強了在雲原生 AI 場景的使用體驗。同時還增強了 “多集群管理、多租戶管理、可觀測性、DevOps、應用商店、微服務治理” 等特性,更進一步完善交互設計,並全面提升了用戶體驗。
並且,v3.2.0 得到了來自青雲科技之外的更多企業與用戶的貢獻和參與,無論是功能開發、功能測試、缺陷報告、需求建議、企業最佳實踐,還是提供 Bug 修復、國際化翻譯、文檔貢獻,這些來自開源社區的貢獻都為 v3.2.0 的發布和推廣提供了極大的幫助,我們將在文末予以特別致謝!
解讀 KubeSphere 3.2.0 重大更新
GPU 調度與配額管理
當前隨着人工智能機器學習等領域技術的快速發展,市場上涌現了越來越多 AI 公司對服務器集群中 GPU 資源調度管理的需求,其中監控 GPU 使用情況以及 GPU 資源配額管理等需求在社區的呼聲很高,在 KubeSphere 中文論壇收到了很多 GPU 相關的需求,KubeSphere 本身是一直支持 GPU 的,現在在 v3.2.0 中會將 GPU 的管理變得更易用。
KubeSphere 3.2.0 支持可視化創建 GPU 工作負載,支持調度 GPU 資源的任務,同時還支持對 GPU 資源進行租戶級配額管理,可對接 Nvidia GPU 或 vGPU 等方案。
增強可觀測性
隨着容器和微服務技術的日益流行,系統之間的調用關系將會越來越復雜,系統中運行的進程數量也會暴增。成千上萬個進程跑在分布式系統中,使用傳統的監控技術很難追蹤這些進程之間的依賴關系和調用路徑,這時系統內部的可觀測性就顯得尤為重要。
可觀測性是指通過檢測一個系統的輸出來測量其內部狀態的能力。如果一個系統的當前狀態只能通過輸出的信息,即遙測數據來估計,那么這個系統就被認為是 "可觀測的"。可觀測性的三板斧包括 Logging、Tracing 和 Metrics,通過這三板斧收集的數據統稱為遙測數據。
- 更強大的自定義監控面板
KubeSphere 自 v3.1.0 開始便添加了集群層級的自定義監控,可以選擇默認模板、上傳模板或自定義模板來生成自定義監控面板。KubeSphere 3.2.0 的默認模板加入了對 Grafana
的支持,可以通過指定監控面板 URL 或上傳 Grafana 監控面板 JSON 文件來導入 Grafana 監控面板,KubeSphere 會自動將 Grafana 監控面板轉換為 KubeSphere 的監控面板。
針對 GPU 資源也提供了默認的監控模板,並提供了默認指標,減少了用戶自定義創建模板編寫 YAML 的配置成本。
- 告警通知與日志
-
支持通過 HTTPS 與 Elasticsearch 組件通信。
-
繼 KubeSphere 3.1 支持郵件、釘釘、企業微信、Webhook 和 Slack 等多通知渠道后,3.2.0 新增支持了對告警通知渠道的配置進行測試驗證。
- ETCD 監控面板支持自動為 ETCD Leader 打上
Leader
標簽。
多雲與多集群管理
隨着 Kubernetes 在企業中的應用越來越廣泛,CNCF 在 2020 年的用戶調研中顯示有將近 80% 的用戶在生產環境運行 2 個以上 Kubernetes 集群。KubeSphere 旨在解決多集群和多雲管理的難題,為用戶提供統一的控制平面,將應用程序及其副本跨公有雲和本地環境分發到多個集群。KubeSphere 還擁有跨集群的可觀測性,包括多集群維度的監控、日志、事件和審計日志等。
KubeSphere 3.2.0 在跨集群調度層面更進一步,創建跨集群的聯邦部署(federatedDeployment) 時,KubeSphere 不僅支持將業務按不同副本數量調度到多個集群,還支持在其詳情頁指定在多個集群分發的副本總數,以及指定該業務的副本分發到多個集群的任意權重。當用戶想要靈活擴展部署並且要將其多副本按不同比例靈活分發到多個集群時,這個功能會非常有用。
運維友好的存儲管理
持久化存儲是企業在生產環境中運行 Kubernetes 最需要關注的能力,穩定可靠的存儲為企業的核心數據保駕護航。KubeSphere 3.2.0 的 Console 界面新增了存儲卷管理功能,管理員可以在存儲類型(StorageClass)下配置是否允許用戶對存儲卷進行克隆、快照和擴展等功能,為有狀態應用提供更方便的持久化存儲運維。
默認情況下,立即綁定 (Immediate) 模式不利於受拓撲結構限制的存儲后端,可能會導致 Pod 無法調度。v3.2.0 新增了延遲綁定 (WaitForFirstConsumer) 模式,該模式可以保證直到 Pod 被調度時才綁定 PVC 和 PV,這樣就可以根據 Pod 資源等請求來合理調度。
此前 KubeSphere Console 只支持管理存儲卷(PVC),不支持對存儲實例(PV)資源進行管理。這個功能在 KubeSphere 3.2.0 得以實現,現在用戶可以在 Console 界面查看 PV 信息,並對其進行編輯和刪除。
用戶創建存儲卷快照時也可以指定快照類型,即指定 VolumeSnapshotClass
,這樣就可以指定存儲后端來創建快照。
支持集群級別的網關
在 KubeSphere 3.1 中只支持項目級別的網關,如果用戶的項目過多,勢必會造成資源的浪費。而且不同的企業空間中的網關都是相互獨立的。
KubeSphere 3.2.0 開始支持集群級別的全局網關,所有項目可共用同一個網關,之前已創建的項目網關也不會受到集群網關的影響。
也可以統一納管所有項目的網關,對其進行集中管理和配置,管理員用戶再也不需要切換到不同的企業空間中去配置網關了。由於 K8s 生態中有非常多的 Ingress Controller 可作為網關方案,KubeSphere 3.2.0 將網關后端進行重構后,現在社區任意支持 v1\ingress
的 Ingress Controller 都可作為網關方案靈活對接 KubeSphere。
認證與授權
統一的身份管理和完備的鑒權體系,是多租戶系統中實現邏輯隔離不可或缺的能力。除了可對接 AD/LDAP、OAuth2 等身份認證系統,KubeSphere 3.2.0 還內置了基於 OpenID Connect
的認證服務,可以為其他組件提供身份認證能力。OpenID Connect
是一個基於 OAuth 2.0 規范的用戶身份認證協議,它足夠簡單,但同時也提供了大量的功能和安全選項以滿足企業級業務需求。
面向合作伙伴開放的應用商店
應用商店與應用全生命周期管理是 KubeSphere 獨有的特色,KubeSphere 基於自研並開源的 OpenPitrix 實現了這兩大特性。
KubeSphere 3.2.0 新增了 “動態加載應用商店” 的功能,合作伙伴可申請將應用的 Helm Chart 集成到 KubeSphere 應用商店,相關的 Pull Request 被合並后,KubeSphere 應用商店即可動態加載應用,不再受到 KubeSphere 版本的限制。KubeSphere 應用商店內置的 Chart 地址為:https://github.com/kubesphere/helm-charts,歡迎社區合作伙伴來提交 Helm 應用,比如 Nocalhost 和 Chaos Mesh 已經通過這種方式將 Helm Chart 集成到了 KubeSphere 3.2.0,方便用戶一鍵部署應用至 Kubernetes。
KubeSphere DevOps 更加獨立
KubeSphere DevOps 從 v3.2.0 開始,已經逐步發展為獨立的項目 ks-devops,最終用戶可以自由選擇任意的 Kubernertes 作為運行環境。目前,ks-devops 的后端部分已經可以通過 Helm Chart 來安裝。
Jenkins 作為一款用戶基數極大、生態豐富的 CI 引擎,我們會讓 Jenkins 真正地“扮演”引擎的角色——退入幕后持續為大家提供穩定的流水線功能。本次新增 CRD PipelineRun 來封裝流水線的執行記錄,減少了大量和 Jenkins 直接交互的 API,提升 CI 流水線的性能。
從 v3.2.0 開始,KubeSphere DevOps 新增支持在基於 containerd 的流水線中構建鏡像。未來 KubeSphere DevOps 將作為獨立項目,支持前后端獨立部署並引入 Tekton 與 ArgoCD 等 GitOps 工具,還將集成項目管理與測試管理平台。
集群部署更靈活
對於自建 K8s 集群和已有 K8s 集群的用戶,KubeSphere 為用戶分別提供 KubeKey 和 ks-installer 兩種部署方式。
KubeKey 是 KubeSphere 社區開源的一款高效集群部署工具,運行時默認使用 Docker , 也可對接 Containerd
CRI-O
iSula
等 CRI 運行時,且 ETCD 集群獨立運行,支持與 K8s 分離部署,提高環境部署靈活性。
如果您使用 KubeKey 部署 Kubernetes 與 KubeSphere,以下特性也值得關注:
- 支持到 Kubernetes 最新版本 v1.22.1,並向下兼容 4 個版本,同時 KubeKey 也新增支持部署 K3s 的實驗性功能。
- 支持 Kubernetes 集群證書自動更新
- 支持 Internal LoadBalancer 高可用部署模式,降低集群部署復雜度
- 大部分集成的組件如 Istio、Jaeger、Prometheus Operator、Fluent Bit、KubeEdge、Nginx ingress controller 都已更新至上游較新版本,詳見 Release Notes 3.2.0
用戶體驗
SIG Docs 成員也對 Console 界面的中英文文案進行了全面的重構與優化,使界面文案和術語介紹更加專業准確。並刪除了前端的硬編碼和串聯的 UI 字符串,以更好地支持 Console 界面的本地化和國際化。
此外,KubeSphere 社區有多位深度用戶參與了對前端的部分功能進行了增強,例如新增支持了對 Harbor 鏡像倉庫的鏡像搜索、添加了對掛載存儲卷到 init container 的支持、去除存儲卷擴展時工作負載自動重啟等特性。
參考 Release Notes 3.2.0 了解更多的用戶體驗優化、功能增強以及 Bug 修復。可通過官方文檔兩條命令在線安裝下載 KubeSphere 3.2.0,離線安裝也將在一周左右在社區提供下載。
致謝
以下是參與 KubeSphere 3.2.0 代碼與文檔貢獻的貢獻者 GitHub ID,若此名單有遺漏請您與我們聯系,排名不分先后。
關於 KubeSphere
KubeSphere (https://kubesphere.io)是在 Kubernetes 之上構建的開源容器混合雲,提供全棧的 IT 自動化運維的能力,簡化企業的 DevOps 工作流。
KubeSphere 已被 Aqara 智能家居、愛立信、本來生活、東軟、華雲、新浪、三一重工、華夏銀行、四川航空、國葯集團、微眾銀行、杭州數跑科技、紫金保險、去哪兒網、中通、中國人民銀行、中國銀行、中國人保壽險、中國太平保險、中國移動、中國電信、天翼雲、中移金科、Radore、ZaloPay 等海內外數千家企業采用。KubeSphere 提供了開發者友好的向導式操作界面和豐富的企業級功能,包括 Kubernetes 多雲與多集群管理、DevOps (CI/CD)、應用生命周期管理、邊緣計算、微服務治理 (Service Mesh)、多租戶管理、可觀測性、存儲與網絡管理、GPU support 等功能,幫助企業快速構建一個強大和功能豐富的容器雲平台。
GitHub:https://github.com/kubesphere
官網(中國站):https://kubesphere.com.cn
微信群:請搜索添加群助手VX號 kubesphere
本文由博客一文多發平台 OpenWrite 發布!