1.4. Release notes for Red Hat OpenShift GitOps 1.17.0
Red Hat OpenShift GitOps 1.17.0 在 OpenShift Container Platform 4.12、4.14、4.15、4.16、4.17、4.18 和 4.19 上提供。
1.4.1. 勘误更新 复制链接链接已复制到粘贴板!
- RHEA-2025:13453 - Red Hat OpenShift GitOps 1.17.0 安全更新公告
发布日期:2525 年 8 月 7 日
此发行版本中包括的增强功能列表包括在以下公告中:
如果您在 default 命名空间中安装了 Red Hat OpenShift GitOps Operator,请运行以下命令来查看此发行版本中的容器镜像:
oc describe deployment gitops-operator-controller-manager -n openshift-gitops-operator
$ oc describe deployment gitops-operator-controller-manager -n openshift-gitops-operator
1.4.2. 新功能 复制链接链接已复制到粘贴板!
- 扩展 JSON 日志记录支持额外的 Argo CD 组件
在这个版本中,
ApplicationSet控制器和通知控制器支持 Argo CD 自定义资源(CR)中的logFormat: json设置。在以前的版本中,JSON 日志记录仅限于 API 服务器、存储库服务器和应用程序控制器等组件。注意Redis 和 Dex 不支持可配置的 JSON 日志记录,且不受此更改的影响。
- Argo CD 代理(技术预览)
在这个版本中,Argo CD Agent 的产品化容器镜像可用,以及 Argo CD 自定义资源(CR)中的自定义属性,以便在 hub 集群中启用主体组件。如需更多信息,请参阅 Argo CD 代理概述。
重要GitOps Argo CD Agent 功能只是一个技术预览功能。技术预览功能不受红帽产品服务等级协议(SLA)支持,且功能可能并不完整。红帽不推荐在生产环境中使用它们。这些技术预览功能可以使用户提早试用新的功能,并有机会在开发阶段提供反馈意见。
有关红帽技术预览功能支持范围的更多信息,请参阅技术预览功能支持范围。
- Argo CD 组件的只读根文件系统
在这个版本中,核心 Argo 组件,如 Application Controller, Server,Repo Server, Notification Controller, Redis, Dex, 和 Argo CD exporter 组件默认使用只读根文件系统运行。这个更改提高了安全性,并将 Operator 配置与上游 Argo CD 标准保持一致。
1.4.3. 修复的问题 复制链接链接已复制到粘贴板!
- 修复了
redis-ha-haproxy的副本数,以确保高可用性 在此次更新之前,配置中的错误会导致
redis-ha-haproxy部署只使用一个副本。这会导致访问 Redis 缓存的问题。在这个版本中,redis-ha-haproxy副本的数量与高可用性(HA)配置匹配。默认情况下会创建三个副本,这提高了 Redis 缓存可用性和弹性。- 修复了 Argo CD Webhook 服务器的无效路由主机名
在此次更新之前,启用
applicationSet.webhookServer.route会导致无效的路由错误,因为默认主机名超过 Kubernetes 标签值限制。此问题会导致应用程序部署失败。在这个版本中,使用 Argo CD 实例名称和命名空间生成默认主机名,确保它保留在有效的长度限制中。在这个版本中解决了错误,并允许成功创建 webhook 服务器路由。- 在
extraCommandArgs中为重复的标志添加支持 在此次更新之前,Argo CD 自定义资源中的
extraCommandArgs字段不支持以不同值多次使用相同的标志。在这个版本中,重复的标记会被正确处理。可以指定多个标志实例,并且所有值都包含在控制器 pod 配置中。- 修复了编辑基于 HTTP 的存储库凭证时的 UI 错误
在此次更新之前,您无法从 Argo CD web UI 编辑 HTTP 存储库凭证。这限制了通过 Web 界面管理基于 HTTP 的存储库配置的能力。在这个版本中,URL 验证逻辑有所改进,您可以在 web UI 中编辑 HTTP 存储库凭证。
1.4.4. 弃用和删除的功能 复制链接链接已复制到粘贴板!
- 在 Red Hat OpenShift GitOps 中弃用 Keycloak 支持
在 Red Hat OpenShift GitOps 1.17 中,基于 Keycloak 的身份验证的支持已弃用。当为单点登录(SSO)配置 Keycloak 时,弃用警告会出现在日志中。Dex 是默认和推荐的身份验证供应商。它与 OpenShift OAuth 服务器集成,并支持基于 OpenShift 用户和组的身份验证。您必须迁移到基于 Dex 的身份验证才能继续支持。要继续使用 Keycloak,您必须部署和管理 Red Hat Build of Keycloak (RHBK) 实例,并在 Argo CD 自定义资源中手动配置集成。
- 删除了对已弃用的
initialRepositories和repositoryCredentials字段的支持 在 Red Hat OpenShift GitOps 1.17 中,删除了对已弃用的
initialRepositories和repositoryCredentials字段的支持。如果使用这些字段,Argo CD 会记录指示其删除的警告。您可以使用 Argo CD CLI 或 Argo CD 仪表板手动添加存储库和存储库凭证。
1.4.5. 已知问题 复制链接链接已复制到粘贴板!
- 基于 SSH 的 Git 存储库连接在 FIPS 模式下失败
目前,在 FIPS 模式中存在一个已知的问题,其中基于 SSH 的 git 存储库连接会失败,因为使用非FIPS 的算法进行 SSH 连接。存储库服务器 pod 失败并显示
panic: curve25519: internal error: scalarBaseMult was not 32 字节错误消息。临时解决方案:在启用了 FIPS 的集群上使用基于 HTTPS 的 Git 存储库连接而不是 SSH。
1.4.6. 可能会造成问题的更改 复制链接链接已复制到粘贴板!
- 升级到 Argo CD 3.0
此发行版本引入了升级到 Argo CD 组件,从 v2.14 转换到 v3.0。这是一个小的升级,它在 Argo CD v3.0 中引入了一个有问题的更改列表,其解决方案在以下部分中提供。如需更多信息,请参阅 将 Argo CD 从 v2.0 升级到 v3.0。
- Argo CD 3.0 和 Dex SSO 的 RBAC 行为更改
当将 Dex 用于单点登录(SSO)时,Argo CD 3.0 引入了 RBAC 处理的更改。RBAC 系统使用
federated_claims.user_id字段,而不是之前编码的子声明。此更改会影响在 RBAC 策略中如何评估和匹配用户身份。您必须查看和更新 RBAC 策略,以确保与 Argo CD 3.0 兼容。如需更多信息,请参阅使用 Dex SSO 身份验证配置 RBAC。- 在 Argo CD 3.0 中记录 RBAC 强制
在此次更新之前,有权访问应用程序的用户也可以查看日志。在这个版本中,Argo CD 3.0 使用单独的 RBAC 资源来控制日志访问,这需要显式权限。如需更多信息,请参阅 日志 RBAC 强制。
- 默认启用细粒度 RBAC 继承
从 Argo CD v3.0 开始,应用程序的细粒度 RBAC 继承被禁用,因此
更新和删除操作仅适用于应用程序资源。要在受管资源上执行这些操作,您必须配置新策略。要维护 Argo CD v2.0 行为,在argocd-cm配置映射中将server.rbac.disableApplicationFineGrainedRBACInheritance参数设置为false。您可以通过在 Argo CD 自定义资源中设置以下配置来启用新的细粒度 RBAC 功能:Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 将
server.rbac.disableApplicationFineGrainedRBACInheritance设置为true以维护 Argo CD v3.0 行为。
如需更多信息,请参阅 Fine-Grained RBAC for application update 和 delete 子资源。
- 向后兼容的更改
为了保持与 Argo CD 3.0 的向后兼容性,Red Hat OpenShift GitOps Operator 默认保留一些之前的行为。您可以选择为这些功能启用新行为。
- 更改默认资源排除配置
从 Argo CD 3.0 开始,
argocd-cm配置映射包含resource.exclusions参数的默认配置。此配置排除了由控制器创建的资源,但不在 Git 中管理。Argo CD 的 v2 行为被保留,您可以继续使用 Argo CD CR 中的.spec.resourceExclusions参数。- 更改默认资源跟踪方法
从 Argo CD 3.0 开始,跟踪资源的默认行为以使用基于注解的跟踪而不是基于标签的跟踪。为了避免破坏使用基于标签跟踪的现有设置,Red Hat OpenShift GitOps Operator 将继续使用基于标签的跟踪作为默认值。
- 在 Redis 中存储资源健康状态
从 Argo CD 3.0 开始,资源健康状态存储在 Redis 中,而不是存储在
ApplicationCR 中。此更改通过避免对ApplicationCR 的更新来提高性能。为了防止依赖此状态的第三方工具(如 Red Hat Advanced Cluster Manager (RHACM))出现问题,Red Hat OpenShift GitOps Operator 默认维护以前的设置。您可以通过在 Argo CD CR 中的.spec.extraCommandArgs中将.controller.resource.health.persist设置为false来覆盖此行为。