apiVersion: maistra.io/v2
kind: ServiceMeshControlPlane
metadata:
name: basic
spec:
runtime:
components:
pilot:
container:
env:
ENABLE_NATIVE_SIDECARS: "true"
Red Hat 致力于在我们代码、文档和网络资源中替换有问题的语言。我们首先从这四个术语开始:master、slave、blacklist 和 whitelist。由于这项工作的巨大性,这些更改将在未来几个版本中逐步实施。更多详情,请参见我们首席技术官 Chris Wright 的消息。
此 Red Hat OpenShift Service Mesh 版本将 Red Hat OpenShift Service Mesh Operator 版本更新到 2.6.4,并包含以下ServiceMeshControlPlane
资源版本更新:2.6.4、2.5.7 和 2.4.13。
此版本解决了常见漏洞和披露 (CVE),并在 Red Hat OpenShift Service on AWS 4.14 及更高版本上受支持。
最新版本的 Red Hat OpenShift Service Mesh Operator 可与所有受支持的 Service Mesh 版本一起使用。Service Mesh 版本使用ServiceMeshControlPlane
指定。
Red Hat 提供的最新版本的 Kiali Operator 可与所有受支持的 Red Hat OpenShift Service Mesh 版本一起使用。Service Mesh 版本通过使用ServiceMeshControlPlane
资源指定。Service Mesh 版本会自动确保 Kiali 版本兼容。
此 Red Hat OpenShift Service Mesh 版本将 Red Hat OpenShift Service Mesh Operator 版本更新到 2.6.3,并包含以下ServiceMeshControlPlane
资源版本更新:2.6.3、2.5.6 和 2.4.12。
此版本解决了常见漏洞和披露 (CVE),并在 Red Hat OpenShift Service on AWS 4.14 及更高版本上受支持。
Red Hat 提供的最新版本的 Kiali Operator 可与所有受支持的 Red Hat OpenShift Service Mesh 版本一起使用。Service Mesh 版本通过使用ServiceMeshControlPlane
资源指定。Service Mesh 版本会自动确保 Kiali 版本兼容。
此 Red Hat OpenShift Service Mesh 版本将 Red Hat OpenShift Service Mesh Operator 版本更新到 2.6.2,并包含以下ServiceMeshControlPlane
资源版本更新:2.6.2、2.5.5 和 2.4.11。
此版本解决了常见漏洞和披露 (CVE),包含错误修复,并在 Red Hat OpenShift Service on AWS 4.14 及更高版本上受支持。
Red Hat 提供的最新版本的 Kiali Operator 可与所有受支持的 Red Hat OpenShift Service Mesh 版本一起使用。Service Mesh 版本通过使用ServiceMeshControlPlane
资源指定。Service Mesh 版本会自动确保 Kiali 版本兼容。
OSSM-8099 之前,在端点处于 draining 阶段时,支持持久会话标签存在问题。现在,有一种方法可以处理有状态标头会话的 draining 端点。
OSSM-8001 之前,当在 Pod 中将runAsUser
和runAsGroup
设置为相同值时,代理 GID 会错误地设置为与容器的 GID 匹配,从而导致 Istio CNI 应用的 iptables 规则出现流量拦截问题。现在,容器可以对runAsUser
和runAsGroup
具有相同的值,并且 iptables 规则可以正确应用。
OSSM-8074 之前,当 Service Mesh 具有纯数字命名空间(例如12345
)时,Kiali Operator 无法安装 Kiali 服务器。现在,仅包含数字的命名空间可以正常工作。
此 Red Hat OpenShift Service Mesh 版本包含在 Red Hat OpenShift Service Mesh Operator 2.6.2 中,解决了常见漏洞和披露 (CVE),并在 Red Hat OpenShift Service on AWS 4.14 及更高版本上受支持。
此 Red Hat OpenShift Service Mesh 版本包含在 Red Hat OpenShift Service Mesh Operator 2.6.2 中,解决了常见漏洞和披露 (CVE),并在 Red Hat OpenShift Service on AWS 4.14 及更高版本上受支持。
此Red Hat OpenShift Service Mesh版本将Red Hat OpenShift Service Mesh Operator版本更新至2.6.1,并包含以下ServiceMeshControlPlane
资源版本更新:2.6.1、2.5.4和2.4.10。此版本解决了常见漏洞和披露 (CVE),包含一个错误修复,并支持 Red Hat OpenShift Service on AWS 4.14 及更高版本。
Red Hat 提供的最新版本的 Kiali Operator 可与所有受支持的 Red Hat OpenShift Service Mesh 版本一起使用。Service Mesh 版本通过使用ServiceMeshControlPlane
资源指定。Service Mesh 版本会自动确保 Kiali 版本兼容。
OSSM-6766 之前,如果用户想要更新命名空间(例如,启用或禁用注入),或创建任何Istio对象(例如,创建流量策略),OpenShift Service Mesh控制台 (OSSMC) 插件会失败。现在,如果用户更新命名空间或创建任何Istio对象,OpenShift Service Mesh控制台 (OSSMC) 插件不会失败。
此Red Hat OpenShift Service Mesh版本将Red Hat OpenShift Service Mesh Operator版本更新至2.6.0,并包含以下ServiceMeshControlPlane
资源版本更新:2.6.0、2.5.3和2.4.9。此版本添加了新功能,解决了常见漏洞和披露 (CVE),并支持 Red Hat OpenShift Service on AWS 4.14 及更高版本。
此版本结束对Red Hat OpenShift Service Mesh 2.3版本的维护支持。如果您使用的是Service Mesh 2.3版本,则应更新到受支持的版本。
Service Mesh 2.6基于Istio 1.20,提供新的功能和产品增强,包括
在Red Hat OpenShift Service on AWS 4.16或更高版本上支持原生Sidecar。
ServiceMeshControlPlane
资源示例apiVersion: maistra.io/v2
kind: ServiceMeshControlPlane
metadata:
name: basic
spec:
runtime:
components:
pilot:
container:
env:
ENABLE_NATIVE_SIDECARS: "true"
Istio 1.20中的流量镜像现在支持多个目标。此功能能够将流量镜像到不同的端点,允许同时观察不同服务版本或配置。
虽然Red Hat OpenShift Service Mesh支持许多Istio 1.20功能,但应注意以下例外情况
不支持环境网格
不支持Istio中的QuickAssist技术(QAT) PrivateKeyProvider
此版本更新了Istio捆绑镜像名称和Kiali捆绑镜像名称,以更好地符合Red Hat命名约定。
Istio捆绑镜像名称:openshift-service-mesh/istio-operator-bundle
Kiali捆绑镜像名称:openshift-service-mesh/kiali-operator-bundle
此版本引入了追踪扩展提供程序Red Hat OpenShift分布式追踪平台(Tempo)和Red Hat构建的OpenTelemetry的普遍可用集成。
您可以通过将命名元素和opentelemetry
提供程序附加到ServiceMehControlPlane
资源中的spec.meshConfig.extensionProviders
规范,将追踪数据公开到Red Hat OpenShift分布式追踪平台(Tempo)。然后,遥测自定义资源将配置Istio代理以收集追踪跨度并将它们发送到OpenTelemetry Collector端点。
您可以在网格命名空间中创建一个Red Hat构建的OpenTelemetry实例,并将其配置为将追踪数据发送到追踪平台后端服务。
Red Hat OpenShift分布式追踪平台(Tempo)堆栈在IBM Z上不受支持。 |
此版本默认情况下为ServiceMeshControlPlane
资源的新实例禁用Red Hat OpenShift分布式追踪平台(Jaeger)。
将ServiceMeshControlPlane
资源的现有实例更新到Red Hat OpenShift Service Mesh 2.6版本时,分布式追踪平台(Jaeger)默认情况下保持启用状态。
Red Hat OpenShift Service Mesh 2.6是包含对Red Hat OpenShift分布式追踪平台(Jaeger)和OpenShift Elasticsearch Operator支持的最后一个版本。分布式追踪平台(Jaeger)和OpenShift Elasticsearch Operator都将在下一个版本中删除。如果您当前正在使用分布式追踪平台(Jaeger)和OpenShift Elasticsearch Operator,则需要切换到Red Hat OpenShift分布式追踪平台(Tempo)和Red Hat构建的OpenTelemetry。
此版本引入了将Kubernetes Gateway API 1.0.0版本与Red Hat OpenShift Service Mesh 2.6一起使用的通用可用性。此API使用仅限于Red Hat OpenShift Service Mesh。不支持Gateway API自定义资源定义(CRD)。
如果启用了集群范围模式 (spec.mode: ClusterWide
),则现在默认启用Gateway API。即使集群中未安装自定义资源定义(CRD),也可以启用它。
多租户网格部署的Gateway API仍处于技术预览阶段。 |
请参考下表确定应与您使用的OpenShift Service Mesh版本一起安装哪个Gateway API版本
Service Mesh版本 | Istio版本 | Gateway API版本 | 备注 |
---|---|---|---|
2.6 |
1.20.x |
1.0.0 |
N/A |
2.5.x |
1.18.x |
0.6.2 |
使用实验分支,因为v0.6.2中缺少 |
2.4.x |
1.16.x |
0.5.1 |
对于多租户网格部署,必须存在所有Gateway API CRD。使用实验分支。 |
您可以通过将PILOT_ENABLE_GATEWAY_API
设置为false
来禁用此功能
apiVersion: maistra.io/v2
kind: ServiceMeshControlPlane
metadata:
name: basic
spec:
runtime:
components:
pilot:
container:
env:
PILOT_ENABLE_GATEWAY_API: "false"
OSSM-6754 之前,在Red Hat OpenShift Service on AWS 4.15中,当用户导航到“服务详细信息”页面,单击“服务网格”选项卡并刷新页面时,“服务网格详细信息”页面会停留在服务网格内容信息上,即使活动选项卡是默认的“详细信息”选项卡。现在,刷新后,用户可以无问题地浏览“服务详细信息”页面的不同选项卡。
OSSM-2101 之前,Istio Operator 在不再需要时从未删除 `istio-cni-node` DaemonSet 和其他 CNI 资源。现在,升级 Operator 后,如果集群中至少安装了一个 SMCP,Operator 会协调此 SMCP,然后删除所有未使用的 CNI 安装(即使是很旧的 CNI 版本,最早可追溯到 v2.0)。
OSSM-6099 在 IPv6 集群上安装 OpenShift Service Mesh 控制台 (OSSMC) 插件失败。
解决方法:在 IPv4 集群上安装 OSSMC 插件。
此 Red Hat OpenShift Service Mesh 版本将 Red Hat OpenShift Service Mesh Operator 版本更新到 2.5.2,并包含以下 `ServiceMeshControlPlane` 资源版本更新:2.5.2、2.4.8 和 2.3.12。此版本解决了常见漏洞和披露 (CVE),包含错误修复,并支持 Red Hat OpenShift Service on AWS 4.12 及更高版本。
OSSM-6331 之前,`smcp.general.logging.componentLevels` 规范接受无效的 `LogLevel` 值,并且仍然创建 `ServiceMeshControlPlane` 资源。现在,如果使用无效值,终端会显示错误消息,并且不会创建控制平面。
OSSM-6290 之前,**Istio 配置**列表页面的**项目**筛选器下拉菜单无法正常工作。即使您从下拉菜单中选择了一个特定项目,也会显示来自所有命名空间的所有 `istio config` 项目。现在,只显示属于筛选器下拉菜单中所选项目的 `istio config` 项目。
OSSM-6298 之前,当您单击 OpenShift Service Mesh 控制台 (OSSMC) 插件中的项目引用时,控制台有时会在打开所需页面之前执行多次重定向。结果,导航回控制台中打开的上一个页面会导致您的 Web 浏览器打开错误的页面。现在,这些重定向不会发生,并且在 Web 浏览器中单击**后退**会打开正确的页面。
OSSM-6299 之前,在 Red Hat OpenShift Service on AWS 4.15 中,当您单击流量图中任何节点菜单的**节点图**菜单选项时,不会显示节点图。相反,页面会刷新并显示相同的流量图。现在,单击**节点图**菜单选项会正确显示节点图。
OSSM-6267 之前,在 Red Hat OpenShift Service Mesh 2.5 Grafana 中配置数据源会导致数据查询身份验证错误,用户无法在 Istio 服务和工作负载仪表板上查看数据。现在,将现有 2.5 SMCP 升级到 2.5.2 或更高版本可以解决 Grafana 错误。
此 Red Hat OpenShift Service Mesh 版本包含在 Red Hat OpenShift Service Mesh Operator 2.5.2 中,解决了常见漏洞和披露 (CVE),包含错误修复,并支持 Red Hat OpenShift Service on AWS 4.12 及更高版本。
最新版本的 Red Hat OpenShift Service Mesh Operator 可与所有受支持的 Service Mesh 版本一起使用。Service Mesh 版本使用ServiceMeshControlPlane
指定。
此 Red Hat OpenShift Service Mesh 版本包含在 Red Hat OpenShift Service Mesh Operator 2.5.2 中,解决了常见漏洞和披露 (CVE),包含错误修复,并支持 Red Hat OpenShift Service on AWS 4.12 及更高版本。
最新的 Red Hat OpenShift Service Mesh Operator 版本可与所有受支持的 Service Mesh 版本一起使用。Service Mesh 版本使用 `ServiceMeshControlPlane` 资源指定。
这些之前的版本添加了功能和改进。
此 Red Hat OpenShift Service Mesh 版本将 Red Hat OpenShift Service Mesh Operator 版本更新到 2.5.1,并包含以下 `ServiceMeshControlPlane` 资源版本更新:2.5.1、2.4.7 和 2.3.11。
此版本解决了常见漏洞和披露 (CVE),包含错误修复,并支持 Red Hat OpenShift Service on AWS 4.12 及更高版本。
此 Red Hat OpenShift Service Mesh 版本将 Red Hat OpenShift Service Mesh Operator 版本更新到 2.5.0,并包含以下 `ServiceMeshControlPlane` 资源版本更新:2.5.0、2.4.6 和 2.3.10。
此版本添加了新功能,解决了常见漏洞和披露 (CVE),包含错误修复,并支持 Red Hat OpenShift Service on AWS 4.12 及更高版本。
此版本终止对 OpenShift Service Mesh 2.2 版本的维护支持。如果您正在使用 OpenShift Service Mesh 2.2 版本,则应更新到受支持的版本。
Service Mesh 2.5 基于 Istio 1.18,带来了新的功能和产品增强功能。虽然 Red Hat OpenShift Service Mesh 支持许多 Istio 1.18 功能,但应注意以下例外情况
不支持环境网格
不支持Istio中的QuickAssist技术(QAT) PrivateKeyProvider
此版本添加了从多租户网格迁移到集群范围网格的文档。有关更多信息,请参阅以下文档
“关于迁移到集群范围的网格”
“从集群范围的网格中排除命名空间”
“在集群范围的网格中定义哪些命名空间接收 sidecar 注入”
“从集群范围的网格中排除单个 Pod”
此版本提供基于 ARM 的集群上的 Red Hat OpenShift Service Mesh Operator 作为一项普遍可用的功能。
此版本引入了追踪扩展提供程序的普遍可用集成。您可以通过将命名元素和zipkin
提供程序附加到spec.meshConfig.extensionProviders
规范中,将追踪数据暴露给 Red Hat OpenShift 分布式追踪平台 (Tempo) 栈。然后,遥测自定义资源会配置 Istio 代理以收集追踪跨度并将它们发送到 Tempo 分发器服务端点。
Red Hat OpenShift分布式追踪平台(Tempo)堆栈在IBM Z上不受支持。 |
此版本引入了 OpenShift 服务网格控制台 (OSSMC) 插件的普遍可用版本。
OSSMC 插件是 OpenShift 控制台的扩展,它可以提供对服务网格的可见性。安装 OSSMC 插件后,在 Web 控制台的导航窗格中将提供一个新的服务网格菜单选项,以及增强现有工作负载和服务控制台页面的新服务网格选项卡。
OSSMC 插件的功能与独立的 Kiali 控制台的功能非常相似。OSSMC 插件不会替换 Kiali 控制台,安装 OSSMC 插件后,您仍然可以访问独立的 Kiali 控制台。
Istio OpenShift 路由 (IOR) 的默认设置已更改。从本版本开始,对于ServiceMeshControlPlane
资源的新实例,默认情况下会禁用自动路由。
对于ServiceMeshControlPlane
资源的新实例,您可以通过在ServiceMeshControlPlane
资源的gateways.openshiftRoute
规范中将enabled
字段设置为true
来使用自动路由。
ServiceMeshControlPlane
资源示例apiVersion: maistra.io/v2
kind: ServiceMeshControlPlane
spec:
gateways:
openshiftRoute:
enabled: true
将现有ServiceMeshControlPlane
资源更新到 Red Hat OpenShift 服务网格版本 2.5 时,自动路由默认情况下保持启用状态。
networking.istio
API 中的concurrency
参数配置 Istio 代理运行的 worker 线程数。
为了保证部署的一致性,Istio 现在根据分配给代理容器的 CPU 限制来配置concurrency
参数。例如,2500m 的限制会将concurrency
参数设置为3
。如果您将concurrency
参数设置为不同的值,则 Istio 将使用该值来配置代理运行的线程数,而不是使用 CPU 限制。
以前,该参数的默认设置为2
。
Red Hat OpenShift on AWS 的网关 API 支持仅为技术预览功能。技术预览功能不受 Red Hat 生产服务级别协议 (SLA) 的支持,并且功能可能不完整。Red Hat 不建议在生产环境中使用它们。这些功能可让您抢先体验即将推出的产品功能,从而能够在开发过程中测试功能并提供反馈。 有关 Red Hat 技术预览功能的支持范围的更多信息,请参阅技术预览功能支持范围。 |
现在提供了一个新版本的网关 API 自定义资源定义 (CRD)。请参考下表确定应与您正在使用的 OpenShift 服务网格版本一起安装哪个网关 API 版本。
Service Mesh版本 | Istio版本 | Gateway API版本 | 备注 |
---|---|---|---|
2.5.x |
1.18.x |
0.6.2 |
使用实验分支,因为 v0.6.2 中缺少 |
2.4.x |
1.16.x |
0.5.1 |
对于多租户网格部署,必须存在所有Gateway API CRD。使用实验分支。 |
此 Red Hat OpenShift 服务网格版本包含 Red Hat OpenShift 服务网格运算符 2.5.1,解决了常见漏洞和披露 (CVE),包含错误修复,并支持 Red Hat OpenShift Service on AWS 4.12 及更高版本。
此 Red Hat OpenShift 服务网格版本包含 Red Hat OpenShift 服务网格运算符 2.5.0,解决了常见漏洞和披露 (CVE),包含错误修复,并支持 Red Hat OpenShift Service on AWS 4.12 及更高版本。
此 Red Hat OpenShift 服务网格版本将 Red Hat OpenShift 服务网格运算符版本更新为 2.4.5,并包括以下ServiceMeshControlPlane
资源版本更新:2.4.5、2.3.9 和 2.2.12。
此版本解决了常见漏洞和披露 (CVE),包含错误修复,并支持 Red Hat OpenShift Service on AWS 4.11 及更高版本。
此 Red Hat OpenShift 服务网格版本解决了常见漏洞和披露 (CVE),包含错误修复,并支持 Red Hat OpenShift Service on AWS 4.11 及更高版本。
已添加envoyExtAuthzGrpc
字段,用于使用 gRPC API 配置外部授权提供程序。
已解决常见漏洞和披露 (CVE)。
此版本支持 Red Hat OpenShift Service on AWS 4.10 和更高版本。
此 Red Hat OpenShift 服务网格版本解决了常见漏洞和披露 (CVE),包含错误修复,并支持 Red Hat OpenShift Service on AWS 4.10 及更高版本。
此 Red Hat OpenShift 服务网格版本解决了常见漏洞和披露 (CVE),包含错误修复,并支持 Red Hat OpenShift Service on AWS 4.10 及更高版本。
此 Red Hat OpenShift 服务网格版本解决了常见漏洞和披露 (CVE),包含错误修复,并支持 Red Hat OpenShift Service on AWS 4.10 及更高版本。
组件 | 版本 |
---|---|
Istio |
1.16.5 |
Envoy Proxy |
1.24.8 |
Jaeger |
1.42.0 |
Kiali |
1.65.6 |
此增强功能引入了集群范围部署的正式可用版本。集群范围部署包含一个服务网格控制平面,用于监控整个集群的资源。控制平面使用单个查询跨越所有命名空间来监控影响网格配置的每个 Istio 或 Kubernetes 资源。减少控制平面在集群范围部署中执行的查询次数可以提高性能。
此增强功能引入了meshConfig.discoverySelectors
字段的正式可用版本,该字段可用于集群范围部署以限制服务网格控制平面可以发现的服务。
spec:
meshConfig
discoverySelectors:
- matchLabels:
env: prod
region: us-east1
- matchExpressions:
- key: app
operator: In
values:
- cassandra
- spark
通过此更新,Red Hat OpenShift Service Mesh 与cert-manager
控制器和istio-csr
代理集成。cert-manager
在 Kubernetes 集群中添加证书和证书颁发者作为资源类型,并简化了获取、更新和使用这些证书的过程。cert-manager
提供并轮换 Istio 的中间 CA 证书。与istio-csr
集成使用户能够将 Istio 代理的签名证书请求委派给cert-manager
。ServiceMeshControlPlane
v2.4 接受cert-manager
提供的 CA 证书作为cacerts
密钥。
在 IBM Power®、IBM Z® 和 IBM® LinuxONE 上不支持与 |
此增强功能引入了一种正式可用的方法,可以通过使用AuthorizationPolicy
资源的action: CUSTOM
字段将 Red Hat OpenShift Service Mesh 与外部授权系统集成。使用envoyExtAuthzHttp
字段将访问控制委托给外部授权系统。
此增强功能引入了 Prometheus 扩展提供程序的正式可用版本。您可以通过在spec.meshConfig
规范中将extensionProviders
字段的值设置为prometheus
,将指标公开到 Red Hat OpenShift Service on AWS 监控堆栈或自定义 Prometheus 安装。遥测对象配置 Istio 代理以收集流量指标。Service Mesh 只支持 Prometheus 指标的遥测 API。
spec:
meshConfig:
extensionProviders:
- name: prometheus
prometheus: {}
---
apiVersion: telemetry.istio.io/v1alpha1
kind: Telemetry
metadata:
name: enable-prometheus-metrics
spec:
metrics:
- providers:
- name: prometheus
此增强功能引入了单栈 IPv6 集群的正式可用支持,提供了对更广泛的 IP 地址的访问。不支持双栈 IPv4 或 IPv6 集群。
在 IBM Power®、IBM Z® 和 IBM® LinuxONE 上不提供单栈 IPv6 支持。 |
要启用 Red Hat OpenShift Service on AWS Gateway API,请在ServiceMeshControlPlane
资源的techPreview.gatewayAPI
规范中将enabled
字段的值设置为true
。
spec:
techPreview:
gatewayAPI:
enabled: true
以前,环境变量用于启用 Gateway API。
spec:
runtime:
components:
pilot:
container:
env:
PILOT_ENABLE_GATEWAY_API: "true"
PILOT_ENABLE_GATEWAY_API_STATUS: "true"
PILOT_ENABLE_GATEWAY_API_DEPLOYMENT_CONTROLLER: "true"
此 Red Hat OpenShift 服务网格版本包含 Red Hat OpenShift 服务网格运算符 2.5.1,解决了常见漏洞和披露 (CVE),包含错误修复,并支持 Red Hat OpenShift Service on AWS 4.12 及更高版本。
此 Red Hat OpenShift 服务网格版本包含 Red Hat OpenShift 服务网格运算符 2.5.0,解决了常见漏洞和披露 (CVE),包含错误修复,并支持 Red Hat OpenShift Service on AWS 4.12 及更高版本。
此版本的 Red Hat OpenShift Service Mesh 包含在 Red Hat OpenShift Service Mesh Operator 2.4.5 中,解决了常见漏洞和暴露 (CVE),包含错误修复,并支持 Red Hat OpenShift Service on AWS 4.11 及更高版本。
此 Red Hat OpenShift 服务网格版本解决了常见漏洞和披露 (CVE),包含错误修复,并支持 Red Hat OpenShift Service on AWS 4.11 及更高版本。
此 Red Hat OpenShift 服务网格版本解决了常见漏洞和披露 (CVE),包含错误修复,并支持 Red Hat OpenShift Service on AWS 4.10 及更高版本。
此 Red Hat OpenShift 服务网格版本解决了常见漏洞和披露 (CVE),包含错误修复,并支持 Red Hat OpenShift Service on AWS 4.10 及更高版本。
此 Red Hat OpenShift 服务网格版本解决了常见漏洞和披露 (CVE),包含错误修复,并支持 Red Hat OpenShift Service on AWS 4.10 及更高版本。
此 Red Hat OpenShift 服务网格版本解决了常见漏洞和披露 (CVE),包含错误修复,并支持 Red Hat OpenShift Service on AWS 4.10 及更高版本。
此版本的 Red Hat OpenShift Service Mesh 解决了常见漏洞和暴露 (CVE),包含错误修复,并支持 Red Hat OpenShift Service on AWS 4.9 及更高版本。
此版本的 Red Hat OpenShift Service Mesh 解决了常见漏洞和暴露 (CVE),包含错误修复,并支持 Red Hat OpenShift Service on AWS 4.9 及更高版本。
此版本的 Red Hat OpenShift Service Mesh 引入了新功能,解决了常见漏洞和暴露 (CVE),包含错误修复,并支持 Red Hat OpenShift Service on AWS 4.9 及更高版本。
此版本的 Red Hat OpenShift Service Mesh 引入了新功能,解决了常见漏洞和暴露 (CVE),包含错误修复,并支持 Red Hat OpenShift Service on AWS 4.9 及更高版本。
组件 | 版本 |
---|---|
Istio |
1.14.3 |
Envoy Proxy |
1.22.4 |
Jaeger |
1.38 |
Kiali |
1.57.3 |
openshift-operators
命名空间包含一个新的 Istio CNI DaemonSet istio-cni-node-v2-3
和一个新的 ConfigMap
资源 istio-cni-config-v2-3
。
升级到 Service Mesh 控制平面 2.3 时,现有的 istio-cni-node
DaemonSet 不会更改,并且会创建一个新的 istio-cni-node-v2-3
DaemonSet。
此名称更改不影响之前的版本或与使用先前版本部署的 Service Mesh 控制平面关联的任何 istio-cni-node
CNI DaemonSet。
此版本引入了网关注入的普遍可用支持。网关配置应用于在网格边缘运行的独立 Envoy 代理,而不是与您的服务工作负载一起运行的 sidecar Envoy 代理。这使得能够自定义网关选项。使用网关注入时,必须在要运行网关代理的命名空间中创建以下资源:Service
、Deployment
、Role
和 RoleBinding
。
Service Mesh 2.3 基于 Istio 1.14,它带来了新的功能和产品增强。虽然支持许多 Istio 1.14 功能,但应注意以下例外情况
支持 ProxyConfig API,但 image 字段除外。
SPIRE 运行时不是受支持的功能。
以下示例 ServiceMeshControlPlane
对象配置集群范围部署。
要为集群范围部署创建 SMCP,用户必须属于 cluster-admin
ClusterRole。如果 SMCP 配置为集群范围部署,则它必须是集群中唯一的 SMCP。您不能将控制平面模式从多租户更改为集群范围(或从集群范围更改为多租户)。如果已存在多租户控制平面,请将其删除并创建一个新的。
此示例配置 SMCP 以进行集群范围部署。
apiVersion: maistra.io/v2
kind: ServiceMeshControlPlane
metadata:
name: cluster-wide
namespace: istio-system
spec:
version: v2.3
techPreview:
controlPlaneMode: ClusterScoped (1)
1 | 使 Istiod 能够在集群级别监控资源,而不是监控每个单独的命名空间。 |
此外,SMMR 也必须配置为集群范围部署。此示例配置 SMMR 以进行集群范围部署。
apiVersion: maistra.io/v1
kind: ServiceMeshMemberRoll
metadata:
name: default
spec:
members:
- '*' (1)
1 | 将所有命名空间添加到网格中,包括您随后创建的任何命名空间。以下命名空间不属于网格的一部分:kube、openshift、kube-* 和 openshift-*。 |
此版本的 Red Hat OpenShift Service Mesh 包含在 Red Hat OpenShift Service Mesh Operator 2.4.5 中,解决了常见漏洞和暴露 (CVE),包含错误修复,并支持 Red Hat OpenShift Service on AWS 4.11 及更高版本。
此 Red Hat OpenShift 服务网格版本解决了常见漏洞和披露 (CVE),包含错误修复,并支持 Red Hat OpenShift Service on AWS 4.11 及更高版本。
此 Red Hat OpenShift 服务网格版本解决了常见漏洞和披露 (CVE),包含错误修复,并支持 Red Hat OpenShift Service on AWS 4.10 及更高版本。
此 Red Hat OpenShift 服务网格版本解决了常见漏洞和披露 (CVE),包含错误修复,并支持 Red Hat OpenShift Service on AWS 4.10 及更高版本。
此 Red Hat OpenShift 服务网格版本解决了常见漏洞和披露 (CVE),包含错误修复,并支持 Red Hat OpenShift Service on AWS 4.10 及更高版本。
此 Red Hat OpenShift 服务网格版本解决了常见漏洞和披露 (CVE),包含错误修复,并支持 Red Hat OpenShift Service on AWS 4.10 及更高版本。
此版本的 Red Hat OpenShift Service Mesh 解决了常见漏洞和暴露 (CVE),包含错误修复,并支持 Red Hat OpenShift Service on AWS 4.9 及更高版本。
此版本的 Red Hat OpenShift Service Mesh 解决了常见漏洞和暴露 (CVE),包含错误修复,并支持 Red Hat OpenShift Service on AWS 4.9 及更高版本。
此版本的 Red Hat OpenShift Service Mesh 解决了常见漏洞和暴露 (CVE),包含错误修复,并支持 Red Hat OpenShift Service on AWS 4.9 及更高版本。
此 Red Hat OpenShift Service Mesh 版本解决了常见漏洞和披露 (CVE)、错误修复,并在 Red Hat OpenShift Service on AWS 4.9 及更高版本上受支持。
此 Red Hat OpenShift Service Mesh 版本解决了常见漏洞和披露 (CVE)、错误修复,并在 Red Hat OpenShift Service on AWS 4.9 及更高版本上受支持。
此 Red Hat OpenShift Service Mesh 版本解决了常见漏洞和披露 (CVE)、错误修复,并在 Red Hat OpenShift Service on AWS 4.9 及更高版本上受支持。
此 Red Hat OpenShift Service Mesh 版本添加了新的功能和增强功能,并在 Red Hat OpenShift Service on AWS 4.9 及更高版本上受支持。
组件 | 版本 |
---|---|
Istio |
1.12.7 |
Envoy Proxy |
1.20.4 |
Jaeger |
1.34.1 |
Kiali |
1.48.0.16 |
Service Mesh 2.2 基于 Istio 1.12,它带来了新的功能和产品增强。虽然支持许多 Istio 1.12 功能,但应注意以下不受支持的功能
AuthPolicy 试运行是一个技术预览功能。
gRPC 无代理服务网格是一个技术预览功能。
遥测 API 是一个技术预览功能。
发现选择器不是受支持的功能。
外部控制平面不是受支持的功能。
网关注入不是受支持的功能。
Gateway API CRD 默认情况下不会预安装在 OpenShift 集群上。在 SMCP 中启用 Gateway API 支持之前,请安装 CRD。
$ kubectl get crd gateways.gateway.networking.k8s.io || { kubectl kustomize "github.com/kubernetes-sigs/gateway-api/config/crd?ref=v0.4.0" | kubectl apply -f -; }
要启用此功能,请为ServiceMeshControlPlane
中的Istiod
容器设置以下环境变量。
spec:
runtime:
components:
pilot:
container:
env:
PILOT_ENABLE_GATEWAY_API: "true"
PILOT_ENABLE_GATEWAY_API_STATUS: "true"
# and optionally, for the deployment controller
PILOT_ENABLE_GATEWAY_API_DEPLOYMENT_CONTROLLER: "true"
可以使用SameNamespace
或All
设置来限制 Gateway API 监听器上的路由附加。Istio 会忽略listeners.allowedRoutes.namespaces
中标签选择器的使用,并恢复到默认行为 (SameNamespace
)。
此版本的 Red Hat OpenShift Service Mesh 解决了常见漏洞和暴露 (CVE),包含错误修复,并支持 Red Hat OpenShift Service on AWS 4.9 及更高版本。
此版本的 Red Hat OpenShift Service Mesh 解决了常见漏洞和暴露 (CVE),包含错误修复,并支持 Red Hat OpenShift Service on AWS 4.9 及更高版本。
此 Red Hat OpenShift Service Mesh 版本解决了常见漏洞和披露 (CVE)、错误修复,并在 Red Hat OpenShift Service on AWS 4.9 及更高版本上受支持。
此 Red Hat OpenShift Service Mesh 版本解决了常见漏洞和披露 (CVE)、错误修复,并在 Red Hat OpenShift Service on AWS 4.9 及更高版本上受支持。
此版本的 Red Hat OpenShift Service Mesh 解决了常见漏洞和披露 (CVE) 以及错误修复。
此版本的 Red Hat OpenShift Service Mesh 解决了常见漏洞和披露 (CVE) 以及错误修复。
此版本的 Red Hat OpenShift Service Mesh 解决了常见漏洞和披露 (CVE) 以及错误修复。
此版本的 Red Hat OpenShift Service Mesh 解决了常见漏洞和披露 (CVE) 以及错误修复。
在此版本中,Red Hat OpenShift 分布式跟踪平台 (Jaeger) 运算符现在默认安装到openshift-distributed-tracing
命名空间。以前,默认安装位置是在openshift-operator
命名空间。
此版本的 Red Hat OpenShift Service Mesh 解决了常见漏洞和披露 (CVE) 以及错误修复。
此版本还增加了禁用网络策略自动创建的功能。
组件 | 版本 |
---|---|
Istio |
1.9.9 |
Envoy Proxy |
1.17.1 |
Jaeger |
1.24.1 |
Kiali |
1.36.7 |
Red Hat OpenShift Service Mesh 会在服务网格控制平面和应用程序命名空间中自动创建和管理多个NetworkPolicies
资源。这是为了确保应用程序和控制平面可以相互通信。
如果要禁用NetworkPolicies
资源的自动创建和管理,例如为了执行公司安全策略,您可以这样做。您可以编辑ServiceMeshControlPlane
将spec.security.manageNetworkPolicy
设置为false
。
禁用 |
在 Red Hat OpenShift Service on AWS Web 控制台中,单击**运算符**→**已安装的运算符**。
从“项目”菜单中选择安装服务网格控制平面的项目,例如istio-system
。
单击 Red Hat OpenShift Service Mesh 运算符。在**Istio 服务网格控制平面**列中,单击您的ServiceMeshControlPlane
的名称,例如basic-install
。
在**创建 ServiceMeshControlPlane 详情**页面上,单击YAML
以修改您的配置。
设置ServiceMeshControlPlane
字段spec.security.manageNetworkPolicy
为false
,如本例所示。
apiVersion: maistra.io/v2
kind: ServiceMeshControlPlane
spec:
security:
trust:
manageNetworkPolicy: false
单击**保存**。
此版本的 Red Hat OpenShift Service Mesh 在 Red Hat OpenShift Service on AWS 4.6 EUS、4.7、4.8、4.9 上增加了对 Istio 1.9.8、Envoy Proxy 1.17.1、Jaeger 1.24.1 和 Kiali 1.36.5 的支持,并包含新的功能和增强功能。
组件 | 版本 |
---|---|
Istio |
1.9.6 |
Envoy Proxy |
1.17.1 |
Jaeger |
1.24.1 |
Kiali |
1.36.5 |
已添加新的自定义资源定义 (CRD) 以支持联合服务网格。服务网格可以在同一集群内或跨不同的 OpenShift 集群进行联合。这些新资源包括
ServiceMeshPeer
- 定义与单独服务网格的联合,包括网关配置、根信任证书配置和状态字段。在一对联合网格中,每个网格将定义其自己的单独ServiceMeshPeer
资源。
ExportedServiceMeshSet
- 定义为给定ServiceMeshPeer
的哪些服务可供对等网格导入。
ImportedServiceSet
- 定义从对等网格导入的给定ServiceMeshPeer
的哪些服务。这些服务也必须由对等方的ExportedServiceMeshSet
资源提供。
在 Red Hat OpenShift Service on AWS (ROSA) 或 OpenShift Dedicated (OSD) 上的集群之间不支持服务网格联合。
OVN-Kubernetes 容器网络接口 (CNI) 之前在 Red Hat OpenShift Service Mesh 2.0.1 中作为技术预览功能推出,现在在 Red Hat OpenShift Service Mesh 2.1 和 2.0.x 中正式可用,可在 Red Hat OpenShift Service on AWS 4.7.32、Red Hat OpenShift Service on AWS 4.8.12 和 Red Hat OpenShift Service on AWS 4.9 上使用。
ServiceMeshExtensions
自定义资源定义 (CRD) 最初在 2.0 中作为技术预览推出,现在正式可用。您可以使用 CRD 来构建自己的插件,但 Red Hat 不提供对您创建的插件的支持。
在 Service Mesh 2.1 中已完全移除 Mixer。如果启用了 Mixer,则将阻止从 Service Mesh 2.0.x 版本升级到 2.1。Mixer 插件需要移植到 WebAssembly 扩展。
由于 Mixer 现在已正式移除,OpenShift Service Mesh 2.1 不支持 3scale Mixer 适配器。在升级到 Service Mesh 2.1 之前,请移除基于 Mixer 的 3scale 适配器和任何其他 Mixer 插件。然后,使用ServiceMeshExtension
资源手动安装和配置 Service Mesh 2.1+ 的新 3scale WebAssembly 适配器。
3scale 2.11 引入了一个基于WebAssembly
的更新的 Service Mesh 集成。
Service Mesh 2.1 基于 Istio 1.9,它带来了大量的新功能和产品增强功能。虽然大多数 Istio 1.9 功能都受支持,但应注意以下例外情况
尚不支持虚拟机集成
尚不支持 Kubernetes Gateway API
尚不支持远程获取和加载 WebAssembly HTTP 过滤器
尚不支持使用 Kubernetes CSR API 的自定义 CA 集成
用于监控流量的请求分类是技术预览功能
通过授权策略的 CUSTOM 操作与外部授权系统的集成是技术预览功能
此版本的 Red Hat OpenShift Service Mesh 解决了常见漏洞和披露 (CVE)、错误修复,并在 Red Hat OpenShift Service on AWS 4.9 或更高版本上受支持。
此版本的 Red Hat OpenShift Service Mesh 解决了常见漏洞和披露 (CVE)、错误修复,并在 Red Hat OpenShift Service on AWS 4.9 或更高版本上受支持。
此版本的 Red Hat OpenShift Service Mesh 解决了常见漏洞和披露 (CVE) 以及错误修复。
此版本的 Red Hat OpenShift Service Mesh 解决了常见漏洞和披露 (CVE) 以及错误修复。
此版本的 Red Hat OpenShift Service Mesh 解决了常见漏洞和披露 (CVE)。
Red Hat OpenShift Service Mesh 包含一个可远程利用的漏洞,CVE-2021-39156,其中 URI 路径中带有片段(URI 末尾以 # 字符开头的一节)的 HTTP 请求可能会绕过 Istio 基于 URI 路径的授权策略。例如,Istio 授权策略拒绝发送到 URI 路径/user/profile
的请求。在易受攻击的版本中,URI 路径为/user/profile#section1
的请求会绕过拒绝策略并路由到后端(使用规范化的 URI path /user/profile%23section1
),这可能会导致安全事件。
如果您使用带有 DENY 操作和operation.paths
的授权策略,或者使用 ALLOW 操作和operation.notPaths
,则会受到此漏洞的影响。
通过缓解措施,在授权和路由之前会删除请求 URI 的片段部分。这可以防止 URI 中带有片段的请求绕过基于不包含片段部分的 URI 的授权策略。
要选择退出缓解措施中的新行为,将保留 URI 中的片段部分。您可以配置您的ServiceMeshControlPlane
以保留 URI 片段。
禁用新行为将按上述方式规范化您的路径,这被认为是不安全的。在选择保留 URI 片段之前,请确保您已在任何安全策略中考虑到了这一点。 |
ServiceMeshControlPlane
修改示例apiVersion: maistra.io/v2
kind: ServiceMeshControlPlane
metadata:
name: basic
spec:
techPreview:
meshConfig:
defaultConfig:
proxyMetadata: HTTP_STRIP_FRAGMENT_FROM_PATH_UNSAFE_IF_DISABLED: "false"
Istio 为主机名本身和所有匹配的端口生成主机名。例如,“httpbin.foo”主机的虚拟服务或网关会生成与“httpbin.foo”和“httpbin.foo:*”匹配的配置。但是,精确匹配授权策略仅匹配为hosts
或notHosts
字段提供的精确字符串。
如果您有使用精确字符串比较规则来确定hosts 或 notHosts的AuthorizationPolicy
资源,则您的集群会受到影响。
您必须更新您的授权策略规则以使用前缀匹配而不是精确匹配。例如,在第一个AuthorizationPolicy
示例中,将hosts: ["httpbin.com"]
替换为hosts: ["httpbin.com:*"]
。
apiVersion: security.istio.io/v1beta1
kind: AuthorizationPolicy
metadata:
name: httpbin
namespace: foo
spec:
action: DENY
rules:
- from:
- source:
namespaces: ["dev"]
to:
- operation:
hosts: [“httpbin.com”,"httpbin.com:*"]
apiVersion: security.istio.io/v1beta1
kind: AuthorizationPolicy
metadata:
name: httpbin
namespace: default
spec:
action: DENY
rules:
- to:
- operation:
hosts: ["httpbin.example.com:*"]
此版本的 Red Hat OpenShift Service Mesh 解决了常见漏洞和披露 (CVE) 以及错误修复。
Red Hat OpenShift Service Mesh 现在通过 Red Hat OpenShift Dedicated 受支持。
此版本的 Red Hat OpenShift Service Mesh 解决了常见漏洞和披露 (CVE) 以及错误修复。
此版本的 Red Hat OpenShift Service Mesh 解决了常见漏洞和披露 (CVE) 以及错误修复。
此版本的 Red Hat OpenShift Service Mesh 解决了常见漏洞和披露 (CVE) 以及错误修复。
必须完成一些手动步骤才能解决 CVE-2021-29492 和 CVE-2021-31920。 |
Istio 包含一个可远程利用的漏洞,其中具有多个斜杠或转义斜杠字符(%2F
或%5C
)的 HTTP 请求路径在使用基于路径的授权规则时可能会绕过 Istio 授权策略。
例如,假设 Istio 集群管理员定义了一个授权 DENY 策略以拒绝路径/admin
的请求。发送到 URL 路径//admin
的请求不会被授权策略拒绝。
根据RFC 3986,具有多个斜杠的路径//admin
在技术上应被视为与/admin
不同的路径。但是,一些后端服务选择通过将多个斜杠合并为单个斜杠来规范化 URL 路径。这可能导致绕过授权策略(//admin
与/admin
不匹配),用户可以访问后端路径/admin
的资源;这将构成安全事件。
如果您使用的是包含ALLOW action + notPaths
字段或DENY action + paths
字段模式的授权策略,则您的集群会受到此漏洞的影响。这些模式容易受到意外策略绕过的攻击。
如果满足以下条件,则您的集群不会受到此漏洞的影响:
您没有授权策略。
您的授权策略未定义paths
或notPaths
字段。
您的授权策略使用ALLOW action + paths
字段或DENY action + notPaths
字段模式。这些模式只会导致意外拒绝,而不是策略绕过。对于这些情况,升级是可选的。
Red Hat OpenShift Service Mesh 的路径规范化配置位置与 Istio 配置不同。 |
Istio 授权策略可以基于 HTTP 请求中的 URL 路径。路径规范化,也称为 URI 规范化,会修改和标准化传入请求的路径,以便以标准方式处理规范化的路径。句法上不同的路径在路径规范化后可能等效。
在根据授权策略评估请求并路由请求之前,Istio 支持对请求路径执行以下规范化方案:
选项 | 描述 | 示例 | 备注 |
---|---|---|---|
|
不执行规范化。Envoy 收到的任何内容都将按原样转发到任何后端服务。 |
|
此设置容易受到 CVE-2021-31920 的影响。 |
|
这当前是 Istio **默认**安装中使用的选项。这会对 Envoy 代理应用 |
|
此设置容易受到 CVE-2021-31920 的影响。 |
|
在 *BASE* 规范化之后合并斜杠。 |
|
更新此设置以减轻 CVE-2021-31920 的影响。 |
|
当您默认允许所有流量时,这是最严格的设置。建议使用此设置,但需要注意的是,您必须彻底测试您的授权策略路由。百分比编码的斜杠和反斜杠字符 ( |
|
更新此设置以减轻 CVE-2021-31920 的影响。此设置更安全,但也可能破坏应用程序。在部署到生产环境之前,请测试您的应用程序。 |
规范化算法按以下顺序执行:
百分比解码 %2F
、%2f
、%5C
和 %5c
。
Envoy 中的RFC 3986和其他规范化,由normalize_path
选项实现。
合并斜杠。
虽然这些规范化选项代表了 HTTP 标准和常见行业实践的建议,但应用程序可以以任何方式解释 URL。使用拒绝策略时,请确保您了解应用程序的行为。 |
确保 Envoy 规范化请求路径以匹配后端服务的预期对于系统的安全性至关重要。以下示例可用作配置系统的参考。规范化的 URL 路径(如果选择 NONE
,则为原始 URL 路径)将:
用于检查授权策略。
转发到后端应用程序。
如果您的应用程序…… | 选择…… |
---|---|
依赖代理进行规范化 |
|
基于RFC 3986规范化请求路径,并且不合并斜杠。 |
|
|
|
|
|
以与RFC 3986不兼容的方式处理请求路径。 |
|
要为 Red Hat OpenShift Service Mesh 配置路径规范化,请在您的 ServiceMeshControlPlane
中指定以下内容。使用配置示例来帮助确定系统的设置。
spec:
techPreview:
global:
pathNormalization: <option>
在某些环境中,可能需要以不区分大小写的方式比较授权策略中的路径。例如,将https://myurl/get
和https://myurl/GeT
视为等效。在这些情况下,您可以使用以下所示的 EnvoyFilter
。此过滤器将更改用于比较的路径和呈现给应用程序的路径。在此示例中,istio-system
是服务网格控制平面项目的名称。
将 EnvoyFilter
保存到文件并运行以下命令:
$ oc create -f <myEnvoyFilterFile>
apiVersion: networking.istio.io/v1alpha3
kind: EnvoyFilter
metadata:
name: ingress-case-insensitive
namespace: istio-system
spec:
configPatches:
- applyTo: HTTP_FILTER
match:
context: GATEWAY
listener:
filterChain:
filter:
name: "envoy.filters.network.http_connection_manager"
subFilter:
name: "envoy.filters.http.router"
patch:
operation: INSERT_BEFORE
value:
name: envoy.lua
typed_config:
"@type": "type.googleapis.com/envoy.extensions.filters.http.lua.v3.Lua"
inlineCode: |
function envoy_on_request(request_handle)
local path = request_handle:headers():get(":path")
request_handle:headers():replace(":path", string.lower(path))
end
此版本的 Red Hat OpenShift Service Mesh 解决了常见漏洞和披露 (CVE) 以及错误修复。
此外,此版本还具有以下新功能:
为must-gather
数据收集工具添加了一个选项,该选项可以从指定的 Service Mesh 控制平面命名空间收集信息。有关更多信息,请参阅OSSM-351。
提高了拥有数百个命名空间的服务网格控制平面的性能。
此版本的 Red Hat OpenShift Service Mesh 解决了常见漏洞和披露 (CVE) 以及错误修复。
此版本的 Red Hat OpenShift Service Mesh 解决了常见漏洞和披露 (CVE) 以及错误修复。
此版本的 Red Hat OpenShift Service Mesh 添加了对 Istio 1.6.5、Jaeger 1.20.0、Kiali 1.24.2 和 3scale Istio Adapter 2.0 以及 Red Hat OpenShift Service on AWS 4.6 的支持。
此外,此版本还具有以下新功能:
简化了服务网格控制平面的安装、升级和管理。
减少了服务网格控制平面的资源使用和启动时间。
通过减少网络上的控制平面间通信来提高性能。
添加了对 Envoy 的秘密发现服务 (SDS) 的支持。SDS 是一种更安全、更高效的机制,用于将秘密交付给 Envoy sidecar 代理。
消除了使用 Kubernetes Secrets 的需要,Kubernetes Secrets 具有众所周知的安全风险。
改进了证书轮换期间的性能,因为代理不再需要重启即可识别新的证书。
增加了对 Istio 的遥测 v2 架构的支持,该架构使用 WebAssembly 扩展构建。这种新的架构带来了显著的性能改进。
将 ServiceMeshControlPlane 资源更新到 v2 版本,并采用简化的配置,以便更轻松地管理服务网格控制平面。
先前版本中提供的一些功能已被弃用或移除。
已弃用的功能仍在 Red Hat OpenShift Service on AWS 中包含,并且继续受到支持;但是,它将在该产品的未来版本中移除,并且不建议用于新的部署。
已移除的功能在产品中不再存在。
v2.2 的 ServiceMeshControlPlane
资源不再受支持。客户应将其网格部署更新为使用更高版本的 ServiceMeshControlPlane
资源。
对 Red Hat OpenShift 分布式追踪平台 (Jaeger) 运算符的支持已弃用。要收集追踪跨度,请使用 Red Hat OpenShift 分布式追踪平台 (Tempo) 堆栈。
对 OpenShift Elasticsearch 运算符的支持已弃用。
Istio 将移除对第一方 JSON Web 令牌 (JWT) 的支持。Istio 仍将支持第三方 JWT。
v2.1 的 ServiceMeshControlPlane
资源不再受支持。客户应将其网格部署升级为使用更高版本的 ServiceMeshControlPlane
资源。
对 Istio OpenShift 路由 (IOR) 的支持已弃用,并将在未来版本中移除。
对 Grafana 的支持已弃用,并将在未来版本中移除。
在 Red Hat OpenShift Service Mesh 2.3 中已弃用的以下密码套件的支持已从客户端和服务器端 TLS 协商中使用的默认密码列表中移除。需要访问需要这些密码套件之一的服务的应用程序,在从代理启动 TLS 连接时将无法连接。
ECDHE-ECDSA-AES128-SHA
ECDHE-RSA-AES128-SHA
AES128-GCM-SHA256
AES128-SHA
ECDHE-ECDSA-AES256-SHA
ECDHE-RSA-AES256-SHA
AES256-GCM-SHA384
AES256-SHA
对以下密码套件的支持已被弃用。在将来的版本中,它们将从客户端和服务器端 TLS 协商中使用的默认密码列表中移除。
ECDHE-ECDSA-AES128-SHA
ECDHE-RSA-AES128-SHA
AES128-GCM-SHA256
AES128-SHA
ECDHE-ECDSA-AES256-SHA
ECDHE-RSA-AES256-SHA
AES256-GCM-SHA384
AES256-SHA
在 Red Hat OpenShift Service Mesh 2.2 版本中已弃用的 ServiceMeshExtension
API 在 Red Hat OpenShift Service Mesh 2.3 版本中已被移除。如果您正在使用 ServiceMeshExtension
API,则必须迁移到 WasmPlugin
API 才能继续使用您的 WebAssembly 扩展。
从 2.2 版本开始,ServiceMeshExtension
API 已弃用,并将在未来版本中移除。虽然 2.2 版本中仍然支持 ServiceMeshExtension
API,但客户应开始迁移到新的 WasmPlugin
API。
在 Service Mesh 2.1 中,Mixer 组件已被移除。在 Service Mesh 2.0 生命周期结束之前,将提供错误修复和支持。
如果启用了 Mixer 插件,则从 Service Mesh 2.0.x 版本升级到 2.1 将无法继续进行。必须将 Mixer 插件移植到 WebAssembly 扩展。
Mixer 组件在 2.0 版本中已弃用,并将在 2.1 版本中移除。虽然在 2.0 版本中仍然支持使用 Mixer 来实现扩展,但扩展应该已经迁移到新的 WebAssembly 机制。
以下资源类型在 Red Hat OpenShift Service Mesh 2.0 中不再受支持
Policy
(authentication.istio.io/v1alpha1) 不再受支持。根据您的 Policy 资源中的特定配置,您可能需要配置多个资源才能达到相同的效果。
使用 RequestAuthentication
(security.istio.io/v1beta1)
使用 PeerAuthentication
(security.istio.io/v1beta1)
ServiceMeshPolicy
(maistra.io/v1) 不再受支持。
如上所述,使用 RequestAuthentication
或 PeerAuthentication
,但放置在服务网格控制平面命名空间中。
RbacConfig
(rbac.istio.io/v1alpha1) 不再受支持。
由 AuthorizationPolicy
(security.istio.io/v1beta1) 替换,它包含 RbacConfig
、ServiceRole
和 ServiceRoleBinding
的行为。
ServiceMeshRbacConfig
(maistra.io/v1) 不再受支持。
如上所述,使用 AuthorizationPolicy
,但放置在服务网格控制平面命名空间中。
ServiceRole
(rbac.istio.io/v1alpha1) 不再受支持。
ServiceRoleBinding
(rbac.istio.io/v1alpha1) 不再受支持。
在 Kiali 中,login
和 LDAP
策略已弃用。未来版本将引入使用 OpenID 提供商进行身份验证。
Red Hat OpenShift Service Mesh 中存在这些限制
Red Hat OpenShift Service Mesh 尚未完全支持 IPv6。因此,Red Hat OpenShift Service Mesh 不支持双栈集群。
图形布局 - Kiali 图形的布局可能会根据您的应用程序架构和要显示的数据(图形节点的数量及其交互)而有所不同。由于创建适用于所有情况的单个布局很困难(如果不是不可能的话),因此 Kiali 提供了多种不同布局的选择。要选择不同的布局,您可以从“图形设置”菜单中选择不同的“布局模式”。
第一次从 Kiali 控制台访问相关的服务(例如分布式追踪平台 (Jaeger) 和 Grafana)时,必须接受证书并使用您的 Red Hat OpenShift Service on AWS 登录凭据重新进行身份验证。这是由于框架在控制台中显示嵌入式页面的方式存在问题。
以下是 Red Hat OpenShift Service Mesh 的已知问题:*OSSM-5556 当 istio-system 标签与发现选择器不匹配时,网关会被跳过。
+ 变通方法:为控制平面命名空间添加标签以匹配发现选择器,避免跳过网关配置。
+ .ServiceMeshControlPlane
资源示例
apiVersion: maistra.io/v2
kind: ServiceMeshControlPlane
metadata:
name: basic
namespace: istio-system
spec:
mode: ClusterWide
meshConfig:
discoverySelectors:
- matchLabels:
istio-discovery: enabled
gateways:
ingress:
enabled: true
+ 然后,在命令行运行以下命令
+
oc label namespace istio-system istio-discovery=enabled
OSSM-3890 尝试在多租户网格部署中使用网关 API 会生成类似于以下内容的错误消息
2023-05-02T15:20:42.541034Z error watch error in cluster Kubernetes: failed to list *v1alpha2.TLSRoute: the server could not find the requested resource (get tlsroutes.gateway.networking.k8s.io)
2023-05-02T15:20:42.616450Z info kube controller "gateway.networking.k8s.io/v1alpha2/TCPRoute" is syncing...
要在多租户网格部署中支持网关 API,必须在集群中存在所有网关 API 自定义资源定义 (CRD) 文件。
在多租户网格部署中,CRD 扫描被禁用,Istio 无法发现集群中存在哪些 CRD。因此,Istio 尝试监视所有受支持的网关 API CRD,但如果某些 CRD 不存在,则会生成错误。
Service Mesh 2.3.1 及更高版本同时支持v1alpha2
和 v1beta1
CRD。因此,多租户网格部署要支持网关 API,必须同时存在这两个 CRD 版本。
变通方法:在以下示例中,kubectl get
操作安装了 v1alpha2
和 v1beta1
CRD。请注意,URL 包含附加的 experimental
段,并相应地更新您现有的任何脚本
$ kubectl get crd gateways.gateway.networking.k8s.io || { kubectl kustomize "github.com/kubernetes-sigs/gateway-api/config/crd/experimental?ref=v0.5.1" | kubectl apply -f -; }
OSSM-2042 命名为 default
的 SMCP 部署失败。如果您正在创建 SMCP 对象并将它的版本字段设置为 v2.3,则该对象的名称不能为 default
。如果名称为 default
,则控制平面将无法部署,OpenShift 将生成一条包含以下消息的 Warning
事件
Error processing component mesh-config: error: [mesh-config/templates/telemetryv2_1.6.yaml: Internal error occurred: failed calling webhook "rev.validation.istio.io": Post "https://istiod-default.istio-system.svc:443/validate?timeout=10s": x509: certificate is valid for istiod.istio-system.svc, istiod-remote.istio-system.svc, istio-pilot.istio-system.svc, not istiod-default.istio-system.svc, mesh-config/templates/enable-mesh-permissive.yaml
OSSM-1655 在 SMCP 中启用 mTLS 后,Kiali 仪表板显示错误。
在 SMCP 中启用 spec.security.controlPlane.mtls
设置后,Kiali 控制台将显示以下错误消息:No subsets defined
。
OSSM-1505 此问题仅在 OpenShift Container Platform 4.11 上使用 ServiceMeshExtension
资源时发生。当您在 OpenShift Container Platform 4.11 上使用 ServiceMeshExtension
时,资源永远不会变为就绪状态。如果您使用 oc describe ServiceMeshExtension
检查问题,您将看到以下错误:stderr: Error creating mount namespace before pivot: function not implemented
。
变通方法:ServiceMeshExtension
在 Service Mesh 2.2 中已弃用。从 ServiceMeshExtension
迁移到 WasmPlugin
资源。有关更多信息,请参见从 ServiceMeshExtension
迁移到 WasmPlugin
资源。
OSSM-1396 如果网关资源包含 spec.externalIPs
设置,则在更新 ServiceMeshControlPlane
时,网关不会被重新创建,而是会被删除并且永远不会重新创建。
OSSM-1168 当服务网格资源作为单个 YAML 文件创建时,Envoy 代理 sidecar 不会可靠地注入到 Pod 中。当单独创建 SMCP、SMMR 和 Deployment 资源时,部署按预期工作。
OSSM-1115 spec.proxy
API 的 concurrency
字段未传播到 istio-proxy。使用 ProxyConfig
设置时,concurrency
字段有效。concurrency
字段指定要运行的工作线程数。如果该字段设置为 0
,则可用工作线程数等于 CPU 核心数。如果未设置该字段,则可用工作线程数默认为 2
。
在以下示例中,concurrency
字段设置为 0
。
apiVersion: networking.istio.io/v1beta1
kind: ProxyConfig
metadata:
name: mesh-wide-concurrency
namespace: <istiod-namespace>
spec:
concurrency: 0
OSSM-1052 为服务网格控制平面中的 ingressgateway 配置服务 ExternalIP
时,不会创建服务。SMCP 的模式缺少服务的参数。
变通方法:在 SMCP spec 中禁用网关创建,并完全手动管理网关部署(包括服务、角色和角色绑定)。
OSSM-882 这适用于 Service Mesh 2.1 和更早版本。命名空间在 accessible_namespace 列表中,但在 Kiali UI 中未显示。默认情况下,Kiali 不会显示任何以“kube”开头的命名空间,因为这些命名空间通常仅供内部使用,而不是网格的一部分。
例如,如果您创建一个名为“akube-a”的命名空间并将其添加到服务网格成员角色,则 Kiali UI 不会显示该命名空间。对于已定义的排除模式,软件会排除以该模式开头或包含该模式的命名空间。
变通方法:更改 Kiali 自定义资源设置,使其在设置前加上脱字符 (^)。例如
api:
namespaces:
exclude:
- "^istio-operator"
- "^kube-.*"
- "^openshift.*"
- "^kiali-operator"
MAISTRA-2692 删除 Mixer 后,在 Service Mesh 2.0.x 中定义的自定义指标无法在 2.1 中使用。可以使用 EnvoyFilter
配置自定义指标。Red Hat 无法支持 EnvoyFilter
配置,除非在文档中明确说明。这是由于与底层 Envoy API 的紧密耦合,这意味着无法维护向后兼容性。
MAISTRA-1959迁移到 2.0 启用 mTLS 时,Prometheus 刮取 (spec.addons.prometheus.scrape
设置为 true
) 不起作用。此外,禁用 mTLS 时,Kiali 会显示多余的图形数据。
可以通过从代理配置中排除端口 15020 来解决此问题,例如:
spec:
proxy:
networking:
trafficControl:
inbound:
excludedPorts:
- 15020
MAISTRA-453 如果您创建一个新项目并立即部署 Pod,则不会发生 sidecar 注入。操作员在创建 Pod 之前未能添加 maistra.io/member-of
,因此必须删除并重新创建 Pod 才能进行 sidecar 注入。
MAISTRA-158 应用多个引用相同主机名的网关将导致所有网关停止工作。
Kiali 的新问题应在 OpenShift Service Mesh 项目中创建,并将 |
以下是 Kiali 的已知问题
OSSM-6299 在 Red Hat OpenShift Service on AWS 4.15 中,当您单击流量图中任何节点菜单的**节点图**菜单选项时,不会显示节点图。页面将刷新并显示相同的流量图。目前,此问题没有变通方法。
OSSM-6298 当您单击 OpenShift Service Mesh 控制台 (OSSMC) 插件中的项目引用(例如与特定服务相关的负载链接)时,控制台有时会在打开所需页面之前执行多次重定向。如果您在 Web 浏览器中单击**后退**,则会打开控制台的不同页面,而不是上一个页面。作为变通方法,请单击两次**后退**以导航到上一页。
OSSM-6290 对于 Red Hat OpenShift Service on AWS 4.15,**Istio 配置**列表页面的**项目**筛选器无法正常工作。即使您从下拉列表中选择特定项目,也会显示所有 istio
项目。目前,此问题没有变通方法。
KIALI-2206 当您第一次访问 Kiali 控制台时,并且没有 Kiali 的缓存浏览器数据,“查看 Grafana”链接在 Kiali 服务详细信息页面的“指标”选项卡上会重定向到错误的位置。您唯一会遇到此问题的情况是您第一次访问 Kiali。
KIALI-507 Kiali 不支持 Internet Explorer 11。这是因为底层框架不支持 Internet Explorer。要访问 Kiali 控制台,请使用 Chrome、Edge、Firefox 或 Safari 浏览器中的最新两个版本之一。
以下问题已在之前的版本中解决
OSSM-6177 之前,当在 ServiceMeshControlPlane
(SMCP) 中启用验证消息时,除非启用了 GatewayAPI
支持,否则 istiod
会持续崩溃。现在,当启用验证消息但未启用 GatewayAPI
支持时,istiod
不会持续崩溃。
OSSM-6163 解决以下问题
之前,服务网格控制平面 (SMCP) v2.5 中包含一个不稳定的 Prometheus 镜像,用户无法访问 Prometheus 仪表板。现在,在服务网格操作符 2.5.1 中,Prometheus 镜像已更新。
之前,在服务网格控制平面 (SMCP) 中,Grafana 数据源无法自动设置基本身份验证密码,用户无法在 Grafana 网格仪表板中查看来自 Prometheus 的指标。现在,Grafana 数据源密码已在 secureJsonData
字段下配置。指标已在仪表板中正确显示。
OSSM-6148 之前,当用户单击**流量图**页面上任何节点菜单中的任何选项时,OpenShift 服务网格控制台 (OSSMC) 插件无响应。现在,该插件通过重定向到相应的详细信息页面来响应菜单中选择的选项。
OSSM-6099 之前,OpenShift 服务网格控制台 (OSSMC) 插件在 IPv6 集群中无法正确加载。现在,OSSMC 插件配置已修改,以确保在 IPv6 集群中正确加载。
OSSM-5960 之前,OpenShift 服务网格控制台 (OSSMC) 插件不会显示通知消息,例如后端错误或 Istio 验证。现在,这些通知会正确显示在插件页面的顶部。
OSSM-5959 之前,OpenShift 服务网格控制台 (OSSMC) 插件不会在**概述**页面中显示 TLS 和 Istio 证书信息。现在,这些信息已正确显示。
OSSM-5902 之前,当用户单击**概述**页面上的**Istio 配置**健康符号时,OpenShift 服务网格控制台 (OSSMC) 插件会重定向到“找不到页面”错误。现在,插件会重定向到正确的**Istio 配置**详细信息页面。
OSSM-5541 之前,在某些重启情况下,Istio 操作符 pod 可能会一直等待领导者租约。现在,领导者选举实现已增强,以避免此问题。
OSSM-1397 之前,如果从命名空间中删除了maistra.io/member-of
标签,服务网格操作符不会自动将标签重新应用到命名空间。结果,sidecar注入在命名空间中不起作用。
当您对ServiceMeshMember
对象进行更改时,操作符会将标签重新应用到命名空间,这会触发此成员对象的协调。
现在,对命名空间的任何更改也会触发成员对象的协调。
OSSM-3647 之前,在服务网格控制平面 (SMCP) v2.2(Istio 1.12)中,WasmPlugins 仅应用于入站侦听器。从 SMCP v2.3(Istio 1.14)开始,WasmPlugins 默认应用于入站和出站侦听器,这为 3scale WasmPlugin 的用户引入了回归。现在,添加了环境变量APPLY_WASM_PLUGINS_TO_INBOUND_ONLY
,允许从 SMCP v2.2 安全迁移到 v2.3 和 v2.4。
应将以下设置添加到 SMCP 配置
spec:
runtime:
components:
pilot:
container:
env:
APPLY_WASM_PLUGINS_TO_INBOUND_ONLY: "true"
为了确保安全迁移,请执行以下步骤
在 SMCP v2.2 中设置APPLY_WASM_PLUGINS_TO_INBOUND_ONLY
。
升级到 2.4。
在 WasmPlugins 中设置spec.match[].mode: SERVER
。
删除之前添加的环境变量。
OSSM-4851 之前,当runAsGroup
、runAsUser
或fsGroup
参数为nil
时,操作符在网格内部的命名空间中部署新 pod 时会发生错误。现在,已添加 yaml 验证以避免nil
值。
OSSM-3771 之前,无法为在服务网格控制平面 (SMCP) 中定义的附加入口网关禁用 OpenShift 路由。现在,可以向每个additionalIngress
网关添加routeConfig
块,以便可以为每个网关启用或禁用 OpenShift 路由的创建。
OSSM-4197 之前,如果您部署了 v2.2 或 v2.1 版本的“ServiceMeshControlPlane”资源,则不会创建/etc/cni/multus/net.d/
目录。结果,istio-cni
pod 无法准备好,并且istio-cni
pod 日志包含以下消息
$ error Installer exits with open /host/etc/cni/multus/net.d/v2-2-istio-cni.kubeconfig.tmp.841118073: no such file or directory
现在,如果您部署了 v2.2 或 v2.1 版本的“ServiceMeshControlPlane”资源,则会创建/etc/cni/multus/net.d/
目录,并且istio-cni
pod 会准备好。
OSSM-3993 之前,Kiali 仅通过标准 HTTPS 端口 443 上的代理支持 OpenShift OAuth。现在,Kiali 支持通过非标准 HTTPS 端口的 OpenShift OAuth。要启用该端口,必须在 Kiali CR 中将spec.server.web_port
字段设置为代理的非标准 HTTPS 端口。
OSSM-3936 之前,injection_label_rev
和injection_label_name
属性的值是硬编码的。这阻止了自定义配置在 Kiali 自定义资源定义 (CRD) 中生效。现在,属性值不是硬编码的。您可以在spec.istio_labels
规范中自定义injection_label_rev
和injection_label_name
属性的值。
OSSM-3644 之前,联合出口网关接收了错误的网络网关端点更新,导致额外的端点条目。现在,已在服务器端更新了联合出口网关,以便它接收正确的网络网关端点。
OSSM-3595 之前,istio-cni
插件有时在 RHEL 上失败,因为 SELinux 不允许实用程序iptables-restore
打开/tmp
目录中的文件。现在,SELinux 通过stdin
输入流而不是通过文件传递iptables-restore
。
OSSM-3586 之前,当 Google Cloud Platform (GCP) 元数据服务器不可用时,Istio 代理启动速度很慢。升级到 Istio 1.14.6 后,即使元数据服务器不可用,Istio 代理也能在 GCP 上按预期启动。
OSSM-3025 Istiod 有时无法准备好。有时,当网格包含许多成员命名空间时,由于 Istiod 内部的死锁,Istiod pod 无法准备好。现在已解决死锁问题,pod 现在可以按预期启动。
OSSM-2493 SMCP 中的默认nodeSelector
和tolerations
未传递给 Kiali。现在,您添加到SMCP.spec.runtime.defaults
中的nodeSelector
和tolerations
将传递给 Kiali 资源。
OSSM-2492 SMCP 中的默认容忍度未传递给 Jaeger。现在,您添加到SMCP.spec.runtime.defaults
中的nodeSelector
和tolerations
将传递给 Jaeger 资源。
OSSM-2374 如果您删除了其中一个ServiceMeshMember
资源,则服务网格操作员会删除ServiceMeshMemberRoll
。当您删除最后一个ServiceMeshMember
时,这是预期的行为,但如果ServiceMeshMemberRoll
除了被删除的那个之外还包含任何成员,则操作员不应删除ServiceMeshMemberRoll
。此问题现已修复,操作员仅在删除最后一个ServiceMeshMember
资源时才删除 ServiceMeshMemberRoll。
OSSM-2373 登录时尝试获取 OAuth 元数据时出错。为了获取集群版本,使用了system:anonymous
帐户。使用集群的默认捆绑的 ClusterRoles 和 ClusterRoleBinding,匿名帐户可以正确获取版本。如果system:anonymous
帐户失去了获取集群版本的权限,则 OpenShift 身份验证将无法使用。
此问题通过使用 Kiali SA 获取集群版本来修复。这也提高了集群的安全性。
OSSM-2371 即使 Kiali 被配置为“只读”,用户也可以通过工作负载详细信息的“日志”选项卡的 kebab 菜单更改代理日志级别。此问题已修复,因此当 Kiali 配置为“只读”时,“设置代理日志级别”下的选项将被禁用。
OSSM-2344 重启 Istiod 会导致 Kiali 向 CRI-O 发送大量端口转发请求。当 Kiali 无法连接到 Istiod 时,会出现此问题,并且 Kiali 会同时向 istiod 发出大量请求。Kiali 现在限制了它发送到 istiod 的请求数量。
OSSM-2335 将鼠标指针拖动到 Traces 散点图上有时会导致 Kiali 控制台由于并发后端请求而停止响应。
OSSM-2221 之前,由于默认情况下向命名空间应用了ignore-namespace
标签,因此无法在ServiceMeshControlPlane
命名空间中进行网关注入。
创建 v2.4 控制平面时,命名空间不再应用ignore-namespace
标签,并且可以进行网关注入。
在以下示例中,oc label
命令从现有部署中的命名空间中删除ignore-namespace
标签
$ oc label namespace istio-system maistra.io/ignore-namespace-
其中
指定了ServiceMeshControlPlane
命名空间的名称。
OSSM-2053 使用 Red Hat OpenShift Service Mesh Operator 2.2 或 2.3,在 SMCP 调和期间,SMMR 控制器会从SMMR.status.configuredMembers
中删除成员命名空间。这导致成员命名空间中的服务短暂不可用。
使用 Red Hat OpenShift Service Mesh Operator 2.2 或 2.3,SMMR 控制器不再从SMMR.status.configuredMembers
中删除命名空间。相反,控制器将命名空间添加到SMMR.status.pendingMembers
以指示它们未更新。在调和期间,随着每个命名空间与 SMCP 同步,命名空间会自动从SMMR.status.pendingMembers
中删除。
OSSM-1962 在联合控制器中使用EndpointSlices
。联合控制器现在使用EndpointSlices
,这提高了大型部署的可扩展性和性能。PILOT_USE_ENDPOINT_SLICE 标志默认启用。禁用此标志会阻止使用联合部署。
OSSM-1668 一个新的字段spec.security.jwksResolverCA
已添加到 2.1 版SMCP
中,但在 2.2.0 和 2.2.1 版本中缺失。从存在此字段的操作员版本升级到缺少此字段的操作员版本时,SMCP
中将无法使用.spec.security.jwksResolverCA
字段。
OSSM-1325 istiod pod 崩溃并显示以下错误消息:fatal error: concurrent map iteration and map write
。
OSSM-1211 配置用于故障转移的联合服务网格无法按预期工作。
Istiod pilot 日志显示以下错误:envoy connection [C289] TLS error: 337047686:SSL routines:tls_process_server_certificate:certificate verify failed
OSSM-1099 Kiali 控制台显示消息对不起,出现问题。请尝试刷新或导航到其他页面。
OSSM-1074 在 SMCP 中定义的 Pod 注解未注入到 Pod 中。
OSSM-999 Kiali 保留功能无法按预期工作。日历时间在仪表板图表中显示为灰色。
OSSM-797 Kiali Operator pod 在安装或更新操作员时生成CreateContainerConfigError
。
OSSM-722 以kube
开头的命名空间在 Kiali 中隐藏。
OSSM-569 Prometheus istio-proxy
容器没有 CPU 内存限制。Prometheus istio-proxy
sidecar 现在使用spec.proxy.runtime.container
中定义的资源限制。
OSSM-535 支持 SMCP 中的 validationMessages。现在可以将服务网格控制平面中的ValidationMessages
字段设置为True
。这会为资源的状态写入日志,这在排查问题时非常有用。
OSSM-449 VirtualService 和 Service 导致错误“仅允许域的唯一值。重复输入域”。
OSSM-419 即使命名空间可能未在服务网格成员角色中定义,具有相似名称的命名空间也会全部显示在 Kiali 命名空间列表中。
OSSM-296 向 Kiali 自定义资源 (CR) 添加健康配置时,它不会复制到 Kiali configmap。
OSSM-291 在 Kiali 控制台的应用程序、服务和工作负载页面上,“从过滤器中删除标签”功能不起作用。
OSSM-289 在 Kiali 控制台的“istio-ingressgateway”和“jaeger-query”服务的“服务详细信息”页面上,没有显示任何跟踪。跟踪存在于 Jaeger 中。
OSSM-287 Kiali 控制台中图服务没有显示任何追踪信息。
OSSM-285 尝试访问 Kiali 控制台时,收到以下错误消息:“获取 OAuth 元数据失败”。
解决方法:重启 Kiali pod。
MAISTRA-2735 Red Hat OpenShift Service Mesh 2.1 版本中,服务网格操作符在协调 SMCP 时删除的资源发生了变化。之前,操作符会删除具有以下标签的资源:
maistra.io/owner
app.kubernetes.io/version
现在,操作符会忽略不包含app.kubernetes.io/managed-by=maistra-istio-operator
标签的资源。如果您创建自己的资源,请不要添加app.kubernetes.io/managed-by=maistra-istio-operator
标签。
MAISTRA-2687 Red Hat OpenShift Service Mesh 2.1 联邦网关在使用外部证书时不会发送完整的证书链。服务网格联邦出口网关仅发送客户端证书。由于联邦入口网关只知道根证书,因此除非您将根证书添加到联邦导入ConfigMap
,否则它无法验证客户端证书。
MAISTRA-2635 替换已弃用的 Kubernetes API。为了与 Red Hat OpenShift Service on AWS 4.8 保持兼容性,从 Red Hat OpenShift Service Mesh 2.0.8 版本开始,apiextensions.k8s.io/v1beta1
API 已弃用。
MAISTRA-2631 由于 podman 由于缺少 nsenter 二进制文件而失败,WASM 功能无法正常工作。Red Hat OpenShift Service Mesh 生成以下错误消息:Error: error configuring CNI network plugin exec: "nsenter": executable file not found in $PATH
。容器镜像现在包含 nsenter,WASM 能够正常工作。
MAISTRA-2534 当 istiod 尝试为 JWT 规则中指定的颁发者获取 JWKS 时,颁发者服务返回 502 错误。这阻止了代理容器就绪,并导致部署挂起。社区漏洞 的修复程序已包含在 Service Mesh 2.0.7 版本中。
MAISTRA-2411 当操作符使用ServiceMeshControlPlane
中的spec.gateways.additionaIngress
创建新的入口网关时,操作符不会像对默认 istio-ingressgateway 一样为附加的入口网关创建NetworkPolicy
。这会导致新网关路由返回 503 响应。
解决方法:在istio-system
命名空间中手动创建NetworkPolicy
。
MAISTRA-2401 CVE-2021-3586 servicemesh-operator:NetworkPolicy 资源错误地指定了入口资源的端口。为 Red Hat OpenShift Service Mesh 安装的 NetworkPolicy 资源没有正确指定哪些端口可以访问。这允许从任何 pod 访问这些资源上的所有端口。应用于以下资源的网络策略受到影响:
Galley
Grafana
Istiod
Jaeger
Kiali
Prometheus
Sidecar injector
MAISTRA-2378 当集群配置为使用带有ovs-multitenant
的 OpenShift SDN 并且网格包含大量命名空间(200+)时,Red Hat OpenShift on AWS 网络插件无法快速配置命名空间。服务网格超时导致命名空间不断从服务网格中删除然后重新加入。
MAISTRA-2370 处理 listerInformer 中的墓碑。更新的缓存代码库在将事件从命名空间缓存转换为聚合缓存时没有处理墓碑,导致 go 协程中出现 panic。
MAISTRA-2117 向操作符添加可选的ConfigMap
挂载。CSV 现在包含一个可选的ConfigMap
卷挂载,如果存在,则挂载smcp-templates
ConfigMap
。如果smcp-templates
ConfigMap
不存在,则挂载的目录为空。创建ConfigMap
时,目录将填充ConfigMap
中的条目,并且可以在SMCP.spec.profiles
中引用。无需重启服务网格操作符。
使用 2.0 操作符并修改了 CSV 以挂载 smcp-templates ConfigMap 的客户可以升级到 Red Hat OpenShift Service Mesh 2.1。升级后,您可以继续使用现有的 ConfigMap 及其包含的配置文件,无需编辑 CSV。以前使用不同名称的 ConfigMap 的客户需要重命名 ConfigMap 或在升级后更新 CSV。
MAISTRA-2010 AuthorizationPolicy 不支持request.regex.headers
字段。validatingwebhook
会拒绝任何包含此字段的 AuthorizationPolicy,即使您禁用了它,Pilot 也会使用相同的代码尝试验证它,并且它不起作用。
MAISTRA-1979 迁移到 2.0 转换 webhook 在将SMCP.status
从 v2 转换为 v1 时会删除以下重要字段:
conditions
components
observedGeneration
annotations
将操作符升级到 2.0 可能会破坏使用 maistra.io/v1 版本的资源读取 SMCP 状态的客户端工具。
这还会导致运行oc get servicemeshcontrolplanes.v1.maistra.io
时 READY 和 STATUS 列为空。
MAISTRA-1983 迁移到 2.0 使用现有的无效ServiceMeshControlPlane
升级到 2.0.0 难以修复。ServiceMeshControlPlane
资源中的无效项目导致不可恢复的错误。此修复使错误可恢复。您可以删除无效资源并用新的资源替换它,或者编辑资源以修复错误。有关编辑资源的更多信息,请参阅[配置 Red Hat OpenShift Service Mesh 安装]。
MAISTRA-1502 由于 1.0.10 版本中 CVE 修复的结果,Grafana 中的**主页板**菜单无法访问 Istio 仪表板。要访问 Istio 仪表板,请单击导航面板中的**仪表板**菜单,然后选择**管理**选项卡。
MAISTRA-1399 Red Hat OpenShift Service Mesh 不再阻止您安装不受支持的 CNI 协议。受支持的网络配置没有变化。
MAISTRA-1089 迁移到 2.0 在非控制平面命名空间中创建的网关将被自动删除。从 SMCP spec 中删除网关定义后,您需要手动删除这些资源。
MAISTRA-858 描述与 Istio 1.1.x 相关的已弃用选项和配置 的以下 Envoy 日志消息是预期的:
[2019-06-03 07:03:28.943][19][warning][misc] [external/envoy/source/common/protobuf/utility.cc:129] 使用已弃用的选项“envoy.api.v2.listener.Filter.config”。此配置将很快从 Envoy 中删除。
[2019-08-12 22:12:59.001][13][warning][misc] [external/envoy/source/common/protobuf/utility.cc:174] 使用来自文件 lds.proto 的已弃用的选项“envoy.api.v2.Listener.use_original_dst”。此配置将很快从 Envoy 中删除。
MAISTRA-806 Istio Operator Pod 被驱逐会导致网格和 CNI 未部署。
解决方法:如果在部署控制平面时istio-operator
pod 被驱逐,请删除被驱逐的istio-operator
pod。
MAISTRA-681 当服务网格控制平面拥有大量命名空间时,可能会导致性能问题。
MAISTRA-193 启用Citadel健康检查时,会显示意外的控制台信息消息。
Bugzilla 1821432 在AWS自定义资源详情页中,Red Hat OpenShift Service on AWS的切换控件无法正确更新CR。在Red Hat OpenShift Service on AWS Web控制台中,服务网格控制平面(SMCP)概述页面中的UI切换控件有时会更新资源中的错误字段。要更新SMCP,请直接编辑YAML内容或从命令行更新资源,而不是点击切换控件。