摘要:在最新發布的 v0.4.0 版本中,Kurator 進一步豐富了分布式云原生場景下的應用統一管理能力,以便更好地滿足多云環境的復雜需求,
本文分享自華為云社區《Kurator v0.4.0:引領分布式云原生管理的全新篇章》,作者:華為云云原生團隊,
Kurator 是一款開源的分布式云原生平臺,融合了眾多主流的云原生軟體堆疊,如Kubernetes、Istio、Prometheus 等,旨在幫助用戶構建和管理自己的分布式云原生基礎設施,以推動企業的數字化轉型,Kurator 體現了“基礎設施即代碼”的理念,允許用戶以宣告方式管理云、邊緣或本地環境的基礎設施,同時,其“開箱即用”的特性,使用戶可以一鍵安裝云原生軟體堆疊,而借助Fleet,Kurator更提供了多云、多集群的統一管理,極大提升了管理效率,
在最新發布的 v0.4.0 版本中,Kurator 進一步豐富了分布式云原生場景下的應用統一管理能力,以便更好地滿足多云環境的復雜需求,此次更新主要包括以下四個方面:
? 采用了GitOps方式并利用Fleet來實作多云環境下的統一應用分發,這種新的方法將降低多云異構環境配置的復雜性,簡化了分布式部署的管理程序,
? 為用戶提供了一種基于Fleet、Prometheus和Thanos的統一集群指標監控方案,這種方案旨在提高在復雜的多云、多集群環境中的指標監控的全面性、準確性和實時性,從而提高運維效率并降低運維復雜性,
? 通過利用Kyverno和Fleet,為多云、多集群環境下的策略管理提供了統一的解決方案,這一功能的加入將提高策略管理的效率,保證了在所有集群中的策略一致性和安全性,
? 新增了一種名為"Attached Cluster"的集群型別,這種集群型別使得Kurator能夠納管任何地點、由任何工具搭建的Kubernetes集群,進一步加強了Kurator對分布式云環境的管理,
統一應用分發
隨著多云、多集群的普及,如何有效在分布式云原生環境中部署和分發應用成為日益重要的話題,為此,Kurator 推出了統一應用分發功能,目標是解決以下問題:
- 多云、多集群配置繁瑣:在傳統的多云環境中,部署同一應用需要在每個環境中進行復雜的配置,這無疑增加了部署的難度,同時消耗了不必要的時間和人力資源,
- 維護版本一致性的挑戰:在分布式的多云環境中,由于各個集群可能運行在不同的環境、擁有不同的配置,因此保持應用在所有集群中版本一致,并能及時進行更新,是一項挑戰,
- 分布式部署管理困難:應用在各個集群中部署后,需要分別進入每個集群,以檢查部署是否成功以及查看部署的狀態,
Kurator 的統一應用分發功能采用 GitOps 方式,使得一鍵將應用部署到多個云環境成為可能,同時簡化了配置流程,這種方法確保了各集群中的應用版本保持一致,也能及時進行版本更新,在 Kurator 宿主集群上,用戶可以對所有集群的應用部署情況進行統一的查看和管理,從而提高運維效率,

Kurator應用管理架構圖
Kurator 基于 FluxCD,通過自動化的應用同步和部署流程,優化了部署效率和準確性,借助于 Fleet 的優勢,它還能靈活地適應各種不同的業務和集群需求,滿足用戶對于應用分發的多樣化需求,
Kurator 的統一應用分發功能提供了豐富而靈活的配置選項,用戶可以通過 YAML 組態檔定義應用的源、同步策略等關鍵引數,同時,Kurator 還支持多種型別的源(包括 gitRepository,helmRelease等)和同步策略的組合,
以下是一個統一應用分發的例子:
apiVersion: apps.kurator.dev/v1alpha1 kind: Application metadata: name: gitrepo-kustomization-demo namespace: default spec: source: gitRepository: interval: 3m0s ref: branch: master timeout: 1m0s url: https://github.com/stefanprodan/podinfo syncPolicies: - destination: fleet: quickstart kustomization: interval: 5m0s path: ./deploy/webapp prune: true timeout: 2m0s - destination: fleet: quickstart kustomization: targetNamespace: default interval: 5m0s path: ./kustomize prune: true timeout: 2m0s
此示例配置表達了如何借助 Kurator 實作多集群統一應用分發:從 Git 源中獲取應用配置,然后通過 Fleet 進行同步和部署,用戶只需簡單的配置,即可迅速將應用部署到多個集群中,
關于更多例以及其他相關資訊,請參考:https://kurator.dev/docs/fleet-manager/application/
統一集群指標監控
在復雜的多云、多集群環境中,統一的集群指標監控可以提升作業效率并且降低運維復雜性,對于許多企業來說,他們面臨的挑戰是如何在各個集群間進行有效的監控和管理,以確保服務的穩定性和優化資源使用率,
單一的監控工具常常無法滿足全面、及時和準確的監控需求,這就需要運維人員分別進入每個集群進行檢查,不僅增加了作業量,也可能導致關鍵指標資訊的遺漏或延誤,而且,由于不同的集群可能有不同的需求,管理作業變得更加復雜,
為解決上述問題,Kurator 提供了一種基于 Prometheus、Thanos、Grafana 以及 Fleet 的多集群指標監控方案,使用戶能夠輕松實作多集群的統一指標監控,

統一監控架構圖
通常,集群權限和遠程存盤配置完成后,我們可以將在多集群環境中實作統一指標監控的程序概括如下:
-
每個集群運行一個 Prometheus 實體,負責收集本地的監控資料;
-
每個Prometheus 實體都附帶一個 Thanos Sidecar,這個 Sidecar 將 Prometheus 收集到的資料推送到遠程存盤;
-
Thanos Query 從所有的 Thanos Sidecar 和遠程存盤中聚合資料,并提供一個統一的查詢介面;
-
Grafana 連接到 Thanos Query,從而能夠展示所有集群的統一監控視圖,
借助于 Kurator 的 Fleet 的能力,用戶無需親自處理上述復雜流程,用戶只需在 Fleet 中定義相關配置,Fleet Manager 就能自動完成上述流程,
下面是一個可以完成上述流程的 Fleet 配置示例:
apiVersion: fleet.kurator.dev/v1alpha1 kind: Fleet metadata: name: quickstart namespace: default spec: clusters: - name: kurator-member1 kind: AttachedCluster - name: kurator-member2 kind: AttachedCluster plugin: metric: thanos: objectStoreConfig: secretName: thanos-objstore grafana: {}
在執行上述配置后,Fleet Manager 將會在 kurator-member1 與 kurator-member2 這兩個集群上分別安裝 Prometheus 和 Thanos Sidecar,然后,用戶便可以在 Kurator 主機上通過 Grafana 儀表板查看所有集群的統一監控視圖,
關于使用統一集群指標監控的更多細節,請參考:https://kurator.dev/docs/fleet-manager/metric-plugin/
統一策略管理
在分布式云環境中,為了滿足多云、多集群的統一安全保護需求,Kurator 引入了統一策略管理功能,以解決以下問題:
-
無法統籌多個集群的策略管理,跨集群應用同一策略
-
多個子集群策略分散管理,冗余且復雜度較高,無法統一高效配置和管理
-
無法統一限制多個集群資源使用情況,以保證所有集群遵循相同的操作規則和業務需求
Kurator 的策略管理能力基于 Kyverno,并利用 Fleet 實作應用策略的跨集群分發和應用,這種機制允許策略在整個集群群組中被統一和高效地管理,避免了在每個子集群單獨管理策略的復雜性,
統一策略管理架構圖
Kurator 提供的策略管理能力與在單一 Kubernetes 集群中的策略管理幾乎無異,用戶可以快速熟悉和上手,下面是一個使用 Kurator 在 Fleet 中實作統一策略管理的示例:
apiVersion: fleet.kurator.dev/v1alpha1 kind: Fleet metadata: name: quickstart namespace: default spec: clusters: - name: kurator-member1 kind: AttachedCluster - name: kurator-member2 kind: Cluster - name: kurator-member3 kind: CustomCluster plugin: policy: kyverno: podSecurity: standard: baseline severity: high validationFailureAction: Audit
在上述組態檔中,我們為 Fleet 中的集群統一應用了 podSecurityStandard 為 baseline,podSecuritySeverity 為 high 的 Pod 安全策略,當Pod配置違背安全策略時,在其創建程序將會在PolicyReport中記錄相應事件;而當 validationFailureAction 設定為Enforce時,非法資源的創建或者更新就會被攔截,Fleet 中的所有集群都將運用此策略,應用運維和開發人員將在遵循該 Pod 安全性規定的前提下調整和配置應用, 借助 Kurator 的統一策略管理能力,可以有效提高策略管理的效率,同時保證所有集群中策略的一致性和安全性,
關于 Kurator 統一策略管理的更多資訊,請參考:https://kurator.dev/docs/fleet-manager/policy/
AttachedCluster
在云原生的世界里,基礎設施的復雜性和多樣性是無法避免的問題,對于大型組織或公司來說,他們可能已經在不同的環境下部署了多個 Kubernetes 集群,而這些集群可能是由各種不同的工具創建的,并分布在世界各地,為了更好地解決這個問題,Kurator 在最新的版本中引入了一種新的集群型別,即 AttachedCluster,
AttachedCluster 的主要目的是為了管理那些并非由Kurator創建,卻又需要被納入到Kurator艦隊管理范圍的 Kubernetes 集群,這些集群可以由任何工具創建,并位于任何地方,引入這種新的集群型別 ,使得Kurator的管理能力得以延伸,實作對真正的分布式云環境的高效管理, 在實際使用中,用戶需要為預計要接入 Kurator 管理的 Kubernetes 集群創建 AttachedCluster 資源,這些資源中包含了集群的連接和身份驗證資訊,這些資訊通過 Secret 進行安全存盤和管理,有了這些資訊,Kurator 就能夠與這些集群進行有效的互動和管理,]
下面是一個示例:
apiVersion: cluster.kurator.dev/v1alpha1 kind: AttachedCluster metadata: name: kurator-member1 namespace: default spec: kubeconfig: name: kurator-member1 key: kurator-member1.config
資源創建完成后,用戶還需要將這些 AttachedCluster 資源加入到 Kurator Fleet 中,從而將這些集群納入 Kurator 的管理范圍,這樣一來,無論這些集群在何處,由何種工具創建,都能夠在 Kurator 中進行統一的管理和監控,
下面是一個將上述 AttachedCluster 加入 Fleet 的例子:
apiVersion: fleet.kurator.dev/v1alpha1 kind: Fleet metadata: name: quickstart namespace: default spec: clusters: # 在此處添加 AttachedCluster 或者其他型別的集群 - name: kurator-member1 kind: AttachedCluster
對于用戶來說,Kurator 通過引入 AttachedCluster,在統一平臺上實作了對所有 Kubernetes 集群的便捷管理,避免了在各種工具之間的頻繁切換,有效地監控與管理了分布式云環境中各個集群,這個改進,不僅強化了 Kurator 在云原生領域中的管理能力,也擴展了其管理范圍,使得 Kurator 在處理復雜多樣的云計算環境中的適應力和管理效率得到了顯著提升,
參考鏈接
Release Notes:https://github.com/kurator-dev/kurator/releases/tag/v0.4.0
統一應用分發檔案:https://kurator.dev/docs/fleet-manager/application/
統一集群指標監控檔案:https://kurator.dev/docs/fleet-manager/metric-plugin/
統一策略管理檔案:https://kurator.dev/docs/fleet-manager/policy/
AttachedCluster檔案:https://kurator.dev/docs/fleet-manager/manage-attachedcluster/
Fleet Manager 檔案:https://kurator.dev/docs/fleet-manager/
GitHub地址:https://github.com/kurator-dev/kurator
Kurator主頁:https://kurator.dev/
Slack地址:https://join.slack.com/t/kurator-hq/shared_invite/zt-1sowqzfnl-Vu1AhxgAjSr1XnaFoogq0A
點擊關注,第一時間了解華為云新鮮技術~
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/556782.html
標籤:其他
上一篇:北斗衛星授時器(NTP時間源服務器, GPS網路校時系統)技術引數描述
下一篇:返回列表
