關於受管理的 Istio 附加程式
Istio on IBM Cloud® Kubernetes Service 提供 Istio 的無縫安裝、Istio 控制平面元件的自動更新及生命週期管理,以及與平台記載和監視工具的整合。
只要按一下,即可啟動並執行所有 Istio 核心元件。 IBM Cloud Kubernetes Service 上的 Istio 是以受管附加元件的形式提供,因此 IBM Cloud 會自動更新您所有的 Istio 元件。
何謂 Istio?
Istio 是一個開放式服務網狀平台,用來連接、保全、控制和觀察雲端平台上的微服務,例如 Kubernetes,IBM Cloud Kubernetes Service。
將單一應用程式轉換為分散微服務架構時,會產生一系列新的挑戰,例如如何控制微服務的資料流量、執行服務的暗發表 (dark launch) 和金絲雀推出 (canary rollout)、處理失敗、保護服務通訊、觀察服務以及在服務組合之間強制實施一致的存取原則。 若要解決這些困難,您可以運用服務網格。 服務網格提供透通且與語言無關的網路,用於連接、觀察、保護及控制微服務之間的連線功能。 藉由使用 Istio,可掌握服務網格的情況並對其進行控制,以便能管理網路資料流量,在微服務之間進行負載平衡,強制實施存取原則,驗證服務身分等。
例如,在微服務網格中使用 Istio 可協助您:
- 更妥善地瞭解叢集裡執行的應用程式。
- 部署 Canary 版本的應用程式,並控制傳送給它們的資料流量。
- 啟用在微服務之間所傳送資料的自動加密。
Istio 服務網狀結構由兩個主要元件組成,一個是資料平面,另一個是控制平面。
- 資料平面
- 資料平面包含應用程式、注入應用程式 Pod 中的 Sidecar、閘道及資料平面配置資源 (例如
ServiceEntries
、VirtualServices
、Gateways
、DestinationRules
、EnvoyFilters
等)。 您負責配置服務網格、在修補程式更新時更新 Sidecar 及自訂閘道,以及在發行較新版本時升級附加程式。 - 控制層
- 控制平面由 Istio 操作員、受管理 Istio 操作員及
Istiod
組成,其中包含 Pilot、Mixer 遙測及原則,以及 Citadel 元件。 如需每一個元件的相關資訊,請參閱istio
附加程式說明。IBM Cloud 透過提供修補程式更新、解決漏洞及核對受管理資源來管理控制平面。
何謂 Istio on IBM Cloud Kubernetes Service?
Istio on IBM Cloud Kubernetes Service 是以受管理附加程式形式提供,可直接整合 Istio 與 Kubernetes 叢集。
這在我的群集中是什麼樣子?
安裝 Istio 附加程式時,Istio 控制平面和資料平面會使用叢集已連線到的網路介面。 配置資料流量會流經叢集內的專用網路,且不需要您在防火牆中開啟任何其他埠或 IP 位址。 如果使用 Istio 閘道公開了 Istio 管理的應用程式,則對應用程式的外部資料流量要求會在公用網路介面上流動。
更新程序如何運作?
受管理附加程式中的 Istio 版本是藉由使用 IBM Cloud 進行測試,並核准用於 IBM Cloud Kubernetes Service。 此外,Istio 附加程式可簡化 Istio 控制平面的維護,讓您可以專注於管理微服務。IBM Cloud 會自動將修補程式更新推出至 IBM Cloud Kubernetes Service支援的最新版本 Istio,以保持所有 Istio 元件的最新狀態。 若要將 Istio 元件更新為 IBM Cloud Kubernetes Service所支援的 Istio 最新次要版本 (例如從 Istio 1.6 至 1.7),您可以遵循 更新 Istio 附加程式的次要版本 中的步驟。
每當更新受管理 Istio 附加程式時,請確定您 更新 istioctl
用戶端及應用程式的 Istio Sidecar,以符合附加程式的 Istio 版本。 您可以執行 istioctl version
來檢查 istioctl
用戶端及 Istio
附加程式控制平面的版本是否相符。
如果您需要使用最新版本的 Istio 或自訂您的 Istio 安裝,您可以依照 IBM Cloud 快速入門教學中的步驟,安裝開放原始碼版本的 Istio。 不過,請注意,您無法與叢集裡受管理 Istio 附加程式同時執行社群 Istio。
Istio 附加程式包含哪些內容?
在 Kubernetes 集群中,您可以安裝一般可用的受管 Istio 附加元件,它可執行 Istio 版本 1.23.5。
Istio 附加程式會安裝 Istio 的核心元件。 如需以下任何控制平面元件的詳細資訊,請參閱 Istio 文件。
Envoy
會對服務網格中所有服務的入埠和出埠資料流量進行 Proxy 處理。 在與應用程式容器相同的 Pod 中,會將 Envoy 部署為 Sidecar 容器。istiod
會將 Pilot、Galley、Citadel 及 Sidecar Injector 先前執行的功能統一到單一控制平面套件中。istio-ingressgateway
及istio-egressgateway
可控制 Istio 受管理應用程式的送入資料流量及送出資料流量。ibm-operators
名稱空間中的 Istio 運算子 (在 Istio 1.10 版或更新版本中的addon-istio-operator
,或在 Istio 1.9 版或更舊版本中的managed-istio-operator
) 會驗證並核對您所做的任何自訂 Istio 運算子 (IOP) 變更。
限制
請檢閱受管理 Istio 附加程式的下列限制。
- 啟用受管理的 Istio 附加元件後,就無法使用
IstioOperator
(IOP) 資源自訂 Istio 控制平面安裝。 僅支援 IBM 針對 Istio 控制平面所管理的IstioOperator
資源。 如果您在 Istio 資料平面中為自訂閘道建立IstioOperator
資源,則您負責管理那些資源。 - 您無法修改在
istio-system
名稱空間中為您建立的任何 Istio 資源。 如果需要自訂 Istio 安裝,您可以 編輯managed-istio-custom
configmap 資源。 - 受管理 Istio 附加程式中不支援下列特性: