发行注记
OpenShift GitOps 发行版本的主要新功能及变化信息
摘要
第 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 |
| Argo CD CLI | Helm | Kustomize | Argo CD | Argo Rollouts | Dex | RH SSO | |
| 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 |
| 1.13.0 | 0.0.51 TP | 2.11.3 TP | 3.14.4 GA | 5.2.1 GA | 2.11.3 GA | 1.6.6 GA | 2.37.0 GA | 7.6.0 GA | 4.12-4.16 |
| 1.12.0 | 0.0.51 TP | 2.10.3 TP | 3.14.0 GA | 5.2.1 GA | 2.10.3 GA | 1.6.0 TP | 2.36.0 GA | 7.6.0 GA | 4.12-4.15 |
kam是 Red Hat OpenShift GitOps Application Manager 命令行界面 (CLI)。重要在 Red Hat OpenShift GitOps 1.13 或更高版本中,Red Hat OpenShift GitOps Application Manager CLI
kam已被弃用,计划在以后的发行版本中删除。红帽将在当前发行生命周期中提供对这个功能的程序漏洞修复和支持,但这个功能将不再获得改进,并将被删除。作为 Red Hat OpenShift GitOps Application Manager CLIkam的替代选择,您可以使用 Red Hat OpenShift GitOps Operator v1.12 提供的 Argo CD CLI。- RH SSO 是 Red Hat SSO 的缩写。
1.1.1. 技术预览功能 复制链接链接已复制到粘贴板!
下表中提到的功能当前还只是一个技术预览 (TP)。它们并不适用于在生产环境中使用。
| 功能 | Red Hat OpenShift GitOps 版本中的技术预览(TP) | Red Hat OpenShift GitOps 版本中的正式版本(GA) |
|---|---|---|
|
GitOps | 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.14.3 发行注记 复制链接链接已复制到粘贴板!
Red Hat OpenShift GitOps 1.14.3 现在包括在 OpenShift Container Platform 4.12、4.13、4.14、4.15、4.16 和 4.17 中。
1.2.1. 勘误更新 复制链接链接已复制到粘贴板!
发布日期: 2024 年 3 月 20 日
此发行版本中包括的安全修复列表包括在以下公告中:
如果您在 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.2.2. 修复的问题 复制链接链接已复制到粘贴板!
- 在此次更新之前,如果 context 字段包含多个条目,则通知控制器会持续协调,这会生成大量日志。在这个版本中,控制器协调行为已被修复,防止使用多个上下文条目时重复日志条目。GITOPS-5970
1.3. Red Hat OpenShift GitOps 1.14.2 发行注记 复制链接链接已复制到粘贴板!
Red Hat OpenShift GitOps 1.14.2 现在包括在 OpenShift Container Platform 4.12、4.13、4.14、4.15、4.16 和 4.17 中。
1.3.1. 勘误更新 复制链接链接已复制到粘贴板!
发布日期:2424 年 11 月 20 日
此发行版本中包括的安全修复列表包括在以下公告中:
如果您在 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.3.2. 修复的问题 复制链接链接已复制到粘贴板!
- 在此次更新之前,New App 面板在关闭后立即被意外打开时,在字段中输入会导致光标和文本重复闪存。在这个版本中,New App 面板可以正常工作。GITOPS-5671
在此次更新之前,在使用动态扩展功能时,应用程序控制器 pod 会消耗高内存和集群在分片间没有正确分布。在这个版本中,确保集群分布在分片中。GITOPS-3465
如需更多信息,请参阅 web 控制台中的启用分片的动态扩展。
1.4. Red Hat OpenShift GitOps 1.14.1 发行注记 复制链接链接已复制到粘贴板!
Red Hat OpenShift GitOps 1.14.1 现在包括在 OpenShift Container Platform 4.13、4.14、4.15、4.16 和 4.17 中。
1.4.1. 勘误更新 复制链接链接已复制到粘贴板!
发布日期:2424 年 10 月 29 日
此发行版本中包括的安全修复列表包括在以下公告中:
如果您在 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. 修复的问题 复制链接链接已复制到粘贴板!
- 在此次更新之前,作为推荐的做法,在 operator 容器上设置资源限值。但是,这些限制会导致集群中具有大量 secret 和配置映射的功能问题,因为 operator Manager 是一个管理 Argo CD 组件的生命周期的控制器,需要比这些限制允许更多的内存。在这个版本中,管理器容器上设置的资源限值已被删除,以最大程度降低对功能的影响。努力旨在优化未来版本的内存消耗。GITOPS-5665
- 在此次更新之前,当 URL 包含路径或端口号时,Argo CD 无法获取 Helm Open Container Initiative (OCI) registry 的适当传输层安全(TLS)证书。在这个版本中,上游 Argo CD 中引入了一个修复,以正确地解析 URL 并返回有效的证书。GITOPS-5081
- 在此次更新之前,在集群从休眠恢复后,您无法登录到 Amazon Web Services (AWS)集群上的 Red Hat OpenShift Service on Amazon Web Services (AWS)集群上的 Argo CD 实例,以及配置有 Dex 的 SSO 的 Argo CD 实例。登录屏幕将显示在 Dex 配置中指示无效重定向统一资源标识符(URI)的错误。在这个版本中,确保在修改 Argo CD 服务器路由时,在 Argo CD 配置中更新正确的 Dex 重定向 URL 解决了这个问题。GITOPS-4358
1.4.3. 有问题的更改 复制链接链接已复制到粘贴板!
1.4.3.1. 集群范围的推出部署实例安装的额外配置 复制链接链接已复制到粘贴板!
当您升级到 Red Hat OpenShift GitOps v1.14 时,如果要在默认安装命名空间外创建集群范围的推出部署安装,
openshift-gitops必须在Subscription资源的CLUSTER_SCOPED_ARGO_ROLLOUTS_NAMESPACES环境变量中托管它。如果命名空间没有在CLUSTER_SCOPED_ARGO_ROLLOUTS_NAMESPACES环境变量中定义,则 Red Hat OpenShift GitOps Operator 不支持集群范围的推出部署安装。在以前的 Red Hat OpenShift GitOps 版本中,Argo Rollouts 使用了
Subscription资源的NAMESPACE_SCOPED_ARGO_ROLLOUTS_NAMESPACES环境变量来检查您可以在用户定义的命名空间中创建集群范围的 rollouts 实例。GITOPS-5640注意集群范围的推出部署(roll-scoped rollouts)安装功能更改不会影响命名空间范围的推出部署安装的安装行为。
示例:配置
CLUSTER_SCOPED_ARGO_ROLLOUTS_NAMESPACES环境变量Copy to Clipboard Copied! Toggle word wrap Toggle overflow
1.5. Red Hat OpenShift GitOps 1.14.0 发行注记 复制链接链接已复制到粘贴板!
Red Hat OpenShift GitOps 1.14.0 现在包括在 OpenShift Container Platform 4.12、4.13、4.14、4.15、4.16 和 4.17 中。
1.5.1. 勘误更新 复制链接链接已复制到粘贴板!
发布日期:24 年 9 月 18 日
此发行版本中包括的安全修复列表包括在以下公告中:
如果您在 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.5.2. 新功能 复制链接链接已复制到粘贴板!
- 在这个版本中,用户可以自定义集群范围的 Argo CD 实例中 Application Controller 组件的权限。Red Hat OpenShift GitOps Operator 会创建一个聚合的集群角色,您可以配置其权限,将多个集群角色组合成一个角色。GITOPS-4681
在这个版本中,为多源应用程序引进了以下改进:
- 您可以访问修订历史记录,并回滚到特定版本的多源应用程序。Details 视图面板显示多源应用程序中的每个源的最新修订或提交详情。History 和 Rollback 面板显示与每个源关联的修订历史记录;您可以选择要回滚到的版本。GITOPS-4647
- 新的 SOURCES 选项卡显示多源应用的所有源参数。使用 SOURCES 选项卡,您可以使用 Web UI 中的表单查看和编辑参数值。GITOPS-4192
在这个版本中,您可以通过挂载持久性卷来扩展存储库服务器存储。repo 服务器利用
EmptyDir默认存储卷,它有限制,并可能会在涉及大量存储库、可大小的存储库或包含大型清单的存储库的情况下被证明。您可以使用 Argo CD 自定义资源(CR)中的.spec.repo.volumes和.spec.repo.volumeMounts字段根据需要挂载额外存储。GITOPS-4646如需更多信息,请参阅 Repo Server 的 HA。
- 在这个版本中,您可以实施一个替代分片算法,该算法使用与绑定负载的一致哈希。该算法可确保在分片间统一分布受管集群,同时尽量减少配置更改期间重新影响的需求,如受管集群或分片数量调整。GITOPS-3584
在这个版本中,Red Hat OpenShift GitOps 支持 Server 和 Application Controller 组件的
sidecar和init容器。您可以使用 Argo CD CR 中的spec.server.,sidecarContainersspec.controller.sidecarContainers,spec.server.initContainers, 和spec.controller.initContainers字段配置 sidecar 和init容器。GITOPS-5010Copy to Clipboard Copied! Toggle word wrap Toggle overflow 在这个版本中,您可以在 Argo CD 生成的 Kubernetes 事件上公开 Argo CD Application 标签。当为在
argocd-cm配置映射中的resource.includeEventLabelKeys字段中定义的应用程序创建事件时,控制器会将匹配的标签添加到这些事件。此功能增强有助于根据应用程序标签过滤和处理事件。要在 GitOps 环境中设置resource.includeEventLabelKeys字段,请使用 Argo CD CR 中的.spec.extraConfig字段。GitOps Operator 会自动将.spec.extraConfig字段中的这些字段添加到argocd-cm配置映射中。GITOPS-3233Example
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 如需更多信息,请参阅 应用程序事件的标签。
在这个版本中,您可以验证使用 Git 生成器创建的
ApplicationSetCRD 的提交签名。GITOPS-3049注意签名验证不适用于
ApplicationSetCRD Git Generator 中的 templated project 字段。
1.5.3. 修复的问题 复制链接链接已复制到粘贴板!
- 在此次更新之前,用户无法在 Argo CD web UI 或 CLI 中为多源应用程序执行回滚。在这个版本中解决了这个问题,用户可以使用 Argo CD web UI 或 CLI 为多源应用程序执行回滚。GITOPS-3996
-
在此次更新之前,
ApplicationSetController 角色不包括AppProject资源的列表和监视权限。因此,应用程序生成过程中会出现错误。在这个版本中解决了这个问题,为ApplicationSetController 角色授予必要的权限。GITOPS-5401 -
在此次更新之前,因为 Kubernetes v1.29 中引入了新的
.status.lastPhaseTransitionTime字段,Argo CD 无法在 OpenShift Container Platform v4.16 上同步PersistentVolume资源。在这个版本中,修改 Argo CD 中的 Kubernetes 静态方案解决了这个问题。GITOPS-5167 -
在此次更新之前,Red Hat OpenShift GitOps Operator 包含一个竞争条件,其中 OpenShift Service CA 在设置默认 TLS 终止策略前创建 TLS secret。因此,默认策略被设置为
Passthrough而不是Reencrypt。在这个版本中,通过验证 OpenShift Service CA 创建了 secret,确保Reencrypt用作正确的默认策略来解决这个竞争条件。GITOPS-4947 - 在此次更新之前,在 Red Hat OpenShift Service on AWS 集群后,您无法登录到 Argo CD web 控制台 UI,其中包括 GitOps Operator 和使用基于 Dex 的 SSO 配置的 Argo CD 实例,从休眠中恢复。登录屏幕将显示在 Dex 配置中指示无效重定向 URI 的错误。在这个版本中,确保在修改 Argo CD 服务器路由时,在 Argo CD 配置中更新正确的 Dex 重定向 URL 解决了这个问题。GITOPS-4358
在此次更新之前,为 ApplicationSet GitLab SCM 提供程序添加自签名 TLS 证书无法正常工作,因为证书无法在所需卷中挂载。在这个版本中,通过更正卷挂载路径并提供使用此功能的文档解决了这个问题。现在,用户需要确保配置映射的名称为
argocd-appset-gitlab-scm-tls-certs-cm。GITOPS-4801注意TLS 证书配置映射的密钥必须标记为 'cert',因为这充当挂载的证书的文件名。由于将在以后的版本中解决的上游错误,其他密钥名称将无效。以下是可用于挂载 TLS 证书的配置映射示例。
Example
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 如需更多信息,请参阅将 Gitlab SCM 提供程序的自签名 TLS 证书添加到 ApplicationSet Controller。
1.5.4. 有问题的更改 复制链接链接已复制到粘贴板!
1.5.4.1. 带有空 secret 值的集群 secret 复制链接链接已复制到粘贴板!
当您升级到 Red Hat OpenShift GitOps v1.14 时,带有空项目值的集群 secret 不再被归类为适用于所有
Applications和ApplicationSets资源的全局 secret。在之前的 GitOps 版本中,任何
Application或ApplicationSet资源都可以使用与repoUrl字段中指定的 URL 匹配的集群 secret。从 Red Hat OpenShift GitOps v1.14 开始,只考虑与存储库 URL 匹配应用程序的项目的集群 secret。因此,如果集群 secret 被指定为项目 A,分配给项目 B 的应用程序将无法访问该 secret。要允许不同项目间的应用程序使用集群 secret,您必须删除
project字段。如需更多信息,请参阅 Cluster secret scoping changes。GITOPS-5623