发行注记


Red Hat OpenShift GitOps 1.16

OpenShift GitOps 发行版本的主要新功能及变化信息

Red Hat OpenShift Documentation Team

摘要

此发行注记介绍了 OpenShift GitOps 的新功能、功能增强、重要的技术变化、以及对以前版本中的错误作出的主要修正。另外,还包括在此版本正式发行(GA)时存在的已知问题的信息。

第 1 章 Red Hat OpenShift GitOps 发行注记

注意

如需有关 OpenShift GitOps 生命周期和支持的平台的更多信息,请参阅 OpenShift Operator 生命周期和 Red Hat OpenShift Container Platform 生命周期政策

发行注记包含有关新的和已弃用的功能、破坏更改以及已知问题的信息。以下发行注记适用于 OpenShift Container Platform 的最新 OpenShift GitOps 版本。

Red Hat OpenShift GitOps 是为云原生应用程序实施持续部署的一种声明方法。当应用程序部署到不同环境中的不同集群时,Red Hat OpenShift GitOps 可确保应用程序的一致性,如开发、临时和生产环境。Red Hat OpenShift GitOps 可帮助您自动执行以下任务:

  • 确保集群具有类似的配置、监控和存储状态
  • 从已知状态恢复或重新创建集群
  • 对多个 OpenShift Container Platform 集群应用或恢复配置更改
  • 将模板配置与不同环境关联
  • 在集群间(从调试到生产阶段)推广应用程序。

如需 Red Hat OpenShift GitOps 的概述,请参阅关于 Red Hat OpenShift GitOps

1.1. 兼容性和支持列表

这个版本中的一些功能当前还只是一个技术预览。它们并不适用于在生产环境中使用。

在下表中,被标记为以下状态的功能:

  • TP: 技术预览
  • GA: 正式发行
  • NA:不适用
重要
  • 在 OpenShift Container Platform 4.13 中,stable 频道已被删除。在升级到 OpenShift Container Platform 4.13 之前,如果您已在 stable 频道中,请选择适当的频道并切换到它。
  • IBM Power 上的 OpenShift Container Platform 4.12 的维护支持自 2024 年 7 月 17 日结束。如果您在 OpenShift Container Platform 4.12 上使用 Red Hat OpenShift GitOps,请升级到 OpenShift Container Platform 4.13 或更高版本。
OpenShift GitOps组件版本OpenShift 版本

Version

kam

Argo CD CLI

Helm

Kustomize

Argo CD

Argo Rollouts

Dex

RH SSO

 

1.16.0

不适用

2.14.7 TP

3.16.4 GA

5.4.3 GA

2.14.4 GA

1.8.0 GA

2.41.1 GA

7.6.0 GA

4.12-4.18

1.15.0

不适用

2.13.1 TP

3.15.4 GA

5.4.3 GA

2.13.1 GA

1.7.2 GA

2.41.1 GA

7.6.0 GA

4.14-4.17

1.14.0

0.0.51 TP

2.12.3 TP

3.15.2 GA

5.4.2 GA

2.12.3 GA

1.7.1 GA

2.39.1 GA

7.6.0 GA

4.12-4.17

重要
  • 从 Red Hat OpenShift GitOps 1.15 开始,不再为 Red Hat OpenShift GitOps Application Manager 命令行界面(CLI) kam 提供支持。
  • RH SSO 是 Red Hat SSO 的缩写。

1.1.1. 技术预览功能

下表中提到的功能当前还只是一个技术预览 (TP)。它们并不适用于在生产环境中使用。

表 1.1. 技术预览
功能Red Hat OpenShift GitOps 版本中的技术预览(TP)Red Hat OpenShift GitOps 版本中的正式版本(GA)

GitOps argocd CLI 工具

1.12.0

不适用

在非 control plane 命名空间中设置 Argo CD 应用程序

1.12.0

不适用

循环 集群分片算法

1.10.0

不适用

分片的动态扩展

1.10.0

不适用

Argo Rollouts

1.9.0

1.13.0

ApplicationSet Progressive Rollout 策略

1.8.0

不适用

一个应用程序的多个源

1.8.0

不适用

非 control plane 命名空间中的 Argo CD 应用程序

1.7.0

1.13.0

OpenShift Container Platform Web 控制台的 Developer 视角中的 Red Hat OpenShift GitOps Environments 页面 

1.1.0

不适用

1.2. Red Hat OpenShift GitOps 1.16.0 发行注记

Red Hat OpenShift GitOps 1.16.0 现在包括在 OpenShift Container Platform 4.12、4.13、4.14、4.15、4.16、4.17 和 4.18 中。

1.2.1. 勘误更新

1.2.1.1. RHEA-2025:3436 和 RHEA-2025:3412 - Red Hat OpenShift GitOps 1.16.0 安全更新公告

发布日期:2525 年 3 月 30 日

此发行版本中包括的安全修复列表包括在以下公告中:

如果您在 default 命名空间中安装了 Red Hat OpenShift GitOps Operator,请运行以下命令来查看此发行版本中的容器镜像:

$ oc describe deployment gitops-operator-controller-manager -n openshift-gitops-operator

1.2.2. 新功能

  • 在这个版本中,Red Hat OpenShift GitOps 专为在联邦信息处理标准(FIPS)模式下运行的环境而设计。当在为 FIPS 模式配置的 OpenShift Container Platform 上部署时,平台将使用已提交到国家标准与技术研究院(NIST)的 Red Hat Enterprise Linux (RHEL)加密库进行 FIPS 验证。有关启用 OpenShift Container Platform FIPS 支持的更多信息,请参阅 OpenShift Container Platform 文档GITOPS-6365

    注意

    当在为 FIPS 模式配置的 OpenShift Container Platform 集群上部署 Red Hat OpenShift GitOps Operator 时,不支持使用 Keycloak 的 Argo CD 的单点登录(SSO)配置。

  • 在这个版本中,支持屏蔽 Argo CD 用户界面中的 Secret 资源(UI)和命令行界面(CLI)上的敏感注解。引入了一个新的配置密钥 resource.sensitive.mask.annotations。这个键接受以逗号分隔的 .metadata.annotations 键列表。与这些密钥关联的值在 Argo CD UI 和 CLI 中屏蔽,从而增强存储在注解中的敏感信息的安全性。GITOPS-5903
  • 在这个版本中,为配置 respectRBAC 选项提供支持,该选项控制 Argo CD 如何在集群范围的安装中监控集群中的资源。您可以通过 Argo CD 资源更新 ConfigMap 中的 RBAC 配置,允许对资源查看行为更灵活和精细的控制。GITOPS-5212
  • 在这个版本中,您可以直接查看 Argo CD 资源状态失败的原因。错误消息在资源状态中清楚地提供,减少了分析日志以识别故障根本原因的需要。GITOPS-5871
  • 在这个版本中,您可以在 Argo CD 自定义资源(CR)中为 ApplicationSet 控制器配置各种策略。这些策略允许管理员限制对受管 Argo CD Application 资源进行的修改类型,从而增强了对资源管理的控制。如需更多信息,请参阅 ApplicationSet Controller 策略GITOPS-5236
  • 在这个版本中,Argo CD 功能中的 修订历史记录 和回滚 页面会冲突应用程序参数。这个更改减少了滚动浏览输入参数的多行的需求,您可以更有效地导航修订条目。提交 SHA 等重要详情会在冲突部分外保持可见,确保轻松搜索和参考。此功能增强适用于单一和多源应用程序,简化了应用程序类型的用户体验。GITOPS-5082
  • 在这个版本中,Argo CD Operator 添加了对 Argo CD Spec 类型中的 InstallationID 字段的支持,从而更好地管理多实例部署。使用此功能为每个 Argo CD 实例分配唯一标识符,确保在不同实例之间正确区分具有相同名称的应用程序。通过设置 InstallationID 字段,您可以防止应用程序间的冲突,并确保准确跟踪多实例环境中的资源。GITOPS-5432
  • 在这个版本中,在为配置管理插件配置 sidecar 容器时指定容器镜像是可选的。如果省略,则仓库服务器使用的镜像会自动应用到插件。GITOPS-3372

1.2.3. 修复的问题

  • 在此次更新之前,当安装命名空间范围的 GitOps 实例时,argocd-redis ServiceAccounts 被分配 非 root-v2 SecurityContextConstraints (SCC),其提供比标准 restricted-v2 SCC 更多特权,这可能会导致潜在的安全风险。在这个版本中,GitOps 的命名空间范围的和集群范围的实例强制将 restricted-v2 SCC 用于 argocd-redis ServiceAccounts。此更改通过最大程度减少不必要的特权来增强安全合规性。GITOPS-6236
  • 在此次更新之前,Argo CD notification-controller 中的部署触发器可能会错误地在应用程序处于 progressing 状态时发送成功通知。这个问题源自 Argo CD 处理应用程序状态更新的方式。在这个版本中,应用程序状态中引入了一个新的时间戳字段 status.health.lastTransitionTime 来解决这个问题。此字段通过捕获最后一个健康状态更改并启用 on-deployed 触发器来在稳定转换后发送通知,从而防止误报警报。GITOPS-3699
  • 在此次更新之前,在升级过程中,argocd-redis-ha-configmap,argocd-redis-ha-health-configmap, 和 Redis HA StatefulSet 资源没有正确更新。这会导致 Redis HA pod 遇到 AUTH 错误。在这个版本中,GitOps Operator 在升级过程中可以正确地更新 Redis HA 配置映射和 StatefulSet。因此,Red Hat Redis HA pod 会被禁止在升级后进入 AUTH 错误状态。GITOPS-5975
  • 在此次更新之前,Red Hat OpenShift GitOps Operator 不会协调 Redis 部署中的 serviceAccountNameserviceAccount 字段的任何更改。在这个版本中,通过确保对这些字段的任何意外更改被重置为预期值 < argocd-instance-name>-argocd-redis 来解决。GITOPS-6032
  • 在此次更新之前,Argo CD 仅依赖于 子声明 来进行用户识别,这可能是 Dex 的非确定性,并导致意外的基于角色的访问控制(RBAC)策略失败。在这个版本中,Argo CD 按照以下顺序标识用户:

    • 当 Dex 是身份提供程序时,检查 federated_claims.user_id 字段。
    • 如果联邦声明不可用或为空,它将回退到子声明。

    在这个版本中,这个问题已被解决。此更改可确保 RBAC 策略基于实际用户标识符,如电子邮件地址而不是编码的值。

    Example

    Old method (encoded sub value):
    g, ChdiZWhuaWEuZkBtdG5pcmFuY2VsbC5pchICYWQ, role:admin
    New method (actual user identifier):
    g, user@example.com, role:admin

    GITOPS-5812

  • 在此次更新之前,当因为网络或 DNS instabilities 访问 Redis 实例时,Argo CD 组件(如服务器、repo- server application-controller )可能会崩溃。当连接池中的多个连接调用 dial hook 函数时,这个问题源自 go-redis 客户端库中的一个竞争条件。在这个版本中,这个问题已被解决。在这个版本中,集成一个更新的 go-redis 客户端库解决了这个问题,该库消除了 dial hook 功能调用过程中的竞争条件。它还改进了从网络和 DNS 错误进行处理和恢复,确保 Argo CD 组件的稳定性更高。GITOPS-6287
  • 在此次更新之前,将 Red Hat OpenShift GitOps Operator 升级到 v1.15.1 会引发一个健康检查错误,阻止 Red Hat Advanced Cluster Management (ACM)策略同步。在这个版本中,通过将缺少的 nil 检查添加到 Policystatus.placement 解决了这个问题。GITOPS-6500

1.2.4. 已知问题

  • 目前存在一个已知问题:从 GitOps v1.15 升级到 v1.16 后,将一个较低 SecurityContextConstraints (SCC)分配给 GitOps v1.16 中的 Redis 服务帐户。GitOps Operator 不会更新 redis-ha-server StatefulSetsecurityContext,这会导致容器的用户被静态设置,而不是根据 restricted-v2 SCC 随机分配。redis-ha-server StatefulSet pod 保留旧配置,且不会使用新设置进行更新。因此,StatefulSet 的新配置不会被正确应用。

    临时解决方案:手动删除 redis-ha-server StatefulSet,以使用更新的设置触发 pod 的重新创建。GITOPS-6670

1.2.5. 弃用和删除的功能

1.2.5.1. 在 Argo CD 中弃用 .spec.initialRepositories.spec.repositoryCredentials 字段
  • 在 Red Hat OpenShift GitOps v1.16 中,Argo CD CR 中的 .spec.initialRepositories.spec.repositoryCredentials 字段已弃用。以后的发行版本中将不再支持 Red Hat OpenShift GitOps Operator 和 Argo CD CR。更新您的配置,以删除这些字段上的依赖项。使用 Argo CD web UI 或 CLI 添加或修改存储库。GITOPS-5961

法律通告

Copyright © 2025 Red Hat, Inc.
The text of and illustrations in this document are licensed by Red Hat under a Creative Commons Attribution–Share Alike 3.0 Unported license ("CC-BY-SA"). An explanation of CC-BY-SA is available at http://creativecommons.org/licenses/by-sa/3.0/. In accordance with CC-BY-SA, if you distribute this document or an adaptation of it, you must provide the URL for the original version.
Red Hat, as the licensor of this document, waives the right to enforce, and agrees not to assert, Section 4d of CC-BY-SA to the fullest extent permitted by applicable law.
Red Hat, Red Hat Enterprise Linux, the Shadowman logo, the Red Hat logo, JBoss, OpenShift, Fedora, the Infinity logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States and other countries.
Linux® is the registered trademark of Linus Torvalds in the United States and other countries.
Java® is a registered trademark of Oracle and/or its affiliates.
XFS® is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United States and/or other countries.
MySQL® is a registered trademark of MySQL AB in the United States, the European Union and other countries.
Node.js® is an official trademark of Joyent. Red Hat is not formally related to or endorsed by the official Joyent Node.js open source or commercial project.
The OpenStack® Word Mark and OpenStack logo are either registered trademarks/service marks or trademarks/service marks of the OpenStack Foundation, in the United States and other countries and are used with the OpenStack Foundation's permission. We are not affiliated with, endorsed or sponsored by the OpenStack Foundation, or the OpenStack community.
All other trademarks are the property of their respective owners.
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.