×

创建更具包容性的开源项目

Red Hat 致力于在我们代码、文档和网络资源中替换有问题的语言。我们首先从这四个术语开始:master、slave、blacklist 和 whitelist。由于这项工作的巨大性,这些更改将在未来几个版本中逐步实施。更多详情,请参见我们首席技术官 Chris Wright 的消息

Red Hat OpenShift Service Mesh 2.6.4 版本

此 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 版本兼容。

组件更新

组件 版本

Istio

1.20.8

Envoy Proxy

1.28.7

Kiali Server

1.73.17

Red Hat OpenShift Service Mesh 2.5.7 版本

此 Red Hat OpenShift Service Mesh 版本包含在 Red Hat OpenShift Service Mesh Operator 2.6.4 中,并在 Red Hat OpenShift Service on AWS 4.14 及更高版本上受支持。此版本解决了常见漏洞和披露 (CVE)。

组件更新

组件 版本

Istio

1.18.7

Envoy Proxy

1.26.8

Kiali Server

1.73.17

Red Hat OpenShift Service Mesh 2.4.13 版本

此 Red Hat OpenShift Service Mesh 版本包含在 Red Hat OpenShift Service Mesh Operator 2.6.4 中,并在 Red Hat OpenShift Service on AWS 4.14 及更高版本上受支持。此版本解决了常见漏洞和披露 (CVE)。

组件更新

组件 版本

Istio

1.16.7

Envoy Proxy

1.24.12

Kiali Server

1.65.18

Red Hat OpenShift Service Mesh 2.6.3 版本

此 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 版本兼容。

组件更新

组件 版本

Istio

1.20.8

Envoy Proxy

1.28.7

Kiali Server

1.73.16

Red Hat OpenShift Service Mesh 2.5.6 版本

此 Red Hat OpenShift Service Mesh 版本包含在 Red Hat OpenShift Service Mesh Operator 2.6.3 中,解决了常见漏洞和披露 (CVE),并在 Red Hat OpenShift Service on AWS 4.14 及更高版本上受支持。

组件更新

组件 版本

Istio

1.18.7

Envoy Proxy

1.26.8

Kiali Server

1.73.16

Red Hat OpenShift Service Mesh 2.4.12 版本

此 Red Hat OpenShift Service Mesh 版本包含在 Red Hat OpenShift Service Mesh Operator 2.6.3 中,解决了常见漏洞和披露 (CVE),并在 Red Hat OpenShift Service on AWS 4.14 及更高版本上受支持。

组件更新

组件 版本

Istio

1.16.7

Envoy Proxy

1.24.12

Kiali Server

1.65.17

Red Hat OpenShift Service Mesh 2.6.2 版本

此 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 版本兼容。

组件更新

组件 版本

Istio

1.20.8

Envoy Proxy

1.28.7

Kiali Server

1.73.15

新功能

  • Red Hat OpenShift 的 cert-manager Operator 现在支持 IBM Power、IBM Z 和 IBM® LinuxONE。

已修复的问题

  • OSSM-8099 之前,在端点处于 draining 阶段时,支持持久会话标签存在问题。现在,有一种方法可以处理有状态标头会话的 draining 端点。

  • OSSM-8001 之前,当在 Pod 中将runAsUserrunAsGroup设置为相同值时,代理 GID 会错误地设置为与容器的 GID 匹配,从而导致 Istio CNI 应用的 iptables 规则出现流量拦截问题。现在,容器可以对runAsUserrunAsGroup具有相同的值,并且 iptables 规则可以正确应用。

  • OSSM-8074 之前,当 Service Mesh 具有纯数字命名空间(例如12345)时,Kiali Operator 无法安装 Kiali 服务器。现在,仅包含数字的命名空间可以正常工作。

Red Hat OpenShift Service Mesh 2.5.5 版本

此 Red Hat OpenShift Service Mesh 版本包含在 Red Hat OpenShift Service Mesh Operator 2.6.2 中,解决了常见漏洞和披露 (CVE),并在 Red Hat OpenShift Service on AWS 4.14 及更高版本上受支持。

组件更新

组件 版本

Istio

1.18.7

Envoy Proxy

1.26.8

Kiali Server

1.73.15

已修复的问题

  • OSSM-8001 之前,当在 Pod 中将runAsUserrunAsGroup参数设置为相同值时,代理 GID 会错误地设置为与容器的 GID 匹配,从而导致 Istio CNI 应用的 iptables 规则出现流量拦截问题。现在,容器可以对runAsUserrunAsGroup参数具有相同的值,并且 iptables 规则可以正确应用。

  • OSSM-8074 之前,Red Hat 提供的 Kiali Operator 在 Service Mesh 具有纯数字命名空间(例如12345)时,无法安装 Kiali Server。现在,仅包含数字的命名空间可以正常工作。

Red Hat OpenShift Service Mesh 2.4.11 版本

此 Red Hat OpenShift Service Mesh 版本包含在 Red Hat OpenShift Service Mesh Operator 2.6.2 中,解决了常见漏洞和披露 (CVE),并在 Red Hat OpenShift Service on AWS 4.14 及更高版本上受支持。

组件更新

组件 版本

Istio

1.16.7

Envoy Proxy

1.24.12

Kiali Server

1.65.16

已修复的问题

  • OSSM-8001 之前,当在 Pod 中将runAsUserrunAsGroup参数设置为相同值时,代理 GID 会错误地设置为与容器的 GID 匹配,从而导致 Istio CNI 应用的 iptables 规则出现流量拦截问题。现在,容器可以对runAsUserrunAsGroup参数具有相同的值,并且 iptables 规则可以正确应用。

  • OSSM-8074 之前,Red Hat 提供的 Kiali Operator 在 Service Mesh 具有纯数字命名空间(例如12345)时,无法安装 Kiali Server。现在,仅包含数字的命名空间可以正常工作。


Red Hat OpenShift Service Mesh 2.6.1 版本

此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 版本兼容。

组件更新

组件 版本

Istio

1.20.8

Envoy Proxy

1.28.5

Kiali Server

1.73.14

已修复的问题

  • OSSM-6766 之前,如果用户想要更新命名空间(例如,启用或禁用注入),或创建任何Istio对象(例如,创建流量策略),OpenShift Service Mesh控制台 (OSSMC) 插件会失败。现在,如果用户更新命名空间或创建任何Istio对象,OpenShift Service Mesh控制台 (OSSMC) 插件不会失败。

Red Hat OpenShift Service Mesh 2.5.4版本

此Red Hat OpenShift Service Mesh版本包含在Red Hat OpenShift Service Mesh Operator 2.6.1中,解决了常见漏洞和披露 (CVE),并支持 Red Hat OpenShift Service on AWS 4.14 及更高版本。

组件更新

组件 版本

Istio

1.18.7

Envoy Proxy

1.26.8

Kiali Server

1.73.14

Red Hat OpenShift Service Mesh 2.4.10版本

此Red Hat OpenShift Service Mesh版本包含在Red Hat OpenShift Service Mesh Operator 2.6.1中,解决了常见漏洞和披露 (CVE),并支持 Red Hat OpenShift Service on AWS 4.14 及更高版本。

组件更新

组件 版本

Istio

1.16.7

Envoy Proxy

1.24.12

Kiali Server

1.65.15


Red Hat OpenShift Service Mesh 2.6.0版本

此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版本,则应更新到受支持的版本。

Red Hat OpenShift Service Mesh专为FIPS设计。Service Mesh使用已提交给NIST用于在x86_64、ppc64le和s390x架构上进行FIPS 140-2/140-3验证的RHEL加密库。有关NIST验证程序的更多信息,请参阅加密模块验证程序。有关已提交验证的RHEL加密库各个版本的最新NIST状态,请参阅合规活动和政府标准

组件更新

组件 版本

Istio

1.20.8

Envoy Proxy

1.28.5

Kiali

1.73.9

Istio 1.20支持

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捆绑镜像名称更改

此版本更新了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集成

此版本引入了追踪扩展提供程序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上不受支持。

Red Hat OpenShift分布式追踪平台(Jaeger)默认设置更改

此版本默认情况下为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。

Gateway API的使用对于Red Hat OpenShift Service Mesh集群范围部署普遍可用

此版本引入了将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中缺少ReferenceGrand

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)。

Kiali 已知问题

  • OSSM-6099 在 IPv6 集群上安装 OpenShift Service Mesh 控制台 (OSSMC) 插件失败。

    解决方法:在 IPv4 集群上安装 OSSMC 插件。

Red Hat OpenShift Service Mesh 2.5.3 版本

此 Red Hat OpenShift Service Mesh 版本包含在 Red Hat OpenShift Service Mesh Operator 2.6.0 中,解决了常见漏洞和披露 (CVE),并支持 Red Hat OpenShift Service on AWS 4.12 及更高版本。

组件更新

组件 版本

Istio

1.18.7

Envoy Proxy

1.26.8

Kiali

1.73.9

Red Hat OpenShift Service Mesh 2.4.9 版本

此 Red Hat OpenShift Service Mesh 版本包含在 Red Hat OpenShift Service Mesh Operator 2.6.0 中,解决了常见漏洞和披露 (CVE),并支持 Red Hat OpenShift Service on AWS 4.12 及更高版本。

组件更新

组件 版本

Istio

1.16.7

Envoy Proxy

1.24.12

Kiali

1.65.11


Red Hat OpenShift Service Mesh 2.5.2 版本

此 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 及更高版本。

组件更新

组件 版本

Istio

1.18.7

Envoy Proxy

1.26.8

Kiali

1.73.8

已修复的问题

  • 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 2.4.8 版本

此 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指定。

组件更新

组件 版本

Istio

1.16.7

Envoy Proxy

1.24.12

Kiali

1.65.11

Red Hat OpenShift Service Mesh 2.3.12 版本

此 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` 资源指定。

组件更新

组件 版本

Istio

1.14.5

Envoy Proxy

1.22.11

Kiali

1.57.14

之前的版本

这些之前的版本添加了功能和改进。

Red Hat OpenShift Service Mesh 2.5.1 版本的新功能

此 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 2.5.1 版本的组件版本

组件 版本

Istio

1.18.7

Envoy Proxy

1.26.8

Kiali

1.73.7

Red Hat OpenShift Service Mesh 2.5 版本的新功能

此 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 版本,则应更新到受支持的版本。

Red Hat OpenShift Service Mesh 2.5 版本的组件版本

组件 版本

Istio

1.18.7

Envoy Proxy

1.26.8

Kiali

1.73.4

Istio 1.18 支持

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

此版本提供基于 ARM 的集群上的 Red Hat OpenShift Service Mesh Operator 作为一项普遍可用的功能。

与 Red Hat OpenShift 分布式跟踪平台 (Tempo) Stack 集成

此版本引入了追踪扩展提供程序的普遍可用集成。您可以通过将命名元素和zipkin提供程序附加到spec.meshConfig.extensionProviders规范中,将追踪数据暴露给 Red Hat OpenShift 分布式追踪平台 (Tempo) 栈。然后,遥测自定义资源会配置 Istio 代理以收集追踪跨度并将它们发送到 Tempo 分发器服务端点。

Red Hat OpenShift分布式追踪平台(Tempo)堆栈在IBM Z上不受支持。

OpenShift 服务网格控制台插件

此版本引入了 OpenShift 服务网格控制台 (OSSMC) 插件的普遍可用版本。

OSSMC 插件是 OpenShift 控制台的扩展,它可以提供对服务网格的可见性。安装 OSSMC 插件后,在 Web 控制台的导航窗格中将提供一个新的服务网格菜单选项,以及增强现有工作负载和服务控制台页面的新服务网格选项卡。

OSSMC 插件的功能与独立的 Kiali 控制台的功能非常相似。OSSMC 插件不会替换 Kiali 控制台,安装 OSSMC 插件后,您仍然可以访问独立的 Kiali 控制台。

Istio OpenShift 路由 (IOR) 默认设置更改

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 时,自动路由默认情况下保持启用状态。

Istio 代理并发配置增强

networking.istio API 中的concurrency参数配置 Istio 代理运行的 worker 线程数。

为了保证部署的一致性,Istio 现在根据分配给代理容器的 CPU 限制来配置concurrency参数。例如,2500m 的限制会将concurrency参数设置为3。如果您将concurrency参数设置为不同的值,则 Istio 将使用该值来配置代理运行的线程数,而不是使用 CPU 限制。

以前,该参数的默认设置为2

网关 API CRD 版本

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 中缺少ReferenceGrand

2.4.x

1.16.x

0.5.1

对于多租户网格部署,必须存在所有Gateway API CRD。使用实验分支。

Red Hat OpenShift 服务网格 2.4.7 版本的新功能

此 Red Hat OpenShift 服务网格版本包含 Red Hat OpenShift 服务网格运算符 2.5.1,解决了常见漏洞和披露 (CVE),包含错误修复,并支持 Red Hat OpenShift Service on AWS 4.12 及更高版本。

Red Hat OpenShift 服务网格 2.4.7 版本的组件版本

组件 版本

Istio

1.16.7

Envoy Proxy

1.24.12

Kiali

1.65.11

Red Hat OpenShift 服务网格 2.4.6 版本的新功能

此 Red Hat OpenShift 服务网格版本包含 Red Hat OpenShift 服务网格运算符 2.5.0,解决了常见漏洞和披露 (CVE),包含错误修复,并支持 Red Hat OpenShift Service on AWS 4.12 及更高版本。

Red Hat OpenShift 服务网格 2.4.6 版本的组件版本

组件 版本

Istio

1.16.7

Envoy Proxy

1.24.12

Kiali

1.65.11

Red Hat OpenShift 服务网格 2.4.5 版本的新功能

此 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 服务网格 2.4.5 版本中包含的组件版本

组件 版本

Istio

1.16.7

Envoy Proxy

1.24.12

Kiali

1.65.11

Red Hat OpenShift 服务网格 2.4.4 版本的新功能

此 Red Hat OpenShift 服务网格版本解决了常见漏洞和披露 (CVE),包含错误修复,并支持 Red Hat OpenShift Service on AWS 4.11 及更高版本。

Red Hat OpenShift 服务网格 2.4.4 版本中包含的组件版本

组件 版本

Istio

1.16.7

Envoy Proxy

1.24.12

Jaeger

1.47.0

Kiali

1.65.10

Red Hat OpenShift 服务网格 2.4.3 版本的新功能

  • 已添加envoyExtAuthzGrpc字段,用于使用 gRPC API 配置外部授权提供程序。

  • 已解决常见漏洞和披露 (CVE)。

  • 此版本支持 Red Hat OpenShift Service on AWS 4.10 和更高版本。

Red Hat OpenShift 服务网格 2.4.3 版本中包含的组件版本

组件 版本

Istio

1.16.7

Envoy Proxy

1.24.10

Jaeger

1.42.0

Kiali

1.65.8

远程过程调用 (gRPC) API 对外部授权配置的支持

此增强功能添加了envoyExtAuthzGrpc字段,用于使用 gRPC API 配置外部授权提供程序。

Red Hat OpenShift 服务网格 2.4.2 版本的新功能

此 Red Hat OpenShift 服务网格版本解决了常见漏洞和披露 (CVE),包含错误修复,并支持 Red Hat OpenShift Service on AWS 4.10 及更高版本。

Red Hat OpenShift 服务网格 2.4.2 版本中包含的组件版本

组件 版本

Istio

1.16.7

Envoy Proxy

1.24.10

Jaeger

1.42.0

Kiali

1.65.7

Red Hat OpenShift 服务网格 2.4.1 版本的新功能

此 Red Hat OpenShift 服务网格版本解决了常见漏洞和披露 (CVE),包含错误修复,并支持 Red Hat OpenShift Service on AWS 4.10 及更高版本。

Red Hat OpenShift 服务网格 2.4.1 版本中包含的组件版本

组件 版本

Istio

1.16.5

Envoy Proxy

1.24.8

Jaeger

1.42.0

Kiali

1.65.7

Red Hat OpenShift 服务网格 2.4 版本的新功能

此 Red Hat OpenShift 服务网格版本解决了常见漏洞和披露 (CVE),包含错误修复,并支持 Red Hat OpenShift Service on AWS 4.10 及更高版本。

Red Hat OpenShift 服务网格 2.4 版本中包含的组件版本

组件 版本

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

与 cert-manager istio-csr 集成

通过此更新,Red Hat OpenShift Service Mesh 与cert-manager控制器和istio-csr代理集成。cert-manager在 Kubernetes 集群中添加证书和证书颁发者作为资源类型,并简化了获取、更新和使用这些证书的过程。cert-manager提供并轮换 Istio 的中间 CA 证书。与istio-csr集成使用户能够将 Istio 代理的签名证书请求委派给cert-managerServiceMeshControlPlane v2.4 接受cert-manager提供的 CA 证书作为cacerts密钥。

在 IBM Power®、IBM Z® 和 IBM® LinuxONE 上不支持与cert-manageristio-csr的集成。

与外部授权系统集成

此增强功能引入了一种正式可用的方法,可以通过使用AuthorizationPolicy资源的action: CUSTOM字段将 Red Hat OpenShift Service Mesh 与外部授权系统集成。使用envoyExtAuthzHttp字段将访问控制委托给外部授权系统。

与外部 Prometheus 安装集成

此增强功能引入了 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 支持

此增强功能引入了单栈 IPv6 集群的正式可用支持,提供了对更广泛的 IP 地址的访问。不支持双栈 IPv4 或 IPv6 集群。

在 IBM Power®、IBM Z® 和 IBM® LinuxONE 上不提供单栈 IPv6 支持。

启用 Red Hat OpenShift Service on AWS Gateway API

要启用 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"

Istio 1.16 支持

Service Mesh 2.4 基于 Istio 1.16,它带来了新的功能和产品增强。虽然支持许多 Istio 1.16 功能,但应注意以下例外情况

  • 用于 sidecar 的 HBONE 协议是一个实验性功能,不受支持。

  • 不支持 ARM64 架构上的 Service Mesh。

Red Hat OpenShift Service Mesh 2.3.11 版本的新功能

此 Red Hat OpenShift 服务网格版本包含 Red Hat OpenShift 服务网格运算符 2.5.1,解决了常见漏洞和披露 (CVE),包含错误修复,并支持 Red Hat OpenShift Service on AWS 4.12 及更高版本。

Red Hat OpenShift Service Mesh 2.3.11 版本的组件版本

组件 版本

Istio

1.14.5

Envoy Proxy

1.22.11

Kiali

1.57.14

Red Hat OpenShift Service Mesh 2.3.10 版本的新功能

此 Red Hat OpenShift 服务网格版本包含 Red Hat OpenShift 服务网格运算符 2.5.0,解决了常见漏洞和披露 (CVE),包含错误修复,并支持 Red Hat OpenShift Service on AWS 4.12 及更高版本。

Red Hat OpenShift Service Mesh 2.3.10 版本的组件版本

组件 版本

Istio

1.14.5

Envoy Proxy

1.22.11

Kiali

1.57.14

Red Hat OpenShift Service Mesh 2.3.9 版本的新功能

此版本的 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 Service Mesh 2.3.9 版本中包含的组件版本

组件 版本

Istio

1.14.5

Envoy Proxy

1.22.11

Jaeger

1.47.0

Kiali

1.57.14

Red Hat OpenShift Service Mesh 2.3.8 版本的新功能

此 Red Hat OpenShift 服务网格版本解决了常见漏洞和披露 (CVE),包含错误修复,并支持 Red Hat OpenShift Service on AWS 4.11 及更高版本。

Red Hat OpenShift Service Mesh 2.3.8 版本中包含的组件版本

组件 版本

Istio

1.14.5

Envoy Proxy

1.22.11

Jaeger

1.47.0

Kiali

1.57.13

Red Hat OpenShift Service Mesh 2.3.7 版本的新功能

此 Red Hat OpenShift 服务网格版本解决了常见漏洞和披露 (CVE),包含错误修复,并支持 Red Hat OpenShift Service on AWS 4.10 及更高版本。

Red Hat OpenShift Service Mesh 2.3.7 版本中包含的组件版本

组件 版本

Istio

1.14.6

Envoy Proxy

1.22.11

Jaeger

1.42.0

Kiali

1.57.11

Red Hat OpenShift Service Mesh 2.3.6 版本的新功能

此 Red Hat OpenShift 服务网格版本解决了常见漏洞和披露 (CVE),包含错误修复,并支持 Red Hat OpenShift Service on AWS 4.10 及更高版本。

Red Hat OpenShift Service Mesh 2.3.6 版本中包含的组件版本

组件 版本

Istio

1.14.5

Envoy Proxy

1.22.11

Jaeger

1.42.0

Kiali

1.57.10

Red Hat OpenShift Service Mesh 2.3.5 版本的新功能

此 Red Hat OpenShift 服务网格版本解决了常见漏洞和披露 (CVE),包含错误修复,并支持 Red Hat OpenShift Service on AWS 4.10 及更高版本。

Red Hat OpenShift Service Mesh 2.3.5 版本中包含的组件版本

组件 版本

Istio

1.14.5

Envoy Proxy

1.22.9

Jaeger

1.42.0

Kiali

1.57.10

Red Hat OpenShift Service Mesh 2.3.4 版本的新功能

此 Red Hat OpenShift 服务网格版本解决了常见漏洞和披露 (CVE),包含错误修复,并支持 Red Hat OpenShift Service on AWS 4.10 及更高版本。

Red Hat OpenShift Service Mesh 2.3.4 版本中包含的组件版本

组件 版本

Istio

1.14.6

Envoy Proxy

1.22.9

Jaeger

1.42.0

Kiali

1.57.9

Red Hat OpenShift Service Mesh 2.3.3 版本的新功能

此版本的 Red Hat OpenShift Service Mesh 解决了常见漏洞和暴露 (CVE),包含错误修复,并支持 Red Hat OpenShift Service on AWS 4.9 及更高版本。

Red Hat OpenShift Service Mesh 2.3.3 版本中包含的组件版本

组件 版本

Istio

1.14.5

Envoy Proxy

1.22.9

Jaeger

1.42.0

Kiali

1.57.7

Red Hat OpenShift Service Mesh 2.3.2 版本的新功能

此版本的 Red Hat OpenShift Service Mesh 解决了常见漏洞和暴露 (CVE),包含错误修复,并支持 Red Hat OpenShift Service on AWS 4.9 及更高版本。

Red Hat OpenShift Service Mesh 2.3.2 版本中包含的组件版本

组件 版本

Istio

1.14.5

Envoy Proxy

1.22.7

Jaeger

1.39

Kiali

1.57.6

Red Hat OpenShift Service Mesh 2.3.1 版本的新功能

此版本的 Red Hat OpenShift Service Mesh 引入了新功能,解决了常见漏洞和暴露 (CVE),包含错误修复,并支持 Red Hat OpenShift Service on AWS 4.9 及更高版本。

Red Hat OpenShift Service Mesh 2.3.1 版本中包含的组件版本

组件 版本

Istio

1.14.5

Envoy Proxy

1.22.4

Jaeger

1.39

Kiali

1.57.5

Red Hat OpenShift Service Mesh 2.3 版本的新功能

此版本的 Red Hat OpenShift Service Mesh 引入了新功能,解决了常见漏洞和暴露 (CVE),包含错误修复,并支持 Red Hat OpenShift Service on AWS 4.9 及更高版本。

Red Hat OpenShift Service Mesh 2.3 版本包含的组件版本

组件 版本

Istio

1.14.3

Envoy Proxy

1.22.4

Jaeger

1.38

Kiali

1.57.3

新的容器网络接口 (CNI) DaemonSet 容器和 ConfigMap

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 代理。这使得能够自定义网关选项。使用网关注入时,必须在要运行网关代理的命名空间中创建以下资源:ServiceDeploymentRoleRoleBinding

Istio 1.14 支持

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 2.2.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 Service Mesh 2.2.12 版本包含的组件版本

组件 版本

Istio

1.12.9

Envoy Proxy

1.20.8

Jaeger

1.47.0

Kiali

1.48.11

Red Hat OpenShift Service Mesh 2.2.11 版本的新功能

此 Red Hat OpenShift 服务网格版本解决了常见漏洞和披露 (CVE),包含错误修复,并支持 Red Hat OpenShift Service on AWS 4.11 及更高版本。

Red Hat OpenShift Service Mesh 2.2.11 版本包含的组件版本

组件 版本

Istio

1.12.9

Envoy Proxy

1.20.8

Jaeger

1.47.0

Kiali

1.48.10

Red Hat OpenShift Service Mesh 2.2.10 版本的新功能

此 Red Hat OpenShift 服务网格版本解决了常见漏洞和披露 (CVE),包含错误修复,并支持 Red Hat OpenShift Service on AWS 4.10 及更高版本。

Red Hat OpenShift Service Mesh 2.2.10 版本包含的组件版本

组件 版本

Istio

1.12.9

Envoy Proxy

1.20.8

Jaeger

1.42.0

Kiali

1.48.8

Red Hat OpenShift Service Mesh 2.2.9 版本的新功能

此 Red Hat OpenShift 服务网格版本解决了常见漏洞和披露 (CVE),包含错误修复,并支持 Red Hat OpenShift Service on AWS 4.10 及更高版本。

Red Hat OpenShift Service Mesh 2.2.9 版本包含的组件版本

组件 版本

Istio

1.12.9

Envoy Proxy

1.20.8

Jaeger

1.42.0

Kiali

1.48.7

Red Hat OpenShift Service Mesh 2.2.8 版本的新功能

此 Red Hat OpenShift 服务网格版本解决了常见漏洞和披露 (CVE),包含错误修复,并支持 Red Hat OpenShift Service on AWS 4.10 及更高版本。

Red Hat OpenShift Service Mesh 2.2.8 版本包含的组件版本

组件 版本

Istio

1.12.9

Envoy Proxy

1.20.8

Jaeger

1.42.0

Kiali

1.48.7

Red Hat OpenShift Service Mesh 2.2.7 版本的新功能

此 Red Hat OpenShift 服务网格版本解决了常见漏洞和披露 (CVE),包含错误修复,并支持 Red Hat OpenShift Service on AWS 4.10 及更高版本。

Red Hat OpenShift Service Mesh 2.2.7 版本包含的组件版本

组件 版本

Istio

1.12.9

Envoy Proxy

1.20.8

Jaeger

1.42.0

Kiali

1.48.6

Red Hat OpenShift Service Mesh 2.2.6 版本的新功能

此版本的 Red Hat OpenShift Service Mesh 解决了常见漏洞和暴露 (CVE),包含错误修复,并支持 Red Hat OpenShift Service on AWS 4.9 及更高版本。

Red Hat OpenShift Service Mesh 2.2.6 版本包含的组件版本

组件 版本

Istio

1.12.9

Envoy Proxy

1.20.8

Jaeger

1.39

Kiali

1.48.5

Red Hat OpenShift Service Mesh 2.2.5 版本的新功能

此版本的 Red Hat OpenShift Service Mesh 解决了常见漏洞和暴露 (CVE),包含错误修复,并支持 Red Hat OpenShift Service on AWS 4.9 及更高版本。

Red Hat OpenShift Service Mesh 2.2.5 版本包含的组件版本

组件 版本

Istio

1.12.9

Envoy Proxy

1.20.8

Jaeger

1.39

Kiali

1.48.3

Red Hat OpenShift Service Mesh 2.2.4 版本的新功能

此版本的 Red Hat OpenShift Service Mesh 解决了常见漏洞和暴露 (CVE),包含错误修复,并支持 Red Hat OpenShift Service on AWS 4.9 及更高版本。

Red Hat OpenShift Service Mesh 2.2.4 版本包含的组件版本

组件 版本

Istio

1.12.9

Envoy Proxy

1.20.8

Jaeger

1.36.14

Kiali

1.48.3

Red Hat OpenShift Service Mesh 2.2.3 版本的新功能

此 Red Hat OpenShift Service Mesh 版本解决了常见漏洞和披露 (CVE)、错误修复,并在 Red Hat OpenShift Service on AWS 4.9 及更高版本上受支持。

Red Hat OpenShift Service Mesh 2.2.3 版本包含的组件版本

组件 版本

Istio

1.12.9

Envoy Proxy

1.20.8

Jaeger

1.36

Kiali

1.48.3

Red Hat OpenShift Service Mesh 2.2.2 版本的新功能

此 Red Hat OpenShift Service Mesh 版本解决了常见漏洞和披露 (CVE)、错误修复,并在 Red Hat OpenShift Service on AWS 4.9 及更高版本上受支持。

Red Hat OpenShift Service Mesh 2.2.2 版本包含的组件版本

组件 版本

Istio

1.12.7

Envoy Proxy

1.20.6

Jaeger

1.36

Kiali

1.48.2-1

复制路由标签

通过此增强功能,除了复制注释外,您还可以复制 OpenShift 路由的特定标签。Red Hat OpenShift Service Mesh 将 Istio 网关资源中存在的全部标签和注释(kubectl.kubernetes.io 开头的注释除外)复制到托管的 OpenShift 路由资源中。

Red Hat OpenShift Service Mesh 2.2.1 版本的新功能

此 Red Hat OpenShift Service Mesh 版本解决了常见漏洞和披露 (CVE)、错误修复,并在 Red Hat OpenShift Service on AWS 4.9 及更高版本上受支持。

Red Hat OpenShift Service Mesh 2.2.1 版本包含的组件版本

组件 版本

Istio

1.12.7

Envoy Proxy

1.20.6

Jaeger

1.34.1

Kiali

1.48.2-1

Red Hat OpenShift Service Mesh 2.2 版本的新功能

此 Red Hat OpenShift Service Mesh 版本添加了新的功能和增强功能,并在 Red Hat OpenShift Service on AWS 4.9 及更高版本上受支持。

Red Hat OpenShift Service Mesh 2.2 版本包含的组件版本

组件 版本

Istio

1.12.7

Envoy Proxy

1.20.4

Jaeger

1.34.1

Kiali

1.48.0.16

WasmPlugin API

此版本添加了对 WasmPlugin API 的支持,并弃用了 ServiceMeshExtension API。

ROSA 支持

此版本引入了对 Red Hat OpenShift on AWS (ROSA) 的服务网格支持,包括多集群联合。

istio-node DaemonSet 重命名

在此版本中,istio-node DaemonSet 重命名为 istio-cni-node,以与上游 Istio 中的名称匹配。

Envoy sidecar 网络更改

Istio 1.10 将 Envoy 更新为默认情况下使用 eth0 而不是 lo 将流量发送到应用程序容器。

Service Mesh 控制平面 1.1

此版本标志着对所有平台上基于 Service Mesh 1.1 的 Service Mesh 控制平面的支持结束。

Istio 1.12 支持

Service Mesh 2.2 基于 Istio 1.12,它带来了新的功能和产品增强。虽然支持许多 Istio 1.12 功能,但应注意以下不受支持的功能

  • AuthPolicy 试运行是一个技术预览功能。

  • gRPC 无代理服务网格是一个技术预览功能。

  • 遥测 API 是一个技术预览功能。

  • 发现选择器不是受支持的功能。

  • 外部控制平面不是受支持的功能。

  • 网关注入不是受支持的功能。

安装 Gateway API CRD

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 -; }
启用 Kubernetes Gateway API

要启用此功能,请为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"

可以使用SameNamespaceAll设置来限制 Gateway API 监听器上的路由附加。Istio 会忽略listeners.allowedRoutes.namespaces中标签选择器的使用,并恢复到默认行为 (SameNamespace)。

手动将现有网关链接到 Gateway 资源

如果 Kubernetes API 部署控制器已禁用,则必须手动部署然后将入口网关链接到已创建的 Gateway 资源。

  apiVersion: gateway.networking.k8s.io/v1alpha2
  kind: Gateway
  metadata:
    name: gateway
  spec:
    addresses:
    - value: ingress.istio-gateways.svc.cluster.local
      type: Hostname

Red Hat OpenShift Service Mesh 2.1.6 的新功能

此版本的 Red Hat OpenShift Service Mesh 解决了常见漏洞和暴露 (CVE),包含错误修复,并支持 Red Hat OpenShift Service on AWS 4.9 及更高版本。

Red Hat OpenShift Service Mesh 2.1.6 版本中包含的组件版本

组件 版本

Istio

1.9.9

Envoy Proxy

1.17.5

Jaeger

1.36

Kiali

1.36.16

Red Hat OpenShift Service Mesh 2.1.5.2 的新功能

此版本的 Red Hat OpenShift Service Mesh 解决了常见漏洞和暴露 (CVE),包含错误修复,并支持 Red Hat OpenShift Service on AWS 4.9 及更高版本。

Red Hat OpenShift Service Mesh 2.1.5.2 版本中包含的组件版本

组件 版本

Istio

1.9.9

Envoy Proxy

1.17.5

Jaeger

1.36

Kiali

1.24.17

Red Hat OpenShift Service Mesh 2.1.5.1 的新功能

此 Red Hat OpenShift Service Mesh 版本解决了常见漏洞和披露 (CVE)、错误修复,并在 Red Hat OpenShift Service on AWS 4.9 及更高版本上受支持。

Red Hat OpenShift Service Mesh 2.1.5.1 版本中包含的组件版本

组件 版本

Istio

1.9.9

Envoy Proxy

1.17.5

Jaeger

1.36

Kiali

1.36.13

Red Hat OpenShift Service Mesh 2.1.5 的新功能

此 Red Hat OpenShift Service Mesh 版本解决了常见漏洞和披露 (CVE)、错误修复,并在 Red Hat OpenShift Service on AWS 4.9 及更高版本上受支持。

Red Hat OpenShift Service Mesh 2.1.5 版本中包含的组件版本

组件 版本

Istio

1.9.9

Envoy Proxy

1.17.1

Jaeger

1.36

Kiali

1.36.12-1

Red Hat OpenShift Service Mesh 2.1.4 的新功能

此版本的 Red Hat OpenShift Service Mesh 解决了常见漏洞和披露 (CVE) 以及错误修复。

Red Hat OpenShift Service Mesh 2.1.4 版本中包含的组件版本

组件 版本

Istio

1.9.9

Envoy Proxy

1.17.1

Jaeger

1.30.2

Kiali

1.36.12-1

Red Hat OpenShift Service Mesh 2.1.3 的新功能

此版本的 Red Hat OpenShift Service Mesh 解决了常见漏洞和披露 (CVE) 以及错误修复。

Red Hat OpenShift Service Mesh 2.1.3 版本中包含的组件版本

组件 版本

Istio

1.9.9

Envoy Proxy

1.17.1

Jaeger

1.30.2

Kiali

1.36.10-2

Red Hat OpenShift Service Mesh 2.1.2.1 的新功能

此版本的 Red Hat OpenShift Service Mesh 解决了常见漏洞和披露 (CVE) 以及错误修复。

Red Hat OpenShift Service Mesh 2.1.2.1 版本中包含的组件版本

组件 版本

Istio

1.9.9

Envoy Proxy

1.17.1

Jaeger

1.30.2

Kiali

1.36.9

Red Hat OpenShift Service Mesh 2.1.2 的新功能

此版本的 Red Hat OpenShift Service Mesh 解决了常见漏洞和披露 (CVE) 以及错误修复。

在此版本中,Red Hat OpenShift 分布式跟踪平台 (Jaeger) 运算符现在默认安装到openshift-distributed-tracing命名空间。以前,默认安装位置是在openshift-operator命名空间。

Red Hat OpenShift Service Mesh 2.1.2 版本中包含的组件版本

组件 版本

Istio

1.9.9

Envoy Proxy

1.17.1

Jaeger

1.30.1

Kiali

1.36.8

Red Hat OpenShift Service Mesh 2.1.1 的新功能

此版本的 Red Hat OpenShift Service Mesh 解决了常见漏洞和披露 (CVE) 以及错误修复。

此版本还增加了禁用网络策略自动创建的功能。

Red Hat OpenShift Service Mesh 2.1.1 版本中包含的组件版本

组件 版本

Istio

1.9.9

Envoy Proxy

1.17.1

Jaeger

1.24.1

Kiali

1.36.7

禁用网络策略

Red Hat OpenShift Service Mesh 会在服务网格控制平面和应用程序命名空间中自动创建和管理多个NetworkPolicies资源。这是为了确保应用程序和控制平面可以相互通信。

如果要禁用NetworkPolicies资源的自动创建和管理,例如为了执行公司安全策略,您可以这样做。您可以编辑ServiceMeshControlPlanespec.security.manageNetworkPolicy设置为false

禁用spec.security.manageNetworkPolicy后,Red Hat OpenShift Service Mesh 将不会创建**任何**NetworkPolicy对象。系统管理员负责管理网络并解决由此可能造成的任何问题。

步骤
  1. 在 Red Hat OpenShift Service on AWS Web 控制台中,单击**运算符**→**已安装的运算符**。

  2. 从“项目”菜单中选择安装服务网格控制平面的项目,例如istio-system

  3. 单击 Red Hat OpenShift Service Mesh 运算符。在**Istio 服务网格控制平面**列中,单击您的ServiceMeshControlPlane的名称,例如basic-install

  4. 在**创建 ServiceMeshControlPlane 详情**页面上,单击YAML以修改您的配置。

  5. 设置ServiceMeshControlPlane字段spec.security.manageNetworkPolicyfalse,如本例所示。

    apiVersion: maistra.io/v2
    kind: ServiceMeshControlPlane
    spec:
      security:
          trust:
          manageNetworkPolicy: false
  6. 单击**保存**。

Red Hat OpenShift Service Mesh 2.1 的新功能和增强功能

此版本的 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 的支持,并包含新的功能和增强功能。

Red Hat OpenShift Service Mesh 2.1 版本中包含的组件版本

组件 版本

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) 正式可用

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 上使用。

服务网格 WebAssembly (WASM) 扩展

ServiceMeshExtensions自定义资源定义 (CRD) 最初在 2.0 中作为技术预览推出,现在正式可用。您可以使用 CRD 来构建自己的插件,但 Red Hat 不提供对您创建的插件的支持。

在 Service Mesh 2.1 中已完全移除 Mixer。如果启用了 Mixer,则将阻止从 Service Mesh 2.0.x 版本升级到 2.1。Mixer 插件需要移植到 WebAssembly 扩展。

3scale WebAssembly 适配器 (WASM)

由于 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 集成。

Istio 1.9 支持

Service Mesh 2.1 基于 Istio 1.9,它带来了大量的新功能和产品增强功能。虽然大多数 Istio 1.9 功能都受支持,但应注意以下例外情况

  • 尚不支持虚拟机集成

  • 尚不支持 Kubernetes Gateway API

  • 尚不支持远程获取和加载 WebAssembly HTTP 过滤器

  • 尚不支持使用 Kubernetes CSR API 的自定义 CA 集成

  • 用于监控流量的请求分类是技术预览功能

  • 通过授权策略的 CUSTOM 操作与外部授权系统的集成是技术预览功能

改进的 Service Mesh 运算符性能

Red Hat OpenShift Service Mesh 用于在每次ServiceMeshControlPlane协调结束时修剪旧资源的时间已减少。这导致ServiceMeshControlPlane部署更快,并允许对现有 SMCP 应用的更改更快生效。

Kiali 更新

Kiali 1.36 包含以下功能和增强功能

  • Service Mesh 故障排除功能

    • 控制平面和网关监控

    • 代理同步状态

    • Envoy 配置视图

    • 统一视图显示交错的 Envoy 代理和应用程序日志

  • 命名空间和集群隔离,以支持联合 Service Mesh 视图

  • 新的验证、向导和分布式跟踪增强功能

Red Hat OpenShift Service Mesh 2.0.11.1 的新功能

此版本的 Red Hat OpenShift Service Mesh 解决了常见漏洞和披露 (CVE)、错误修复,并在 Red Hat OpenShift Service on AWS 4.9 或更高版本上受支持。

Red Hat OpenShift Service Mesh 2.0.11.1 版本中包含的组件版本

组件 版本

Istio

1.6.14

Envoy Proxy

1.14.5

Jaeger

1.36

Kiali

1.24.17

Red Hat OpenShift Service Mesh 2.0.11 的新功能

此版本的 Red Hat OpenShift Service Mesh 解决了常见漏洞和披露 (CVE)、错误修复,并在 Red Hat OpenShift Service on AWS 4.9 或更高版本上受支持。

Red Hat OpenShift Service Mesh 2.0.11 版本中包含的组件版本

组件 版本

Istio

1.6.14

Envoy Proxy

1.14.5

Jaeger

1.36

Kiali

1.24.16-1

Red Hat OpenShift Service Mesh 2.0.10 的新功能

此版本的 Red Hat OpenShift Service Mesh 解决了常见漏洞和披露 (CVE) 以及错误修复。

Red Hat OpenShift Service Mesh 2.0.10 版本中包含的组件版本

组件 版本

Istio

1.6.14

Envoy Proxy

1.14.5

Jaeger

1.28.0

Kiali

1.24.16-1

Red Hat OpenShift Service Mesh 2.0.9 的新功能

此版本的 Red Hat OpenShift Service Mesh 解决了常见漏洞和披露 (CVE) 以及错误修复。

Red Hat OpenShift Service Mesh 2.0.9 版本中包含的组件版本

组件 版本

Istio

1.6.14

Envoy Proxy

1.14.5

Jaeger

1.24.1

Kiali

1.24.11

Red Hat OpenShift Service Mesh 2.0.8 的新功能

此版本的 Red Hat OpenShift Service Mesh 解决了错误修复。

Red Hat OpenShift Service Mesh 2.0.7.1 的新功能

此版本的 Red Hat OpenShift Service Mesh 解决了常见漏洞和披露 (CVE)。

Red Hat OpenShift Service Mesh 处理 URI 片段的方式发生了变化

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:*”匹配的配置。但是,精确匹配授权策略仅匹配为hostsnotHosts字段提供的精确字符串。

如果您有使用精确字符串比较规则来确定hosts 或 notHostsAuthorizationPolicy资源,则您的集群会受到影响。

您必须更新您的授权策略规则以使用前缀匹配而不是精确匹配。例如,在第一个AuthorizationPolicy示例中,将hosts: ["httpbin.com"]替换为hosts: ["httpbin.com:*"]

使用前缀匹配的第一个 AuthorizationPolicy 示例
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:*"]
使用前缀匹配的第二个 AuthorizationPolicy 示例
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 2.0.7 的新功能

此版本的 Red Hat OpenShift Service Mesh 解决了常见漏洞和披露 (CVE) 以及错误修复。

Red Hat OpenShift Dedicated 上的 Red Hat OpenShift Service Mesh

Red Hat OpenShift Service Mesh 现在通过 Red Hat OpenShift Dedicated 受支持。

Red Hat OpenShift Service Mesh 2.0.6 的新功能

此版本的 Red Hat OpenShift Service Mesh 解决了常见漏洞和披露 (CVE) 以及错误修复。

Red Hat OpenShift Service Mesh 2.0.5 的新功能

此版本的 Red Hat OpenShift Service Mesh 解决了常见漏洞和披露 (CVE) 以及错误修复。

Red Hat OpenShift Service Mesh 2.0.4 的新功能

此版本的 Red Hat OpenShift Service Mesh 解决了常见漏洞和披露 (CVE) 以及错误修复。

必须完成一些手动步骤才能解决 CVE-2021-29492 和 CVE-2021-31920。

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字段模式的授权策略,则您的集群会受到此漏洞的影响。这些模式容易受到意外策略绕过的攻击。

如果满足以下条件,则您的集群不会受到此漏洞的影响:

  • 您没有授权策略。

  • 您的授权策略未定义pathsnotPaths字段。

  • 您的授权策略使用ALLOW action + paths字段或DENY action + notPaths字段模式。这些模式只会导致意外拒绝,而不是策略绕过。对于这些情况,升级是可选的。

Red Hat OpenShift Service Mesh 的路径规范化配置位置与 Istio 配置不同。

更新路径规范化配置

Istio 授权策略可以基于 HTTP 请求中的 URL 路径。路径规范化,也称为 URI 规范化,会修改和标准化传入请求的路径,以便以标准方式处理规范化的路径。句法上不同的路径在路径规范化后可能等效。

在根据授权策略评估请求并路由请求之前,Istio 支持对请求路径执行以下规范化方案:

表 1. 规范化方案
选项 描述 示例 备注

NONE

不执行规范化。Envoy 收到的任何内容都将按原样转发到任何后端服务。

../%2Fa../b 将由授权策略评估并发送到您的服务。

此设置容易受到 CVE-2021-31920 的影响。

BASE

这当前是 Istio **默认**安装中使用的选项。这会对 Envoy 代理应用normalize_path选项,该选项遵循RFC 3986,并进行额外规范化以将反斜杠转换为正斜杠。

/a/../b 将规范化为 /b\da 将规范化为 /da

此设置容易受到 CVE-2021-31920 的影响。

MERGE_SLASHES

在 *BASE* 规范化之后合并斜杠。

/a//b 将规范化为 /a/b

更新此设置以减轻 CVE-2021-31920 的影响。

DECODE_AND_MERGE_SLASHES

当您默认允许所有流量时,这是最严格的设置。建议使用此设置,但需要注意的是,您必须彻底测试您的授权策略路由。百分比编码的斜杠和反斜杠字符 (%2F%2f%5C%5c) 将解码为 /\,然后进行 MERGE_SLASHES 规范化。

/a%2fb 将规范化为 /a/b

更新此设置以减轻 CVE-2021-31920 的影响。此设置更安全,但也可能破坏应用程序。在部署到生产环境之前,请测试您的应用程序。

规范化算法按以下顺序执行:

  1. 百分比解码 %2F%2f%5C%5c

  2. Envoy 中的RFC 3986和其他规范化,由normalize_path选项实现。

  3. 合并斜杠。

虽然这些规范化选项代表了 HTTP 标准和常见行业实践的建议,但应用程序可以以任何方式解释 URL。使用拒绝策略时,请确保您了解应用程序的行为。

路径规范化配置示例

确保 Envoy 规范化请求路径以匹配后端服务的预期对于系统的安全性至关重要。以下示例可用作配置系统的参考。规范化的 URL 路径(如果选择 NONE,则为原始 URL 路径)将:

  1. 用于检查授权策略。

  2. 转发到后端应用程序。

表 2. 配置示例
如果您的应用程序…… 选择……

依赖代理进行规范化

BASEMERGE_SLASHESDECODE_AND_MERGE_SLASHES

基于RFC 3986规范化请求路径,并且不合并斜杠。

BASE

基于RFC 3986规范化请求路径,并合并斜杠,但不解码百分比编码的斜杠。

MERGE_SLASHES

基于RFC 3986规范化请求路径,解码百分比编码的斜杠,并合并斜杠。

DECODE_AND_MERGE_SLASHES

以与RFC 3986不兼容的方式处理请求路径。

NONE

配置您的 SMCP 以进行路径规范化

要为 Red Hat OpenShift Service Mesh 配置路径规范化,请在您的 ServiceMeshControlPlane 中指定以下内容。使用配置示例来帮助确定系统的设置。

SMCP v2 pathNormalization
spec:
  techPreview:
    global:
      pathNormalization: <option>

配置大小写规范化

在某些环境中,可能需要以不区分大小写的方式比较授权策略中的路径。例如,将https://myurl/gethttps://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 2.0.3 的新功能

此版本的 Red Hat OpenShift Service Mesh 解决了常见漏洞和披露 (CVE) 以及错误修复。

此外,此版本还具有以下新功能:

  • must-gather数据收集工具添加了一个选项,该选项可以从指定的 Service Mesh 控制平面命名空间收集信息。有关更多信息,请参阅OSSM-351

  • 提高了拥有数百个命名空间的服务网格控制平面的性能。

Red Hat OpenShift Service Mesh 2.0.2 的新功能

此版本的 Red Hat OpenShift Service Mesh 解决了常见漏洞和披露 (CVE) 以及错误修复。

Red Hat OpenShift Service Mesh 2.0.1 的新功能

此版本的 Red Hat OpenShift Service Mesh 解决了常见漏洞和披露 (CVE) 以及错误修复。

Red Hat OpenShift Service Mesh 2.0 的新功能

此版本的 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 中包含,并且继续受到支持;但是,它将在该产品的未来版本中移除,并且不建议用于新的部署。

已移除的功能在产品中不再存在。

Red Hat OpenShift Service Mesh 2.5 中已弃用和移除的功能

v2.2 的 ServiceMeshControlPlane 资源不再受支持。客户应将其网格部署更新为使用更高版本的 ServiceMeshControlPlane 资源。

对 Red Hat OpenShift 分布式追踪平台 (Jaeger) 运算符的支持已弃用。要收集追踪跨度,请使用 Red Hat OpenShift 分布式追踪平台 (Tempo) 堆栈。

对 OpenShift Elasticsearch 运算符的支持已弃用。

Istio 将移除对第一方 JSON Web 令牌 (JWT) 的支持。Istio 仍将支持第三方 JWT。

Red Hat OpenShift Service Mesh 2.4 中已弃用和移除的功能

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

Red Hat OpenShift Service Mesh 2.3 中已弃用和移除的功能

对以下密码套件的支持已被弃用。在将来的版本中,它们将从客户端和服务器端 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 扩展。

Red Hat OpenShift Service Mesh 2.2 中已弃用的功能

从 2.2 版本开始,ServiceMeshExtension API 已弃用,并将在未来版本中移除。虽然 2.2 版本中仍然支持 ServiceMeshExtension API,但客户应开始迁移到新的 WasmPlugin API。

Red Hat OpenShift Service Mesh 2.2 中已移除的功能

此版本标志着对所有平台上基于 Service Mesh 1.1 的服务网格控制平面的支持结束。

Red Hat OpenShift Service Mesh 2.1 中已移除的功能

在 Service Mesh 2.1 中,Mixer 组件已被移除。在 Service Mesh 2.0 生命周期结束之前,将提供错误修复和支持。

如果启用了 Mixer 插件,则从 Service Mesh 2.0.x 版本升级到 2.1 将无法继续进行。必须将 Mixer 插件移植到 WebAssembly 扩展。

Red Hat OpenShift Service Mesh 2.0 中已弃用的功能

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) 不再受支持。

    • 如上所述,使用 RequestAuthenticationPeerAuthentication,但放置在服务网格控制平面命名空间中。

  • RbacConfig (rbac.istio.io/v1alpha1) 不再受支持。

    • AuthorizationPolicy (security.istio.io/v1beta1) 替换,它包含 RbacConfigServiceRoleServiceRoleBinding 的行为。

  • ServiceMeshRbacConfig (maistra.io/v1) 不再受支持。

    • 如上所述,使用 AuthorizationPolicy,但放置在服务网格控制平面命名空间中。

  • ServiceRole (rbac.istio.io/v1alpha1) 不再受支持。

  • ServiceRoleBinding (rbac.istio.io/v1alpha1) 不再受支持。

  • 在 Kiali 中,loginLDAP 策略已弃用。未来版本将引入使用 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 及更高版本同时支持v1alpha2v1beta1 CRD。因此,多租户网格部署要支持网关 API,必须同时存在这两个 CRD 版本。

    变通方法:在以下示例中,kubectl get 操作安装了 v1alpha2v1beta1 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 已知问题

Kiali 的新问题应在 OpenShift Service Mesh 项目中创建,并将 Component 设置为 Kiali

以下是 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"

    为了确保安全迁移,请执行以下步骤

    1. 在 SMCP v2.2 中设置APPLY_WASM_PLUGINS_TO_INBOUND_ONLY

    2. 升级到 2.4。

    3. 在 WasmPlugins 中设置spec.match[].mode: SERVER

    4. 删除之前添加的环境变量。

  • OSSM-4851 之前,当runAsGrouprunAsUserfsGroup参数为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_revinjection_label_name属性的值是硬编码的。这阻止了自定义配置在 Kiali 自定义资源定义 (CRD) 中生效。现在,属性值不是硬编码的。您可以在spec.istio_labels规范中自定义injection_label_revinjection_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 中的默认nodeSelectortolerations未传递给 Kiali。现在,您添加到SMCP.spec.runtime.defaults中的nodeSelectortolerations将传递给 Kiali 资源。

  • OSSM-2492 SMCP 中的默认容忍度未传递给 Jaeger。现在,您添加到SMCP.spec.runtime.defaults中的nodeSelectortolerations将传递给 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-

    其中

    istio_system

    指定了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-722kube开头的命名空间在 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-templatesConfigMap。如果smcp-templatesConfigMap不存在,则挂载的目录为空。创建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内容或从命令行更新资源,而不是点击切换控件。