在網格外部署 Istio 控制平面

Istio 的新部署模型。

2020 年 8 月 27 日 | 作者:Lin Sun - IBM,Iris Ding - IBM

概述

從與各種服務網格使用者和供應商合作的經驗中,我們認為典型的服務網格有 3 個關鍵角色

在 1.7 版本之前,Istio 要求控制平面在網格中的一個主要叢集中執行,導致網格操作員和網格管理員之間缺乏分離。Istio 1.7 引入了一個新的外部控制平面部署模型,使網格操作員能夠在單獨的外部叢集上安裝和管理網格控制平面。此部署模型允許網格操作員和網格管理員之間明確分離。Istio 網格操作員現在可以為網格管理員執行 Istio 控制平面,而網格管理員仍然可以控制控制平面的配置,而無需擔心安裝或管理控制平面。此模型對網格使用者是透明的。

外部控制平面部署模型

使用預設安裝設定檔安裝 Istio 後,您將在單個叢集中安裝一個 Istiod 控制平面,如下圖所示

Istio mesh in a single cluster
單個叢集中的 Istio 網格

透過 Istio 1.7 中的新部署模型,可以將 Istiod 在與網格服務分離的外部叢集上執行,如下圖所示。外部控制平面叢集由網格操作員擁有,而網格管理員則擁有在網格中部署服務的叢集。網格管理員無權存取外部控制平面叢集。網格操作員可以遵循外部 Istiod 單一叢集逐步指南,以探索更多相關資訊。(注意:在 Istio 維護者之間的一些內部討論中,此模型先前被稱為「集中式 Istiod」。)

Istio mesh in a single cluster with Istiod outside
外部控制平面叢集中具有 Istiod 的單一叢集 Istio 網格

網格管理員可以將服務網格擴展到多個叢集,這些叢集由在外部叢集中執行的同一個 Istiod 管理。在這種情況下,沒有任何網格叢集是主要叢集。它們都是遠端叢集。但是,其中一個除了執行服務外,還充當 Istio 組態叢集。外部控制平面從 config cluster 讀取 Istio 設定,並且 Istiod 將設定推送至執行在組態叢集和其他遠端叢集中的資料平面,如下圖所示。

Multicluster Istio mesh with Istiod outside
外部控制平面叢集中具有 Istiod 的多叢集 Istio 網格

網格操作員可以進一步擴展此部署模型,以從執行多個 Istiod 控制平面的外部叢集管理多個 Istio 控制平面

Istio meshes in single clusters with Istiod outside
外部控制平面叢集中具有多個 Istiod 控制平面的多個單一叢集

在這種情況下,每個 Istiod 都管理自己的遠端叢集。網格操作員甚至可以在外部控制平面叢集中安裝自己的 Istio 網格,並設定其 istio-ingress 閘道,以將來自遠端叢集的流量路由至其對應的 Istiod 控制平面。若要了解更多相關資訊,請查看這些步驟

結論

外部控制平面部署模型使 Istio 控制平面能夠由具有 Istio 操作專業知識的網格操作員執行和管理,並在服務網格控制和資料平面之間提供明確的分隔。網格操作員可以在自己的叢集或其他環境中執行控制平面,將控制平面作為服務提供給網格管理員。網格操作員可以在單個叢集中執行多個 Istiod 控制平面,部署自己的 Istio 網格並使用 istio-ingress 閘道來控制對這些 Istiod 控制平面的存取。透過此處提供的範例,網格操作員可以探索不同的實作選擇並選擇最適合他們的選項。

此新模型透過允許網格管理員專注於網格組態,而無需自己操作控制平面,從而降低了網格管理員的複雜性。網格管理員可以繼續設定網格範圍的設定和 Istio 資源,而無需存取外部控制平面叢集。網格使用者可以繼續與服務網格互動,而無需進行任何變更。

分享此文章