1.2.3. 修复的问题
- 当命名空间终止时,源命名空间角色协调失败
在此次更新之前,Red Hat OpenShift GitOps Operator 会尝试在处于
Terminating状态的命名空间中创建或更新角色,当spec.sourceNamespaces包含此类命名空间时。因为 Kubernetes 拒绝在终止命名空间中创建内容,从而导致整个 Argo CD 协调失败并阻止剩余的源命名空间被协调。在这个版本中,Red Hat OpenShift GitOps Operator 使用DeletionTimestamp跳过源命名空间,与受管命名空间的现有行为匹配。因此,即使一个处于终止状态,所有健康命名空间的协调也会成功。- 为 Red Hat OpenShift GitOps 组件优化 DNS 查询行为
在此次更新之前,对短集群主机名的 DNS 查询会触发不必要的上游查找,从而增加 DNS 基础架构的负载。在这个版本中,Red Hat OpenShift GitOps 组件会优化 DNS 查询行为,以最小化不必要的上游查找,从而提高集群性能。
- Dex 服务帐户令牌轮转会导致内存不足错误
在此次更新之前,当 Dex 服务帐户令牌过期时,令牌轮转会修改 Dex 配置,这会触发 Argo CD 服务器和 Dex 进程重启。在每次重启时,内部资源不会被完全释放,从而导致 Argo CD 服务器 pod 中的内存泄漏。随着时间的推移,内存消耗会增加,直到 pod 终止并显示内存不足错误。在这个版本中,服务帐户令牌轮转会在磁盘上处理,而无需修改 Dex 配置,因此 Argo CD 服务器和 Dex 进程将不再重启。Argo CD 服务器 pod 不再遇到令牌轮转导致的内存增长,用户不再受内存不足重启的影响。
注意在这个版本中,下游 Dex 镜像中包含了这个修复。如果您使用上游 Dex 镜像,则不会应用此修复。
- Dex 服务帐户令牌过期,强制用户重新验证
在此次更新之前,当 Dex 服务帐户令牌过期时,Dex 进程会重启并丢弃所有内存签名密钥。因此,验证之前发布的会话令牌会失败,Argo CD 服务器会重复重新初始化其授权供应商,并且登录的用户被强制重新验证。在这个版本中,Dex 服务帐户令牌会在磁盘上轮转,而不重启 Dex 进程。当令牌过期时,用户不再强制重新验证,Argo CD 服务器不再重复重新初始化授权提供程序。
注意在这个版本中,需要一个由 Red Hat OpenShift GitOps 提供的 Dex 镜像。如果您使用自定义或社区 Dex 镜像,则不支持磁盘上的令牌轮转,在启用 OpenShift OAuth 时 Dex pod 将无法 bootstrap。