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-Namespaces或Single-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 集群中完成以下步骤:
通过使用
GitOpsCluster添加 YAML 示例,为 OpenShift GitOps 组件自定义容器镜像:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 运行以下命令来应用 YAML 示例:
oc apply -f gitopscluster-example.yaml
oc apply -f gitopscluster-example.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 通过使用
GitOpsCluster添加以下 YAML,自定义部署 OpenShift GitOps 组件的命名空间:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 运行以下命令来应用 YAML 示例:
oc apply -f gitopscluster-example.yaml
oc apply -f gitopscluster-example.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 通过使用
GitOpsCluster添加以下 YAML,指定ArgoCD代理是否可以在所有命名空间中协调应用程序:Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
对于
reconcileScope字段,如果您希望ArgoCD实例在所有命名空间中协调应用程序,请为它赋予All-Namespaces值。 -
对于
reconcileScope字段,如果您希望ArgoCD实例仅在自己的命名空间中协调应用程序,请为它赋予它。
-
对于
运行以下命令来应用 YAML 示例:
oc apply -f gitopscluster-example.yaml
oc apply -f gitopscluster-example.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow
1.8.2. 其他资源 复制链接链接已复制到粘贴板!
您可以跳过您不需要的特定 OpenShift GitOps 附加组件功能。请参阅跳过 OpenShift GitOps 附加组件强制。
要验证 OpenShift GitOps 附加组件是否正常工作,请参阅验证 {gitops-short)附加组件功能。
要验证 ArgoCD 代理是否正常工作,请参阅验证 ArgoCD 代理功能。
要了解更多有关 OpenShift GitOps 的信息,请参阅以下文档: