Sveltos 簡化了 Kubernetes 附加元件跨叢集部署,基於叢集執行時間自動升級並提供事件驅動的工作流程自動化框架。
Kubernetes 本身並不是一個完整的解決方案。要建立生產集群,您需要各種附加元件。如果您要管理多個集群,那不是一件容易的事。
Sveltos是一個開源項目,它提供聲明式 API,允許跨多個 Kubernetes 叢集部署 Kubernetes 附加元件。 Helm 圖表和資源 YAML 都可以傳遞給 Sveltos。
例如,只需發布以下ClusterProfile 實例就足以在一組託管叢集中部署Kyverno Helm 圖表:
或者,如果您有Kubernetes 資源YAML ,只需使用資料建立一個ConfigMap(如果資料是機密的,則為Secret),然後讓Sveltos 引用這樣的ConfigMap(Secret)實例。
<code>kubectl create configmap contour-gateway --from-file=<file with contour yaml></file></code>
讓事情變得更複雜的是,有時,您需要部署的附加元件取決於叢集執行時間狀態。
例如,您已經在一組叢集中部署了 Calico v3.24。當這些叢集升級到 Kubernetes v1.25 時,您希望 Calico 也升級到 v3.25。
如果您正在管理數十個這樣的集群,那麼在升級 Kubernetes 版本時手動升級 Calico 並不理想。為此,您需要一個自動化解決方案。
然後簡單地建立以下分類器實例:
以上分類器實例將讓Sveltos 透過自動加入來管理叢集標籤:
由於這些標籤和上面的ClusterProfile 實例:
您無需採取任何行動。隨著叢集的升級,Sveltos 也會升級 Calico。
當託管叢集中的事件導致需要部署附加元件時,事情可能會變得更加複雜。例如,每當某個命名空間中的服務被建立時,就會新增一個 HTTPRoute 以透過網關 API 公開此類服務。
Sveltos Events 是一個用於 Kubernetes 的事件驅動的工作流程自動化框架,可協助您在各種事件上觸發 K8s 附加元件部署。
此 EventSource 將事件定義為在命名空間 eng 中建立/刪除服務,暴露連接埠 443 或連接埠 8443。
當託管叢集中發生此類事件時,我們要部署一個HTTPRoute 實例:
如您所見,要部署的內容是在ConfigMap中定義的,並以模板的形式表示。
資源包含每個託管叢集中與上面定義的 EventSource 相符的所有服務實例。
以上是以下是2023年十大人工智慧開源趨勢。的詳細內容。更多資訊請關注PHP中文網其他相關文章!