Istio
Rancher-Istio 將在 Rancher v2.12.0 中被棄用;請改用 SUSE Rancher Application Collection 構建的 Istio 以增強安全性(包含在 SUSE Rancher Prime 訂閱中)。
詳細資訊可以在此公告中找到。
Istio 是一個開源工具,使 DevOps 團隊更容易觀察、保護、控制和排除複雜微服務網路中的流量問題。
隨著微服務網路的變化和成長,它們之間的互動可能變得越來越難以管理和理解。在這種情況下,將服務網格作為單獨的基礎設施層是很有用的。Istio 的服務網格讓你可以操作微服務之間的流量,而無需直接變更微服務。
我們對 Istio 的整合設計使 Rancher 操作人員(例如管理員或叢集擁有者)可以將 Istio 交付給開發人員團隊。然後開發人員可以使用 Istio 來實施安全性原則、排除問題或管理綠/藍部署、金絲雀部署或 A/B 測試的流量。
此核心服務網格提供的功能包括但不限於以下內容:
- 流量管理,例如入站和出站路由、斷路、鏡像。
- 安全性,具有用於驗證和授權流量和使用者的資源,包括 mTLS。
- 可觀察性,包括日誌、指標和分散式流量流。
在設定 istio 後,你可以透過 Rancher UI、kubectl 或 istioctl 利用 Istio 的控制平面功能。
Istio 需要由 cluster-admin 設定後才能在專案中使用。
Rancher v2.5 的新功能
Istio 的整體架構已經簡化。透過組合 Pilot、Citadel、Galley 和 sidecar injector,建立了一個單一元件 Istiod。Node Agent 功能也已合併到 istio-agent 中。
先前由 Istio 安裝的附加元件(cert-manager、Grafana、Jaeger、Kiali、Prometheus、Zipkin)現在需要單獨安裝。Istio 將支援來自 Istio 專案的整合安裝,並將維持與非 Istio 專案整合的相容性。
Prometheus 整合仍可透過安裝 Rancher Monitoring 或安裝你自己的 Prometheus operator 來使用。Rancher 的 Istio 圖表也會預設安裝 Kiali,以確保你可以立即獲得微服務的完整圖像。
Istio 已從使用 Helm 作為安裝 Istio 的方式遷移,現在透過 istioctl 二進位檔或 Istio Operator 提供安裝。為了確保與 Istio 最簡單的互動,Rancher 的 Istio 將維護一個 Helm 圖表,該圖表利用 istioctl 二進位檔來管理你的 Istio 安裝。
此 Helm 圖表將透過 UI 中的 Apps and Marketplace 提供。有權存取 Rancher Chart 目錄的使用者需要設定 Istio,然後才能在專案中使用。
與 Istio 捆綁的工具
我們的 Istio 安裝程式將 istioctl 二進位檔命令包裝在方便的 Helm 圖表中,包括允許複雜自訂的覆蓋檔案選項。
它還包括以下內容:
Kiali
Kiali 是一個全面的視覺化輔助工具,用於繪製整個服務網格中的流量流。它允許你查看它們如何連接,包括它們之間的流量速率和延遲。
你可以檢查服務網格的健康狀況,或深入查看單一元件的傳入和傳出請求。
對於 Istio 安裝版本 103.1.0+up1.19.6 及更高版本,Kiali 使用令牌值作為其身分驗證策略。Rancher 中 Kiali 服務帳戶的名稱為 kiali。如果你正在編寫需要輸入 Kiali 服務帳戶名稱的命令(例如,如果你嘗試產生或檢索工作階段令牌),請使用此名稱。有關更多資訊,請參閱 Kiali 令牌身分驗證 FAQ。
Jaeger
我們的 Istio 安裝程式包括 Jaeger 的快速啟動、一體化安裝,這是一個用於追蹤分散式系統的 工具。
請注意,這不是 Jaeger 的生產級部署。此部署使用記憶體內儲存元件,而建議在生產環境中使用持久儲存元件。有關你可能需要哪種部署策略的更多資訊,請參閱 Jaeger 文件。
先決條件
在啟用 Istio 之前,我們建議你確認 Rancher 工作節點有足夠的 CPU 和記憶體來執行 Istio 的所有元件。
如果你在 RKE2 叢集上安裝 Istio,則需要一些額外的步驟。有關詳細資訊,請參閱此章節。
設定指南
有關如何設定 Istio 並在專案中使用它的說明,請參閱設定指南。
移除 Istio
要從叢集、命名空間或工作負載移除 Istio 元件,請參閱解除安裝 Istio 章節。