1.4. 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.4.1. 勘误更新
1.4.1.1. RHEA-2024:11002 - Red Hat OpenShift GitOps 1.15.0 安全更新公告
发布日期:2424 年 12 月 12 日
此发行版本中包括的安全修复列表包括在以下公告中:
如果您在 default 命名空间中安装了 Red Hat OpenShift GitOps Operator,请运行以下命令来查看此发行版本中的容器镜像:
$ oc describe deployment gitops-operator-controller-manager -n openshift-gitops-operator
1.4.2. 新功能
在这个版本中,Red Hat OpenShift GitOps 支持在
ApplicationSet
Controller 组件中添加额外的卷和卷挂载。您可以通过在 Argo CD 自定义资源(CR)中指定.spec.applicationSet.volumes
和.spec.applicationSet.volumeMounts
字段来配置这些其他资源。GITOPS-5739Example
apiVersion: argoproj.io/v1beta1 kind: ArgoCD metadata: name: argocd-example spec: applicationSet: volumes: - name: <volume_name> 1 emptyDir: {} 2 volumeMounts: - name: <volume_name> 3 mountPath: <mount_path> 4
在这个版本中,用户可以向服务器、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 控制器配置一些副本。在这个版本中,通过向RolloutManager
CR 添加新的.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 中的
RolloutManager
CR 配置trafficmanagement
和metric
插件。在这个版本中,您可以在RolloutManager
CR 中指定trafficmanagement
和metric
插件。当添加、修改或删除这些插件字段时,GitOps Operator 会自动更新配置映射。此功能增强允许用户通过RolloutManager
CR 原生管理流量管理和指标插件,无需手动配置映射更新。GITOPS-4217
在这个版本中,多源应用程序的 Details 面板中的 Sources 选项卡现在包含两个新按钮:
- 添加源 :打开一个新的基于表单的面板来添加新源条目。您可以在此面板中指定存储库 URL 和其他特定于源的详细信息。
- 删除 :允许您从应用程序中删除特定源。
在这个版本中,用户可以通过在 Argo CD CR 的服务器组件中设置一个新的布尔值字段
enableRolloutsUI
,在 Argo CD 实例中启用或禁用 Argo Rollouts UI。GITOPS-3604Example
apiVersion: argoproj.io/v1beta1 kind: ArgoCD metadata: name: argocd spec: server: enableRolloutsUI: true 1
- 1
- 将此值设置为
true
,以配置enableRolloutsUI
字段。
-
在这个版本中,您可以访问在 Argo CD CR 中配置
ApplicationSet
控制器的文档,以使用不同的策略。如需更多信息,请参阅 ApplicationSet Controller 策略。GITOPS-5236
1.4.3. 修复的问题
- 在此次更新之前,当现有 Ingress 的所需状态更改了主机时,不会应用新主机信息。在这个版本中,添加 Ingress 检查以确保在主机更改时更新 Ingress。如果 Ingress 主机有变化,它将使用新值正确更新,确保反映所需的状态。GITOPS-5386
-
在此次更新之前,当服务器服务类型的所需状态从
ClusterIP
改为NodePort
时,不会在不首先删除资源的情况下自动应用到集群。在这个版本中,添加服务器服务检查以将更改应用到服务器服务解决了这个问题。如果服务器服务类型的所需状态发生变化,它将在没有删除资源的情况下自动应用到集群。GITOPS-5385 -
在此次更新之前,在 Argo CD CR 中指定
ApplicationSet
Controller 后,用户无法为 ApplicationSet Controller 设置自定义镜像。在这个版本中,允许用户为ApplicationSet
Controller 设置自定义镜像解决了这个问题。GITOPS-5395 - 在此次更新之前,如果 URL 包含路径或端口号,Argo CD 无法检索 Helm OCI registry 的正确 TLS 证书。在这个版本中,使用上游 Argo CD 中的修复来确保正确解析 URL,允许 Argo CD 检索并返回有效的 TLS 证书。GITOPS-5081
1.4.4. 弃用和删除的功能
1.4.4.1. 删除 Red Hat OpenShift GitOps Application Manager CLI, kam
在这个版本中,删除了对 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
1.4.5. 有问题的更改
1.4.5.1. 更新了 OpenShift API 模式和 insecureEdgeTerminationPolicy
字段更改
在这个版本中,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
-