关于受管 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。
将单一应用程序转换为分布式微服务体系结构时,会产生一系列新的挑战,例如如何控制微服务的流量,执行服务的灰度上线和金丝雀应用,处理故障,保护服务通信,观察服务以及在服务组中强制实施一致的访问策略。 为了解决这些难题,您可以利用服务网。 服务网提供了一个与语言无关的透明网络,用于连接、观察、保护和控制微服务之间的连接。 通过 Istio,可掌握服务网的情况并对其进行控制,从而可以管理网络流量,在微服务之间进行负载均衡,强制实施访问策略,验证服务身份等。
例如,在微服务网中使用 Istio 可帮助您:
- 更好地了解集群中运行的应用程序。
- 部署应用程序的金丝雀版本,并控制向其发送的流量。
- 对微服务之间传输的数据启用自动加密。
Istio服务网格由两个主要部分组成:数据平面和控制平面。
- 数据平面
- 数据平面由应用程序,注入到应用程序 pod 中的侧柜,网关以及诸如
ServiceEntries
,VirtualServices
,Gateways
,DestinationRules
和EnvoyFilters
等数据平面配置资源组成。 您负责配置服务网格,在补丁更新上更新侧柜和定制网关,并在发布更新版本时升级附加组件。 - 控制平面
- 控制平面由 Istio 操作程序,受管 Istio 操作程序以及包含 Pilot,Mixer 遥测和策略以及 Citadel 组件的
Istiod
组成。 有关其中每个组件的更多信息,请参阅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 侧柜 以匹配该附加组件的 Istio 版本。 您可以通过运行 istioctl version
来检查 istioctl
客户机和 Istio 附加组件控制平面的版本是否匹配。
如果您需要使用最新版本的 Istio 或自定义 Istio 安装,可以按照 IBM Cloud 快速入门教程中的步骤安装 Istio 的开源版本。 但是,请注意,不能与集群中的受管 Istio 附加组件同时运行社区 Istio。
Istio 附加组件随附了哪些组件?
在 Kubernetes 集群中,您可以安装一般可用的托管Istio插件,该插件运行Istio版本 1.23.5。
Istio 附加组件会安装 Istio 的核心组件。 有关以下控制平面组件的更多信息,请参阅 Istio 文档。
Envoy
作为代理传递网中所有服务的入站和出站流量。 Envoy 在应用程序容器所在的 pod 中部署为侧柜容器。istiod
统一了 Pilot,Galley,Citadel 和 sidecar 注射器先前在单个控制平面包中执行的功能。istio-ingressgateway
和istio-egressgateway
控制来自 Istio 管理的应用程序的传入流量和传出流量。ibm-operators
名称空间中的 Istio 操作程序 (Istio V 1.10 或更高版本中的addon-istio-operator
或 Istio V 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 附加组件中不支持以下功能: