1.8. 管理 Red Hat OpenShift GitOps 附加组件


OpenShift GitOps 附加组件自动化受管集群的部署和生命周期管理。根据您的架构和连接要求,决定是否使用 ArgoCD 代理组件部署 GitOps 附加组件。否则,您可以在没有 ArgoCD 代理的情况下部署 OpenShift GitOps 附加组件。

重要: 如果使用 GitOpsCluster 自定义资源启用 OpenShift GitOps 附加组件,则 GitOpsCluster 会禁用所有应用程序的 Push Model

启用 OpenShift GitOps 附加组件时,您有以下部署模式:

  • 基本模式 :通过 GitOpsCluster 自定义资源在受管集群中部署 OpenShift GitOps operator 和 ArgoCD 实例。
  • agent 模式 :包括所有基本模式组件以及用于增强基于拉取的架构的 ArgoCD 代理。

要为所选受管集群启用 OpenShift GitOps 附加组件,请引用 放置,并使用 GitOpsCluster 自定义资源作为启用的接口。

先决条件

如果要使用 ArgoCD 代理启用 OpenShift GitOps 附加组件,请使用 Agent 模式。请参阅使用 ArgoCD 代理启用 Red Hat OpenShift GitOps 附加组件

如果要在没有 ArgoCD 代理的情况下启用 OpenShift GitOps 附加组件,请使用 Basic 模式。请参阅在没有 ArgoCD 代理的情况下启用 Red Hat OpenShift GitOps 附加组件

1.8.1. 配置 OpenShift GitOps 附加组件设置

OpenShift GitOps 附加组件支持各种配置选项来根据您的要求自定义部署。

OpenShift GitOps 附加组件支持 gitopsAddon 规格中的以下配置选项:

  • 启用 :启用或禁用 GitOps 附加组件。默认值为 false
  • gitOpsOperatorImage : GitOps operator 的自定义容器镜像。
  • gitOpsImage :用于 ArgoCD 组件的自定义容器镜像。
  • redisImage: Redis 的自定义容器镜像。
  • gitOpsOperatorNamespace :部署 GitOps Operator 的命名空间。默认为 openshift-gitops-operator
  • gitOpsNamespace :部署 ArgoCD 实例的命名空间。默认为 'openshift-gitops'。
  • reconcileScope :控制 ArgoCD 协调范围,其中包括 All-NamespacesSingle-Namespace。默认值: Single-Namespaces
  • overrideExistingConfigs: 使用 GitOpsCluster 规格中的新值覆盖现有的 AddOnDeploymentConfig 值。执行任何卸载操作时,必须设置为 true。默认值为 false
  • argoCDAgent:ArgoCD 代理配置子部分。

Argo CD Agent 支持在 argoCDAgent 规格中支持以下配置选项:

  • 启用 :启用或禁用代理。默认 false
  • propagateHubCA: 向受管集群传播 hub 认证机构(CA)证书。默认值是 true
  • Image: 自定义代理容器镜像。
  • serverAddress :覆盖 ArgoCD 代理主体服务器地址。
  • serverPort :覆盖 ArgoCD 代理主体服务器端口。
  • 模式 :代理操作模式。默认值为 managed

要配置 OpenShift GitOps 附加组件设置,请在 hub 集群中完成以下步骤:

  1. 通过使用 GitOpsCluster 添加 YAML 示例,为 OpenShift GitOps 组件自定义容器镜像:

    apiVersion: apps.open-cluster-management.io/v1beta1
    kind: GitOpsCluster
    metadata:
      name: gitops-custom-images
      namespace: openshift-gitops
    spec:
      argoServer:
        argoNamespace: openshift-gitops
      placementRef:
        kind: Placement
        apiVersion: cluster.open-cluster-management.io/v1beta1
        name: all-openshift-clusters
        namespace: openshift-gitops
      gitopsAddon:
        enabled: true
        gitOpsOperatorImage: "registry.redhat.io/openshift-gitops-1/gitops-operator@sha256:..."
        gitOpsImage: "registry.redhat.io/openshift-gitops-1/argocd@sha256:..."
        redisImage: "registry.redhat.io/rhel8/redis-6@sha256:..."
    Copy to Clipboard Toggle word wrap
  2. 运行以下命令来应用 YAML 示例:

    oc apply -f gitopscluster-example.yaml
    Copy to Clipboard Toggle word wrap
  3. 通过使用 GitOpsCluster 添加以下 YAML,自定义部署 OpenShift GitOps 组件的命名空间:

    apiVersion: apps.open-cluster-management.io/v1beta1
    kind: GitOpsCluster
    metadata:
      name: gitops-custom-namespaces
      namespace: openshift-gitops
    spec:
      argoServer:
        argoNamespace: openshift-gitops
      placementRef:
        kind: Placement
        apiVersion: cluster.open-cluster-management.io/v1beta1
        name: all-openshift-clusters
        namespace: openshift-gitops
      gitopsAddon:
        enabled: true
        gitOpsOperatorNamespace: openshift-gitops-operator
        gitOpsNamespace: openshift-gitops
    Copy to Clipboard Toggle word wrap
  4. 运行以下命令来应用 YAML 示例:

    oc apply -f gitopscluster-example.yaml
    Copy to Clipboard Toggle word wrap
  5. 通过使用 GitOpsCluster 添加以下 YAML,指定 ArgoCD 代理是否可以在所有命名空间中协调应用程序:

    apiVersion: apps.open-cluster-management.io/v1beta1
    kind: GitOpsCluster
    metadata:
      name: gitops-reconcile-scope
      namespace: openshift-gitops
    spec:
      argoServer:
        argoNamespace: openshift-gitops
      placementRef:
        kind: Placement
        apiVersion: cluster.open-cluster-management.io/v1beta1
        name: all-openshift-clusters
        namespace: openshift-gitops
      gitopsAddon:
        enabled: true
        reconcileScope:
    Copy to Clipboard Toggle word wrap
    1. 对于 reconcileScope 字段,如果您希望 ArgoCD 实例在所有命名空间中协调应用程序,请为它赋予 All-Namespaces 值。
    2. 对于 reconcileScope 字段,如果您希望 ArgoCD 实例仅在自己的命名空间中协调应用程序,请为它赋予它。
  6. 运行以下命令来应用 YAML 示例:

    oc apply -f gitopscluster-example.yaml
    Copy to Clipboard Toggle word wrap

1.8.2. 其他资源

您可以跳过您不需要的特定 OpenShift GitOps 附加组件功能。请参阅跳过 OpenShift GitOps 附加组件强制

要验证 OpenShift GitOps 附加组件是否正常工作,请参阅验证 {gitops-short)附加组件功能

要验证 ArgoCD 代理是否正常工作,请参阅验证 ArgoCD 代理功能

要了解更多有关 OpenShift GitOps 的信息,请参阅以下文档:

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2025 Red Hat