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-5739

    Example

    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

    1
    指定 Argo CD ApplicationSet Controller 的卷名称
    2
    指定 卷类型。它可以是任何 Kubernetes 支持的卷类型,如 emptyDirhostPathconfigMap 等。
    3
    指定要挂载的卷的名称,必须与 卷中定义的卷 名称匹配。
    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 配置 trafficmanagementmetric 插件。在这个版本中,您可以在 RolloutManager CR 中指定 trafficmanagementmetric 插件。当添加、修改或删除这些插件字段时,GitOps Operator 会自动更新配置映射。此功能增强允许用户通过 RolloutManager CR 原生管理流量管理和指标插件,无需手动配置映射更新。 GITOPS-4217
  • 在这个版本中,多源应用程序的 Details 面板中的 Sources 选项卡现在包含两个新按钮:

    • 添加源 :打开一个新的基于表单的面板来添加新源条目。您可以在此面板中指定存储库 URL 和其他特定于源的详细信息。
    • 删除 :允许您从应用程序中删除特定源。

    GITOPS-4175

  • 在这个版本中,用户可以通过在 Argo CD CR 的服务器组件中设置一个新的布尔值字段 enableRolloutsUI,在 Argo CD 实例中启用或禁用 Argo Rollouts UI。GITOPS-3604

    Example

    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

    GITOPS-5808

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.