1.2.6. 修复的问题
在当前发行本中解决了以下问题:
1.2.6.1. Service Mesh 修复的问题
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-1668 A new field
spec.security.jwksResolverCA
已添加到版本 2.1SMCP
中,但 2.2.0 和 2.2.1 版本中缺失。当从存在此字段的 Operator 版本升级到缺少此字段的 Operator 版本时,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 控制台显示消息
Sorry, there was a problem.Try a refresh or navigate to a different page.
- OSSM-1074 Pod 注解没有在 pod 中注入。
- OSSM-999 Kiali retention 无法按预期工作。仪表板图中的日历时间会被问候。
-
OSSM-797 Kiali Operator pod 在安装或更新 Operator 时生成
CreateContainerConfigError
。 -
从
kube
开始的 OSSM-722 命名空间从 Kiali 中隐藏。 -
OSSM-569 Prometheus
istio-proxy
容器没有 CPU 内存限值。Prometheusistio-proxy
sidecar 现在使用spec.proxy.runtime.container
中定义的资源限值。 - OSSM-449 VirtualService 和 Service 会导致一个错误 - "Only unique values for domains are permitted.Duplicate entry of domain."
- 具有类似名称的 OSSM-419 命名空间都显示在 Kiali 命名空间列表中,即使命名空间可能无法在 Service Mesh Member Role 中定义。
- OSSM-296 当在 Kiali 自定义资源(CR)中添加健康配置时,不会将其复制到 Kiali configmap 中。
- OSSM-291 在 Kiali 控制台中,在 Applications、Services 和 Workloads 页面中,"Remove Label from Filters"功能无法正常工作。
- OSSM-289 在 Kiali 控制台中,'istio-ingressgateway' 和 'jaeger-query' 服务的服务详情页面中没有显示 Traces。Jaeger 中存在 trace。
- OSSM-287 在 Kiali 控制台中没有显示 Graph 服务中的 trace。
OSSM-285 试图访问 Kiali 控制台时会收到以下错误消息:"Error trying to get OAuth Metadata"。
临时解决方案:重启 Kiali pod。
MAISTRA-2735 当 Red Hat OpenShift Service Mesh 2.1 中协调 SMCP 更改时,Service Mesh Operator 会删除的资源。在以前的版本中,Operator 删除了带有以下标签的资源:
-
maistra.io/owner
-
app.kubernetes.io/version
现在,Operator 会忽略没有包括
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 联邦网关在使用外部证书时不会发送完整的证书链。Service Mesh 联邦出口网关仅发送客户端证书。因为联邦入口网关只知道 root 证书,所以它无法验证客户端证书,除非您将 root 证书添加到联合导入
ConfigMap
中。 -
MAISTRA-2635 替换已弃用的 Kubernetes API。从 Red Hat OpenShift Service Mesh 2.0.8 开始,为保持与 OpenShift Container Platform 4.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 当 Operator 使用
ServiceMeshControlPlane
中的spec.gateways.additionaIngress
创建新的入口网关时,Operator 不会为额外的入口网关创建一个NetworkPolicy
,如默认的 istio-ingressgateway。这导致了来自新网关路由的 503 响应。临时解决方案:在 <istio-system> 命名空间中手动创建
NetworkPolicy
。MAISTRA-2401 CVE-2021-3586 servicemesh-operator:NetworkPolicy 资源为 ingress 资源指定错误的端口。为 Red Hat OpenShift Service Mesh 安装的 NetworkPolicy 资源没有正确指定可访问哪些端口。这允许从任何 pod 访问这些资源上的所有端口。应用到以下资源的网络策略会受到影响:
- Galley
- Grafana
- Istiod
- Jaeger
- Kiali
- Prometheus
- Sidecar injector
-
MAISTRA-2378 当集群被配置为使用带有
ovs-multitenant
的 OpenShiftSDN,且网格包含大量命名空间(200+),OpenShift Container Platform 网络插件无法快速配置命名空间。Service Mesh 超时会导致从服务网格中持续丢弃命名空间,然后重新加入。 - MAISTRA-2370 Handle tombstones in listerInformer。在将事件从命名空间缓存转换为聚合缓存时,更新的缓存代码库没有处理 tombstones,从而导致在 go 中出现 panic 的问题。
MAISTRA-2117 向 operator 添加可选的
ConfigMap
挂载。CSV 现在包含一个可选的ConfigMap
卷挂载,它会挂载smcp-templates
ConfigMap
(如果存在)。如果smcp-templates
ConfigMap
不存在,则挂载的目录为空。创建ConfigMap
时,目录会填充ConfigMap
中的条目,并可在SMCP.spec.profiles
中引用。不需要重启 Service Mesh operator。使用带有修改 CSV 的 2.0 operator 挂载 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 在将
SMCP.status
从 v2 转换为 v1 时,转换 Webhook 会丢弃以下重要字段:- conditions
- components
- observedGeneration
annotations
将 operator 升级到 2.0 可能会破坏使用 maistra.io/v1 版本读取 SMCP 状态的客户端工具。
这还会导致在运行
oc get servicemeshcontrolplanes.v1.maistra.io
时 READY 和 STATUS 列为空。
MAISTRA-1947 技术预览 更新至 ServiceMeshExtensions 不会被应用。
临时解决方案:删除并重新创建
ServiceMeshExtensions
。-
MAISTRA-1983 迁移到 2.0 把带有存在无效
ServiceMeshControlPlane
的系统升级到 2.0.0 的问题无法被简单修复。ServiceMeshControlPlane
资源中的无效项会导致无法恢复的错误。在这个版本中,这个错误可以被恢复。您可以删除无效的资源,并将其替换为新资源或编辑资源来修复错误。有关编辑资源的更多信息,请参阅 [配置 Red Hat OpenShift Service Mesh 安装]。 - MAISTRA-1502 由于在版本 1.0.10 中修复了 CVE,Istio 仪表板将不会出现在 Grafana 的 Home Dashboard 菜单中。要访问 Istio 仪表板,点导航面板中的 Dashboard 菜单,然后选择 Manage 选项卡。
- MAISTRA-1399 Red Hat OpenShift Service Mesh 不再阻止您安装不支持的 CNI 协议。支持的网络配置没有改变。
- MAISTRA-1089 迁移到在非 control plane 命名空间中创建的 2.0 网关将自动删除。从 SMCP spec 中删除网关定义后,您需要手动删除这些资源。
MAISTRA-858 Envoy 日志中以下与 与 Istio 1.1.x 相关的弃用选项和配置相关的信息是正常的:
- [2019-06-03 07:03:28.943][19][warning][misc] [external/envoy/source/common/protobuf/utility.cc:129] Using deprecated option 'envoy.api.v2.listener.Filter.config'。This configuration will be removed from Envoy soon.
- [2019-08-12 22:12:59.001][13][warning][misc] [external/envoy/source/common/protobuf/utility.cc:174] Using deprecated option 'envoy.api.v2.Listener.use_original_dst' from file LDS.proto。This configuration will be removed from Envoy soon.
MAISTRA-806 被逐出的 Istio Operator Pod 会导致 mesh 和 CNI 不能被部署。
临时解决方案:如果在部署 control pane 时
istio-operator
pod 被逐出,删除被逐出的istio-operator
pod。- MAISTRA-681 当 Service Mesh control plane 有多个命名空间时,可能会导致出现性能问题。
- MAISTRA-193 当为 citadel 启用了健康检查功能时,会出现预期外的控制台信息。
- Bugzilla 1821432 OpenShift Container Platform 自定义资源详情页面中的切换控件无法正确更新 CR。OpenShift Container Platform Web 控制台中的 Service Mesh Control Plane (smcp) Overview 页面中的 UI 切换控制有时会更新资源中的错误字段。要更新 SMCP,直接编辑 YAML 内容,或者从命令行更新资源,而不是点击 toggle 控件。