×

让开源更具包容性

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

Red Hat OpenShift Service Mesh 2.6.4 版本

此 Red Hat OpenShift Service Mesh 版本将 Red Hat OpenShift Service Mesh 运算符版本更新至 2.6.4,并包含以下ServiceMeshControlPlane资源版本更新:2.6.4、2.5.7 和 2.4.13。

此版本解决了常见漏洞和披露 (CVE),并在 OpenShift Dedicated 4.14 及更高版本上受支持。

最新版本的 Red Hat OpenShift Service Mesh 运算符可与所有受支持的 Service Mesh 版本一起使用。Service Mesh 版本使用ServiceMeshControlPlane指定。

Red Hat 提供的最新版本的 Kiali 运算符可与所有受支持的 Red Hat OpenShift Service Mesh 版本一起使用。Service Mesh 版本通过使用ServiceMeshControlPlane资源指定。Service Mesh 版本会自动确保 Kiali 版本兼容。

组件更新

组件 版本

Istio

1.20.8

Envoy Proxy

1.28.7

Kiali 服务器

1.73.17

Red Hat OpenShift Service Mesh 2.5.7 版本

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

组件更新

组件 版本

Istio

1.18.7

Envoy Proxy

1.26.8

Kiali 服务器

1.73.17

Red Hat OpenShift Service Mesh 2.4.13 版本

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

组件更新

组件 版本

Istio

1.16.7

Envoy Proxy

1.24.12

Kiali 服务器

1.65.18

Red Hat OpenShift Service Mesh 2.6.3 版本

此 Red Hat OpenShift Service Mesh 版本将 Red Hat OpenShift Service Mesh 运算符版本更新至 2.6.3,并包含以下ServiceMeshControlPlane资源版本更新:2.6.3、2.5.6 和 2.4.12。

此版本解决了常见漏洞和披露 (CVE),并在 OpenShift Dedicated 4.14 及更高版本上受支持。

Red Hat 提供的最新版本的 Kiali 运算符可与所有受支持的 Red Hat OpenShift Service Mesh 版本一起使用。Service Mesh 版本通过使用ServiceMeshControlPlane资源指定。Service Mesh 版本会自动确保 Kiali 版本兼容。

组件更新

组件 版本

Istio

1.20.8

Envoy Proxy

1.28.7

Kiali 服务器

1.73.16

Red Hat OpenShift Service Mesh 2.5.6 版本

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

组件更新

组件 版本

Istio

1.18.7

Envoy Proxy

1.26.8

Kiali 服务器

1.73.16

Red Hat OpenShift Service Mesh 2.4.12 版本

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

组件更新

组件 版本

Istio

1.16.7

Envoy Proxy

1.24.12

Kiali 服务器

1.65.17

Red Hat OpenShift Service Mesh 2.6.2 版本

此 Red Hat OpenShift Service Mesh 版本将 Red Hat OpenShift Service Mesh 运算符版本更新至 2.6.2,并包含以下ServiceMeshControlPlane资源版本更新:2.6.2、2.5.5 和 2.4.11。

此版本解决了常见漏洞和披露 (CVE),包含错误修复,并在 OpenShift Dedicated 4.14 及更高版本上受支持。

Red Hat 提供的最新版本的 Kiali 运算符可与所有受支持的 Red Hat OpenShift Service Mesh 版本一起使用。Service Mesh 版本通过使用ServiceMeshControlPlane资源指定。Service Mesh 版本会自动确保 Kiali 版本兼容。

组件更新

组件 版本

Istio

1.20.8

Envoy Proxy

1.28.7

Kiali 服务器

1.73.15

新特性

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

已修复的问题

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

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

  • OSSM-8074之前,当服务网格使用纯数字命名空间(例如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),并支持OpenShift Dedicated 4.14及更高版本。

组件更新

组件 版本

Istio

1.18.7

Envoy Proxy

1.26.8

Kiali 服务器

1.73.15

已修复的问题

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

  • OSSM-8074之前,Red Hat提供的Kiali Operator在服务网格使用纯数字命名空间(例如12345)时,无法安装Kiali服务器。现在,纯数字命名空间可以正常工作。

Red Hat OpenShift Service Mesh 2.4.11版本

此Red Hat OpenShift Service Mesh版本包含Red Hat OpenShift Service Mesh Operator 2.6.2,解决了常见的漏洞和风险(CVE),并支持OpenShift Dedicated 4.14及更高版本。

组件更新

组件 版本

Istio

1.16.7

Envoy Proxy

1.24.12

Kiali 服务器

1.65.16

已修复的问题

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

  • OSSM-8074之前,Red Hat提供的Kiali Operator在服务网格使用纯数字命名空间(例如12345)时,无法安装Kiali服务器。现在,纯数字命名空间可以正常工作。


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),包含一个错误修复,并支持OpenShift Dedicated 4.14及更高版本。

Red Hat 提供的最新版本的 Kiali 运算符可与所有受支持的 Red Hat OpenShift Service Mesh 版本一起使用。Service Mesh 版本通过使用ServiceMeshControlPlane资源指定。Service Mesh 版本会自动确保 Kiali 版本兼容。

组件更新

组件 版本

Istio

1.20.8

Envoy Proxy

1.28.5

Kiali 服务器

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),并支持OpenShift Dedicated 4.14及更高版本。

组件更新

组件 版本

Istio

1.18.7

Envoy Proxy

1.26.8

Kiali 服务器

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),并支持OpenShift Dedicated 4.14及更高版本。

组件更新

组件 版本

Istio

1.16.7

Envoy Proxy

1.24.12

Kiali 服务器

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),并支持OpenShift Dedicated 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,提供了新的功能和产品增强功能,包括:

  • 在OpenShift Dedicated 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功能,但应注意以下例外情况:

  • 不支持环境网格(Ambient mesh)

  • 不支持Istio中的QuickAssist Technology (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) Stack不支持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。

网关 API 已普遍可用,适用于 Red Hat OpenShift Service Mesh 集群范围部署

此版本引入了对使用 Kubernetes 网关 API 1.0.0 版本与 Red Hat OpenShift Service Mesh 2.6 的普遍可用性支持。此 API 使用仅限于 Red Hat OpenShift Service Mesh。不支持网关 API 自定义资源定义 (CRD)。

如果启用集群范围模式 (spec.mode: ClusterWide),则网关 API 现在默认启用。即使集群中未安装自定义资源定义 (CRD),也可以启用它。

多租户网格部署的网关 API 仍处于技术预览阶段。

请参考下表确定应与您正在使用的 OpenShift Service Mesh 版本一起安装哪个网关 API 版本

Service Mesh 版本 Istio 版本 网关 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

对于多租户网格部署,必须存在所有网关 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 之前,在 OpenShift Dedicated 4.15 中,当用户导航到“服务详情”页面,点击“服务网格”选项卡并刷新页面时,“服务网格详情”页面会停留在服务网格内容信息上,即使活动选项卡是默认的“详情”选项卡。现在,刷新后,用户可以无问题地浏览“服务详情”页面的不同选项卡。

  • OSSM-2101 之前,Istio Operator 在不再需要时从未删除 istio-cni-node DaemonSet 和其他 CNI 资源。现在,升级 Operator 后,如果集群中至少安装了一个 SMCP,Operator 将协调此 SMCP,然后删除所有未使用的 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),并支持 OpenShift Dedicated 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),并支持 OpenShift Dedicated 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),包含错误修复,并支持 OpenShift Dedicated 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 之前,在 OpenShift Dedicated 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),包含错误修复,并支持 OpenShift Dedicated 4.12 及更高版本。

最新版本的 Red Hat OpenShift Service Mesh 运算符可与所有受支持的 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),包含错误修复,并支持 OpenShift Dedicated 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),包含错误修复,并支持 OpenShift Dedicated 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),包含错误修复,并支持 OpenShift Dedicated 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 特性,但需要注意以下例外情况

  • 不支持环境网格(Ambient mesh)

  • 不支持Istio中的QuickAssist Technology (QAT) PrivateKeyProvider

集群范围的 Mesh 迁移

此版本增加了从多租户 Mesh 迁移到集群范围 Mesh 的文档。更多信息,请参见以下文档:

  • “关于迁移到集群范围 Mesh”

  • “从集群范围 Mesh 中排除命名空间”

  • “定义哪些命名空间在集群范围 Mesh 中接收 sidecar 注射”

  • “从集群范围 Mesh 中排除单个 Pod”

基于 ARM 架构集群的 Red Hat OpenShift Service Mesh Operator

此版本提供基于 ARM 架构集群的 Red Hat OpenShift Service Mesh Operator 作为正式可用特性。

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

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

Red Hat OpenShift分布式追踪平台(Tempo) Stack不支持IBM Z。

OpenShift Service Mesh 控制台插件

此版本引入了 OpenShift Service Mesh 控制台 (OSSMC) 插件的正式可用版本。

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

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

Istio 代理并发配置增强

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

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

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

Gateway API CRD 版本

OpenShift 专用 Gateway API 支持仅为技术预览功能。技术预览功能不受 Red Hat 生产服务级别协议 (SLA) 的支持,可能功能不完整。Red Hat 不建议在生产环境中使用它们。这些功能提供对即将推出的产品功能的早期访问,使客户能够在开发过程中测试功能并提供反馈。

有关 Red Hat 技术预览功能的支持范围的更多信息,请参见 技术预览功能支持范围

现在可以使用 Gateway API 自定义资源定义 (CRD) 的新版本。请参考下表确定应与您正在使用的 OpenShift Service Mesh 版本一起安装哪个 Gateway API 版本

Service Mesh 版本 Istio 版本 网关 API 版本 备注

2.5.x

1.18.x

0.6.2

使用实验分支,因为 v0.6.2 中缺少 `ReferenceGrand`。

2.4.x

1.16.x

0.5.1

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

Red Hat OpenShift Service Mesh 2.4.7 版本的新特性

此 Red Hat OpenShift Service Mesh 版本包含 Red Hat OpenShift Service Mesh Operator 2.5.1,解决了常见漏洞和披露 (CVE),包含错误修复,并支持 OpenShift Dedicated 4.12 和更高版本。

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

组件 版本

Istio

1.16.7

Envoy Proxy

1.24.12

Kiali

1.65.11

Red Hat OpenShift Service Mesh 2.4.6 版本的新特性

此 Red Hat OpenShift Service Mesh 版本包含 Red Hat OpenShift Service Mesh Operator 2.5.0,解决了常见漏洞和披露 (CVE),包含错误修复,并支持 OpenShift Dedicated 4.12 和更高版本。

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

组件 版本

Istio

1.16.7

Envoy Proxy

1.24.12

Kiali

1.65.11

Red Hat OpenShift Service Mesh 2.4.5 版本的新特性

此 Red Hat OpenShift Service Mesh 版本将 Red Hat OpenShift Service Mesh Operator 版本更新到 2.4.5,并包含以下 `ServiceMeshControlPlane` 资源版本更新:2.4.5、2.3.9 和 2.2.12。

此版本解决了常见漏洞和披露 (CVE),包含错误修复,并支持 OpenShift Dedicated 4.11 和更高版本。

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

组件 版本

Istio

1.16.7

Envoy Proxy

1.24.12

Kiali

1.65.11

Red Hat OpenShift Service Mesh 2.4.4 版本的新特性

此 Red Hat OpenShift Service Mesh 版本解决了常见漏洞和披露 (CVE),包含错误修复,并支持 OpenShift Dedicated 4.11 和更高版本。

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

组件 版本

Istio

1.16.7

Envoy Proxy

1.24.12

Jaeger

1.47.0

Kiali

1.65.10

Red Hat OpenShift Service Mesh 2.4.3 版本的新特性

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

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

  • 此版本支持 OpenShift Dedicated 4.10 和更高版本。

Red Hat OpenShift Service Mesh 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 Service Mesh 2.4.2版的新功能

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

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

组件 版本

Istio

1.16.7

Envoy Proxy

1.24.10

Jaeger

1.42.0

Kiali

1.65.7

Red Hat OpenShift Service Mesh 2.4.1版的新功能

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

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

组件 版本

Istio

1.16.5

Envoy Proxy

1.24.8

Jaeger

1.42.0

Kiali

1.65.7

Red Hat OpenShift Service Mesh 2.4版的新功能

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

Red Hat OpenShift Service Mesh 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扩展提供程序的正式可用版本。通过将extensionProviders字段的值设置为spec.meshConfig规范中的prometheus,您可以将指标公开到OpenShift Dedicated监控堆栈或自定义Prometheus安装。遥测对象配置Istio代理以收集流量指标。服务网格仅支持用于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支持。

启用OpenShift Dedicated Gateway API

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

在基础设施节点上部署控制平面

现在支持并在OpenShift基础设施节点上记录服务网格控制平面的部署。有关更多信息,请参阅以下文档

  • 配置所有服务网格控制平面组件以便在基础设施节点上运行

  • 配置单个服务网格控制平面组件以便在基础设施节点上运行

Istio 1.16支持

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

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

  • 不支持ARM64架构上的服务网格。

Red Hat OpenShift Service Mesh 2.3.11版的新功能

此 Red Hat OpenShift Service Mesh 版本包含 Red Hat OpenShift Service Mesh Operator 2.5.1,解决了常见漏洞和披露 (CVE),包含错误修复,并支持 OpenShift Dedicated 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 Service Mesh 版本包含 Red Hat OpenShift Service Mesh Operator 2.5.0,解决了常见漏洞和披露 (CVE),包含错误修复,并支持 OpenShift Dedicated 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),包含错误修复,并支持OpenShift Dedicated 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 Service Mesh 版本解决了常见漏洞和披露 (CVE),包含错误修复,并支持 OpenShift Dedicated 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 Service Mesh版本解决了常见漏洞和披露 (CVE),包含错误修复,并支持OpenShift Dedicated 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 Service Mesh版本解决了常见漏洞和披露 (CVE),包含错误修复,并支持OpenShift Dedicated 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 Service Mesh版本解决了常见漏洞和披露 (CVE),包含错误修复,并支持OpenShift Dedicated 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 Service Mesh版本解决了常见漏洞和披露 (CVE),包含错误修复,并支持OpenShift Dedicated 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),包含错误修复,并支持OpenShift Dedicated 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),包含错误修复,并支持OpenShift Dedicated 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),包含错误修复,并支持 OpenShift Dedicated 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),包含错误修复,并支持 OpenShift Dedicated 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,但图像字段除外。

  • 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),包含错误修复,并支持OpenShift Dedicated 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 Service Mesh 版本解决了常见漏洞和披露 (CVE),包含错误修复,并支持 OpenShift Dedicated 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 Service Mesh版本解决了常见漏洞和披露 (CVE),包含错误修复,并支持OpenShift Dedicated 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 Service Mesh版本解决了常见漏洞和披露 (CVE),包含错误修复,并支持OpenShift Dedicated 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 Service Mesh版本解决了常见漏洞和披露 (CVE),包含错误修复,并支持OpenShift Dedicated 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 Service Mesh版本解决了常见漏洞和披露 (CVE),包含错误修复,并支持OpenShift Dedicated 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),包含错误修复,并支持OpenShift Dedicated 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),包含错误修复,并支持OpenShift Dedicated 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),包含错误修复,并支持OpenShift Dedicated 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),包含错误修复,并支持 OpenShift Dedicated 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),包含错误修复,并支持 OpenShift Dedicated 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 Gateway 资源中存在的全部标签和注释(kubectl.kubernetes.io 开头的注释除外)复制到受管理的 OpenShift Route 资源中。

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

Red Hat OpenShift Service Mesh 此版本解决了常见漏洞和披露 (CVE),包含错误修复,并支持 OpenShift Dedicated 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 此版本添加了新功能和增强功能,并支持 OpenShift Dedicated 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将流量发送到应用程序容器。

服务网格控制平面 1.1

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

Istio 1.12 支持

服务网格 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),包含错误修复,并支持OpenShift Dedicated 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),包含错误修复,并支持OpenShift Dedicated 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),包含错误修复,并支持 OpenShift Dedicated 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),包含错误修复,并支持 OpenShift Dedicated 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. 在 OpenShift Dedicated Web 控制台中,单击**运算符** → **已安装的运算符**。

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

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

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

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

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

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

此 Red Hat OpenShift Service Mesh 版本增加了对 OpenShift Dedicated 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资源提供。

在 AWS 上的 Red Hat OpenShift Service (ROSA)、Azure Red Hat OpenShift (ARO) 或 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 中正式可用,可用于 OpenShift Dedicated 4.7.32、OpenShift Dedicated 4.8.12 和 OpenShift Dedicated 4.9。

服务网格 WebAssembly (WASM) 扩展

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

Mixer 已从 Service Mesh 2.1 中完全移除。如果启用了 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资源手动安装和配置新的 3scale WebAssembly 适配器(Service Mesh 2.1+)。

3scale 2.11 引入了基于WebAssembly的更新的服务网格集成。

Istio 1.9 支持

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 用于在每次ServiceMeshControlPlane协调结束时修剪旧资源的时间已减少。这导致ServiceMeshControlPlane部署速度更快,并允许对现有 SMCP 应用的更改更快生效。

Kiali 更新

Kiali 1.36 包括以下功能和增强功能:

  • 服务网格故障排除功能

    • 控制平面和网关监控

    • 代理同步状态

    • Envoy 配置视图

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

  • 命名空间和集群隔离,以支持联合服务网格视图

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

Red Hat OpenShift Service Mesh 2.0.11.1 的新功能

此版本的 Red Hat OpenShift Service Mesh 解决了常见漏洞和披露 (CVE)、错误修复,并支持 OpenShift Dedicated 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)、错误修复,并支持 OpenShift Dedicated 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 或 notHosts规则的AuthorizationPolicy资源,则您的集群将受到影响。

您必须更新您的授权策略规则以使用前缀匹配而不是精确匹配。例如,在第一个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 和 Microsoft Azure Red Hat OpenShift 上的 Red Hat OpenShift Service Mesh

Red Hat OpenShift Service Mesh 现在通过 Red Hat OpenShift Dedicated 和 Microsoft Azure Red Hat OpenShift 提供支持。

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数据收集工具添加了一个选项,用于收集来自指定服务网格控制平面命名空间的信息。更多信息,请参见 OSSM-351

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

Red Hat OpenShift Service Mesh 2.0.2 新功能

此版本的 Red Hat OpenShift Service Mesh增加了对 IBM Z® 和 IBM Power® 系统的支持。它还解决了常见漏洞和披露 (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 和 OpenShift Dedicated 4.6 的支持。

此外,此版本还包含以下新功能

  • 简化了服务网格控制平面的安装、升级和管理。

  • 减少了服务网格控制平面的资源使用和启动时间。

  • 通过减少网络上的控制平面间通信来提高性能。

    • 增加了对 Envoy 的秘密发现服务 (SDS) 的支持。SDS 是一种更安全、更高效的机制,用于将秘密交付给 Envoy sidecar 代理。

  • 无需使用 Kubernetes Secrets,Kubernetes Secrets 存在众所周知的安全风险。

  • 改进了证书轮换期间的性能,因为代理不再需要重新启动即可识别新证书。

    • 增加了对 Istio 的遥测 v2 架构的支持,该架构使用 WebAssembly 扩展构建。此新架构带来了显著的性能改进。

    • 将 ServiceMeshControlPlane 资源更新为 v2,并采用简化的配置,以便于管理服务网格控制平面。

已弃用和已删除的功能

以前版本中提供的一些功能已被弃用或删除。

已弃用的功能仍然包含在 OpenShift Dedicated 中,并且继续受支持;但是,它将在此产品的未来版本中删除,不建议用于新部署。

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

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 的支持,并在未来版本中将其删除。

已从客户端和服务器端 TLS 协商中使用的默认密码列表中删除了对以下密码套件的支持(这些密码套件在 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.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.3 中删除了在 Red Hat OpenShift Service Mesh 版本 2.2 中已弃用的ServiceMeshExtension API。如果您正在使用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 中已删除的功能

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

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

在服务网格 2.1 中,Mixer 组件已删除。在服务网格 2.0 生命周期结束之前,将提供错误修复和支持。

如果启用了 Mixer 插件,则从服务网格 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)时,必须接受证书并使用您的 OpenShift Dedicated 登录凭据重新进行身份验证。这是由于框架在控制台中显示嵌入页面的方式存在问题。

  • Bookinfo 示例应用程序无法安装在 IBM Power®、IBM Z® 和 IBM® LinuxONE 上。

  • IBM Power®、IBM Z® 和 IBM® LinuxONE 不支持 WebAssembly 扩展。

  • IBM Power®、IBM Z® 和 IBM® LinuxONE 不支持 LuaJIT。

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

Service Mesh 已知问题

以下是 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 将生成一条包含以下消息的 警告 事件

    错误处理组件 mesh-config:错误:[mesh-config/templates/telemetryv2_1.6.yaml: 发生内部错误:调用 webhook “rev.validation.istio.io”失败:Post “https://istiod-default.istio-system.svc:443/validate?timeout=10s”: x509: 证书对 istiod.istio-system.svc、istiod-remote.istio-system.svc、istio-pilot.istio-system.svc 有效,而不是 istiod-default.istio-system.svc, mesh-config/templates/enable-mesh-permissive.yaml

  • OSSM-1655 在 SMCP 中启用 mTLS 后,Kiali 仪表板显示错误。

    在 SMCP 中启用 spec.security.controlPlane.mtls 设置后,Kiali 控制台将显示以下错误消息 未定义子集

  • 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.*"
        - "^ibm.*"
        - "^kiali-operator"
  • MAISTRA-2692 随着 Mixer 的移除,在 Service Mesh 2.0.x 中定义的自定义指标无法在 2.1 中使用。可以使用 EnvoyFilter 配置自定义指标。Red Hat 无法支持 EnvoyFilter 配置,除非在文档中明确说明。这是由于与底层 Envoy API 紧密耦合造成的,这意味着无法维护向后兼容性。

  • MAISTRA-2648 服务网格扩展目前与在 IBM Z® 上部署的网格不兼容。

  • 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 项目中创建,并将 组件 设置为 Kiali

以下是 Kiali 中的已知问题

  • OSSM-6299 在 OpenShift Dedicated 4.15 中,当您单击流量图中任何节点菜单的 **节点图** 菜单选项时,不会显示节点图。而是页面将刷新为相同的流量图。目前,此问题没有变通方法。

  • OSSM-6298 当您单击 OpenShift Service Mesh 控制台 (OSSMC) 插件中的项目引用(例如与特定服务相关的负载链接)时,控制台有时会在打开所需页面之前执行多次重定向。如果您在 Web 浏览器中单击 **后退**,则会打开控制台的不同页面,而不是前一个页面。作为变通方法,请单击两次 **后退** 以导航到前一个页面。

  • OSSM-6290 对于 OpenShift Dedicated 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 时,即使元数据服务器不可用,Istioproxy 也能够按预期在 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。此问题现已修复,操作员仅在删除最后一个 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 将鼠标指针拖动到轨迹散点图上有时会导致 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 版本中缺失。从存在此字段的操作员版本升级到缺少此字段的操作员版本时,.spec.security.jwksResolverCA 字段在 SMCP 中不可用。

  • 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。为了与 OpenShift Dedicated 4.8 保持兼容性,从 Red Hat OpenShift Service Mesh 2.0.8 开始,apiextensions.k8s.io/v1beta1 API 已弃用。

  • MAISTRA-2631 WASM 功能无法正常工作,因为 podman 由于缺少 nsenter 二进制文件而失败。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+)时,OpenShift Dedicated 网络插件无法快速配置命名空间。服务网格超时导致命名空间不断从服务网格中删除然后重新加入。

  • 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][警告][misc] [external/envoy/source/common/protobuf/utility.cc:129] 使用已弃用的选项“envoy.api.v2.listener.Filter.config”。Envoy 将很快移除此配置。

    • [2019-08-12 22:12:59.001][13][警告][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 OpenShift Dedicated 自定义资源详情页面中的切换控件无法正确更新 CR。OpenShift Dedicated Web 控制台中服务网格控制平面 (SMCP) 概述页面中的 UI 切换控件有时会更新资源中的错误字段。要更新 SMCP,请直接编辑 YAML 内容或从命令行更新资源,而不是单击切换控件。