1.6. Release notes for Red Hat OpenShift GitOps 1.16.0
Red Hat OpenShift GitOps 1.16.0 现在包括在 OpenShift Container Platform 4.12、4.14、4.15、4.16、4.17 和 4.18 中。
1.6.1. 勘误更新 复制链接链接已复制到粘贴板!
发布日期:2525 年 3 月 30 日
此发行版本中包括的安全修复列表包括在以下公告中:
如果您在 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.6.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.6.3. 修复的问题 复制链接链接已复制到粘贴板!
-
在此次更新之前,当安装命名空间范围的 GitOps 实例时,
argocd-redisServiceAccounts被分配非 root-v2SecurityContextConstraints(SCC),其提供比标准restricted-v2SCC 更多特权,这可能会导致潜在的安全风险。在这个版本中,GitOps 的命名空间范围的和集群范围的实例强制将restricted-v2SCC 用于argocd-redisServiceAccounts。此更改通过最大程度减少不必要的特权来增强安全合规性。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 HAStatefulSet资源没有正确更新。这会导致 Redis HA pod 遇到AUTH错误。在这个版本中,GitOps Operator 在升级过程中可以正确地更新 Redis HA 配置映射和StatefulSet。因此,Red Hat Redis HA pod 会被禁止在升级后进入AUTH错误状态。GITOPS-5975 -
在此次更新之前,Red Hat OpenShift GitOps Operator 不会协调 Redis 部署中的
serviceAccountName和serviceAccount字段的任何更改。在这个版本中,通过确保对这些字段的任何意外更改被重置为预期值 <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
Old method (encoded sub value): g, ChdiZWhuaWEuZkBtdG5pcmFuY2VsbC5pchICYWQ, role:admin New method (actual user identifier): g, user@example.com, role:adminCopy to Clipboard Copied! Toggle word wrap Toggle overflow -
当 Dex 是身份提供程序时,检查
-
在此次更新之前,当因为网络或 DNS instabilities 访问 Redis 实例时,Argo CD 组件(如服务器、
repo-和serverapplication-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 检查添加到 Policy 的
status.placement解决了这个问题。GITOPS-6500
1.6.4. 已知问题 复制链接链接已复制到粘贴板!
目前存在一个已知问题:从 GitOps v1.15 升级到 v1.16 后,将一个较低
SecurityContextConstraints(SCC)分配给 GitOps v1.16 中的 Redis 服务帐户。GitOps Operator 不会更新redis-ha-serverStatefulSet的securityContext,这会导致容器的用户被静态设置,而不是根据restricted-v2SCC 随机分配。redis-ha-serverStatefulSetpod 保留旧配置,且不会使用新设置进行更新。因此,StatefulSet的新配置不会被正确应用。临时解决方案:手动删除
redis-ha-serverStatefulSet,以使用更新的设置触发 pod 的重新创建。GITOPS-6670
1.6.5. 弃用和删除的功能 复制链接链接已复制到粘贴板!
-
在 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