发行注记
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 | kam | Argo CD CLI | Helm | Kustomize | Argo CD | Argo Rollouts | Dex | RH SSO | |
| 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 |
| 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 |
-
从 Red Hat OpenShift GitOps 1.15 开始,不再为 Red Hat OpenShift GitOps Application Manager 命令行界面(CLI)
kam提供支持。 - 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 | 1.15.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. Release notes for Red Hat OpenShift GitOps 1.15.4 复制链接链接已复制到粘贴板!
Red Hat OpenShift GitOps 1.15.4 现在包括在 OpenShift Container Platform 4.12、4.14、4.15、4.16 和 4.17 中。
1.2.1. 勘误更新 复制链接链接已复制到粘贴板!
发布日期:2525 年 9 月 4 日
此发行版本中包括的安全修复列表包括在以下公告中:
如果您在 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. Release notes for Red Hat OpenShift GitOps 1.15.3 复制链接链接已复制到粘贴板!
Red Hat OpenShift GitOps 1.15.3 现在包括在 OpenShift Container Platform 4.14、4.15、4.16 和 4.17 中。
1.3.1. 勘误更新 复制链接链接已复制到粘贴板!
发布日期:2525 年 6 月 28 日
此发行版本中包括的安全修复列表包括在以下公告中:
如果您在 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. 修复的问题 复制链接链接已复制到粘贴板!
-
在此次更新之前,RBAC
argocd-rbac-cm配置映射中的范围配置使用'[groups,email]'配置,且没有.spec.rbac.scopes中的相应更改。在转换到 Keycloak SSO 时,这个差异会导致配置映射同步期间发生冲突。在这个版本中,Red Hat OpenShift GitOps Operator 维护现有的 RBAC 范围配置。GITOPS-5977
1.4. Red Hat OpenShift GitOps 1.15.2 发行注记 复制链接链接已复制到粘贴板!
Red Hat OpenShift GitOps 1.15.2 现在包括在 OpenShift Container Platform 4.14、4.15、4.16 和 4.17 中。
1.4.1. 勘误更新 复制链接链接已复制到粘贴板!
发布日期:2525 年 5 月 15 日
此发行版本中包括的安全修复列表包括在以下公告中:
如果您在 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. 修复的问题 复制链接链接已复制到粘贴板!
-
在此次更新之前,您可能会在 Argo CD 组件(如
服务器、repo-server和application-controller)中因为网络或 DNS instabilities 访问 Redis 实例时崩溃。当连接池中的多个连接调用dial hook函数时,这些崩溃来自go-redis客户端库的竞争条件。在这个版本中,集成一个更新的go-redis客户端库,消除除hook功能调用期间的竞争条件可以解决这个问题,并改进了对网络和 DNS 错误的处理和恢复,确保 Argo CD 组件的稳定性更大。GITOPS-6287 -
在此次更新之前,将 Red Hat OpenShift GitOps Operator 升级到 v1.15.1 引发健康检查错误,阻止 Red Hat Advanced Cluster Management (RHACM)策略同步。在这个版本中,将缺少的 nil 检查添加到
.status.placementfor Policy 可解决这个问题。GITOPS-6664 -
在此次更新之前,当将
.spec.source.targetRevision设置为注解的 Git 标签时,Argo CD 会被视为需要协调并恢复集群中的手动更改,尽管禁用自我修复。这个行为与轻量级标签不一致。在这个版本中,当selfHeal设为false时,对实时资源的手动更改将不再恢复,即使您使用注解的 Git 标签作为源,Argo CD 现在一致处理注解和轻量级标签。GITOPS-6150 - 在此次更新之前,当在任何命名空间中部署到任何命名空间和用户工作负载监控支持时,Argo CD 监控会自动工作,不需要手动配置。在这个版本中,如果在非 OpenShift Container Platform 命名空间中部署 Argo CD,您必须在 OpenShift Container Platform 中启用用户工作负载监控。如需更多信息,请参阅 为用户定义的项目启用监控。GITOPS-6251
1.5. Release notes for Red Hat OpenShift GitOps 1.15.1 复制链接链接已复制到粘贴板!
Red Hat OpenShift GitOps 1.15.1 现在包括在 OpenShift Container Platform 4.14、4.15、4.16 和 4.17 中。
1.5.1. 勘误更新 复制链接链接已复制到粘贴板!
发布日期:2525 年 2 月 26 日
此发行版本中包括的安全修复列表包括在以下公告中:
如果您在 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. 修复的问题 复制链接链接已复制到粘贴板!
-
在此次更新之前,Red Hat OpenShift GitOps Operator 不会协调 Redis 部署中的
serviceAccountName和serviceAccount字段的任何更改。在这个版本中,通过确保对这些字段的任何意外更改被重置为预期值 <argocd-instance-name>-argocd-redis来解决。GITOPS-6032 - 在此次更新之前,如果 context 字段包含多个条目,则通知控制器会持续协调,生成大量日志。在这个版本中,控制器的协调行为已被修复,防止使用多个上下文条目时重复的日志条目。GITOPS-5970
-
在此次更新之前,策略健康检查状态,
policy.open-cluster-management.io中的Policy资源,即使策略没有针对任何集群,也会显示为Progressing。在这个版本中,当策略没有针对集群时,健康检查状态会保持Healthy。GITOPS-6162
1.6. Release notes for Red Hat OpenShift GitOps 1.15.0 复制链接链接已复制到粘贴板!
Red Hat OpenShift GitOps 1.15.0 现在包括在 OpenShift Container Platform 4.14、4.15、4.16 和 4.17 中。
1.6.1. 勘误更新 复制链接链接已复制到粘贴板!
发布日期:2424 年 12 月 12 日
此发行版本中包括的安全修复列表包括在以下公告中:
如果您在 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 支持在
ApplicationSetController 组件中添加额外的卷和卷挂载。您可以通过在 Argo CD 自定义资源(CR)中指定.spec.applicationSet.volumes和.spec.applicationSet.volumeMounts字段来配置这些其他资源。GITOPS-5739Example
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 在这个版本中,用户可以向服务器、repo-server、applicationset-controller 和 application-controller pod 添加自定义标签和注解。此功能增强提高了依赖于资源标签或注解用于监控目的的外部系统的可观察性。Argo CD CR 中引入了以下字段来支持此功能:
-
.spec.server.labels -
.spec.server.annotations -
.spec.repo.labels -
.spec.repo.annotations -
.spec.controller.labels -
.spec.controller.annotations -
.spec. applicationSet.labels -
.spec. applicationSet.annotations
如需更多信息,请参阅自定义注解和标签。GITOPS-5674
-
在此次更新之前,用户无法使用
RolloutManager自定义资源(CR)为 Argo Rollouts 控制器配置一些副本。在这个版本中,通过向RolloutManagerCR 添加新的.spec.ha字段来添加高可用性(HA)支持。当您启用高可用性时,GitOps Operator 会自动将副本数设置为 2,激活领导选举机制,并应用默认的反关联性规则来确保冗余和可靠性。GITOPS-5622
- 在这个版本中,GitOps Operator 中的 Argo CD 多源应用程序功能从技术预览(TP)提升到正式发行(GA)。使用此功能定义并管理带有多个源存储库的应用程序。GITOPS-5511
在这个版本中,您可以使用 Kubernetes TLS 类型 secret 为 Argo CD CR 中的 Routes 配置自定义 TLS 证书。在以前的版本中,TLS 数据必须直接嵌入到 Argo CD CR 中,作为纯文本,这可能会因为 TLS 信息敏感性质造成安全风险。
要提高安全性,您必须使用 Kubernetes secret 来管理 TLS 数据。Argo CD CR 中引入的以下字段来引用包含 TLS 数据的
kubernetes.io/tls类型的 Kubernetes secret:-
.spec.server.route.tls.externalCertificate -
.spec.applicationSet.webhookServer.route.tls.externalCertificate -
.spec.prometheus.route.tls.externalCertificate -
.spec.grafana.route.tls.externalCertificate
有关为自定义 TLS 证书 配置路由的更多信息,请参阅为路由自定义 TLS 证书 示例。GITOPS-5232
-
-
在这个版本中,Restricted pod 安全准入(PSA)标签应用到
openshift-gitops命名空间,以确保符合 OpenShift Container Platform 标准。如果您在openshift-gitops命名空间中运行额外的工作负载,请确保它们遵守受限的 PSA 要求。如果遵守受限 PSA 不可行,请使用用户定义的、集群范围的 Argo CD 实例。在这种情况下,PSA 标签不会被 GitOps Operator 应用或控制。GITOPS-5221 -
在此次更新之前,无法使用 Argo Rollouts 中的
RolloutManagerCR 配置trafficmanagement和metric插件。在这个版本中,您可以在RolloutManagerCR 中指定trafficmanagement和metric插件。当添加、修改或删除这些插件字段时,GitOps Operator 会自动更新配置映射。此功能增强允许用户通过RolloutManagerCR 原生管理流量管理和指标插件,无需手动配置映射更新。GITOPS-4217 在这个版本中,多源应用程序的 Details 面板中的 Sources 选项卡现在包含两个新按钮:
- 添加源 :打开一个新的基于表单的面板来添加新源条目。您可以在此面板中指定存储库 URL 和其他特定于源的详细信息。
- 删除 :允许您从应用程序中删除特定源。
在这个版本中,用户可以通过在 Argo CD CR 的服务器组件中设置一个新的布尔值字段
enableRolloutsUI,在 Argo CD 实例中启用或禁用 Argo Rollouts UI。GITOPS-3604Example
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 将此值设置为
true,以配置enableRolloutsUI字段。
-
在这个版本中,您可以访问在 Argo CD CR 中配置
ApplicationSet控制器的文档,以使用不同的策略。如需更多信息,请参阅 ApplicationSet Controller 策略。GITOPS-5236
1.6.3. 修复的问题 复制链接链接已复制到粘贴板!
- 在此次更新之前,当现有 Ingress 的所需状态更改了主机时,不会应用新主机信息。在这个版本中,添加 Ingress 检查以确保在主机更改时更新 Ingress。如果 Ingress 主机有变化,它将使用新值正确更新,确保反映所需的状态。GITOPS-5386
-
在此次更新之前,当服务器服务类型的所需状态从
ClusterIP改为NodePort时,不会在不首先删除资源的情况下自动应用到集群。在这个版本中,添加服务器服务检查以将更改应用到服务器服务解决了这个问题。如果服务器服务类型的所需状态发生变化,它将在没有删除资源的情况下自动应用到集群。GITOPS-5385 -
在此次更新之前,在 Argo CD CR 中指定
ApplicationSetController 后,用户无法为 ApplicationSet Controller 设置自定义镜像。在这个版本中,允许用户为ApplicationSetController 设置自定义镜像解决了这个问题。GITOPS-5395 - 在此次更新之前,如果 URL 包含路径或端口号,Argo CD 无法检索 Helm OCI registry 的正确 TLS 证书。在这个版本中,使用上游 Argo CD 中的修复来确保正确解析 URL,允许 Argo CD 检索并返回有效的 TLS 证书。GITOPS-5081
1.6.4. 弃用和删除的功能 复制链接链接已复制到粘贴板!
在这个版本中,删除了对 Red Hat OpenShift GitOps Application Manager 命令行界面(CLI)
kam的支持。kam组件不再包含在新安装中,且所有引用都已从 Red Hat OpenShift GitOps 文档中删除。GITOPS-4466要在更新后删除
kam资源,请运行以下命令:$ oc delete deployment,service,route kam -n openshift-gitops
$ oc delete deployment,service,route kam -n openshift-gitopsCopy to Clipboard Copied! Toggle word wrap Toggle overflow
1.6.5. 有问题的更改 复制链接链接已复制到粘贴板!
在这个版本中,Red Hat OpenShift GitOps Operator 使用的 OpenShift API 模式已被修改,使其包含来自 Route API 的最新字段,从而导致破坏更改。如果使用 Argo CD CR 中的 Disable 选项配置以下字段,则必须在更新前将其改为 None,以确保与新模式兼容:
-
.spec.server.route.tls.insecureEdgeTerminationPolicy -
.spec.applicationSet.webhookServer.route.tls.insecureEdgeTerminationPolicy -
.spec.prometheus.route.tls.insecureEdgeTerminationPolicy -
.spec.grafana.route.tls.insecureEdgeTerminationPolicy
-