1.8. 部署 Red Hat OpenShift GitOps 实例(技术预览)
使用 GitOps 附加组件,您可以为 ArgoCD pull 模型管理所有类型的 Red Hat OpenShift Container Platform 和非 OpenShift Container Platform 受管集群上的 OpenShift GitOps 实例的生命周期。
当您在 hub 集群上在集群命名空间中创建 gitops-addon ManagedClusterAddon 附加组件时,GitOps 附加组件将部署到管理安装、升级和删除 OpenShift GitOps 实例的受管集群中。
GitOps 附加组件部署的 OpenShift GitOps 实例主要用于 Red Hat Advanced Cluster Management ArgoCD pull 模型。因此,您只能访问受管集群中安装的以下组件:
- OpenShift GitOps 应用程序控制器
- OpenShift GitOps repo server
- OpenShift GitOps Redis server
要为 ArgoCD pull 模型部署 OpenShift GitOps 实例,请完成以下部分:
1.8.1. 在受管集群中安装 OpenShift GitOps 实例 复制链接链接已复制到粘贴板!
当您将 Red Hat Advanced Cluster Management 升级到其最新版本时,所有受管集群上的 OpenShift GitOps 实例会自动升级,并与 GitOps 附加组件捆绑。
要在受管集群中安装 OpenShift GitOps 实例,请完成以下步骤:
在 hub 集群中,在所选集群命名空间中应用以下 YAML 示例来创建
managedClusterAddon资源:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 运行以下命令,验证
gitops-addon 控制器是否在受管集群中运行:oc get pods -n open-cluster-management-agent-addon
oc get pods -n open-cluster-management-agent-addonCopy to Clipboard Copied! Toggle word wrap Toggle overflow 运行以下命令,验证 OpenShift GitOps operator 是否在
openshift-gitops-operator命名空间中运行:oc get pods -n openshift-gitops-operator
oc get pods -n openshift-gitops-operatorCopy to Clipboard Copied! Toggle word wrap Toggle overflow 运行以下命令,验证 OpenShift GitOps 实例是否在
openshift-gitops命名空间中运行:oc get pods -n openshift-gitops
oc get pods -n openshift-gitopsCopy to Clipboard Copied! Toggle word wrap Toggle overflow 如果 OpenShift GitOps 实例失败,请检查以下位置的日志,具体取决于您需要检查的故障:
进入受管集群并运行以下命令来检查 GitOps 附加组件控制器的日志:
oc logs -n open-cluster-management-agent-addon -l app=gitops-addon
oc logs -n open-cluster-management-agent-addon -l app=gitops-addonCopy to Clipboard Copied! Toggle word wrap Toggle overflow 进入受管集群并运行以下命令来检查 OpenShift Container Platform GitOps operator Manager 的日志:
oc get pods -n openshift-gitops-operator
oc get pods -n openshift-gitops-operatorCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 进入受管集群并运行以下命令来检查 OpenShift Container Platform GitOps 组件的日志:
oc get pods -n openshift-gitops
oc get pods -n openshift-gitopsCopy to Clipboard Copied! Toggle word wrap Toggle overflow
1.8.2. 升级 OpenShift GitOps 实例和 Operator 复制链接链接已复制到粘贴板!
如果要升级到不是当前版本的版本,您必须手动将 OpenShift GitOps operator 及其实例升级到您想要的版本。
如果将 AddOnDeploymentConfig 附加到 gitops-addon ClusterManagementAddon,则指定的镜像标签始终应用到 OpenShift GitOps operator 及其实例。Operator 及其实例的最新版本不会自动更新。要应用最新版本,请在默认 AddOnDeploymentConfig 中删除自定义镜像设置 GITOPS_OPERATOR_IMAGE, GITOPS_IMAGE, REDIS_IMAGE。
要升级 OpenShift GitOps 实例和 Operator,请完成以下步骤:
通过应用以下 YAML 示例来创建
AddOnDeploymentConfig自定义镜像:Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 添加您想要的任何命名空间。
- 2
- 指定 OpenShift GitOps Operator 的新镜像和标签。例如:
registry.redhat.io/openshift-gitops-1/gitops-rhel8-operator@sha256:73f13a5587bbfbea5a64bd3507120eb83b6be85088139c6d65a9aa9cd56e186a。 - 3
- 指定 OpenShift GitOps 实例的新镜像和标签。例如:
registry.redhat.io/openshift-gitops-1/argocd-rhel8@sha256:706d5c99715eece77616135da2fbf90863b7aef17fd64ab03bf7dd20877490ec。 - 4
- 指定 OpenShift GitOps Redis 的新镜像和标签。例如:
registry.redhat.io/rhel8/redis-6@sha256:a848cc4edb4405846c673187dd68ce66c328dd1ad42f193f5737288c7971399d。
通过应用以下 YAML 示例,将
AddOnDeploymentConfig连接到gitops-addon ClusterManagementAddon,方法是指定addondeploymentconfigs资源的defaultConfig名称和命名空间:Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
AddOnDeploymentConfig中指定的命名空间。
- 在受管集群中,验证 OpenShift GitOps operator Pod 和实例 pod 是否使用新的镜像标签重启。
如果 OpenShift GitOps 实例失败,请检查以下位置的日志,具体取决于您需要检查的故障:
进入受管集群并运行以下命令来检查 GitOps 附加组件控制器的日志:
oc logs -n open-cluster-management-agent-addon -l app=gitops-addon
oc logs -n open-cluster-management-agent-addon -l app=gitops-addonCopy to Clipboard Copied! Toggle word wrap Toggle overflow 进入受管集群并运行以下命令来检查 OpenShift Container Platform GitOps operator Manager 的日志:
oc get pods -n openshift-gitops-operator
oc get pods -n openshift-gitops-operatorCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 进入受管集群并运行以下命令来检查 OpenShift Container Platform GitOps 组件的日志:
oc get pods -n openshift-gitops
oc get pods -n openshift-gitopsCopy to Clipboard Copied! Toggle word wrap Toggle overflow
1.8.3. 删除 OpenShift GitOps 实例和 Operator 复制链接链接已复制到粘贴板!
即使 OpenShift GitOps operator 被删除后,所有依赖 ArgoCD 自定义资源定义(CRD)仍会保留,确保所有现有 ArgoCD 应用程序不会在 Operator 删除时被删除。
您可以将 OpenShift GitOps Operator 重新安装到同一默认命名空间中。始终将 OpenShift GitOps Operator 安装到 default 命名空间 openshift-gitops-operator 中。无论 Operator 安装命名空间是什么,OpenShift GitOps operator 会监视任何命名空间中的 ArgoCD 资源。
要删除 OpenShift GitOps 实例和 Operator,请完成以下步骤:
通过应用以下 YAML 示例来删除 OpenShift GitOps 实例:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 这是您在创建连接到
gitop-addonClusterManagementAddOn的默认AddOnDeploymentConfig时指定的命名空间。
通过应用以下 YAML 示例来删除 OpenShift GitOps operator:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 这是您在创建连接到
gitop-addonClusterManagementAddOn的默认AddOnDeploymentConfig时指定的命名空间。
1.8.4. 在任意命名空间中协调 ArgoCD 应用程序 复制链接链接已复制到粘贴板!
您可以配置 OpenShift GitOps 实例,以协调任意命名空间中的 ArgoCD 应用程序。
要协调任何命名空间中的 ArgoCD 应用程序,请完成以下步骤:
在链接的默认
AddOnDeploymentConfig中,通过应用以下 YAML 示例来指定自定义变量RECONCILE_SCOPE到All-Namespaces:Copy to Clipboard Copied! Toggle word wrap Toggle overflow
1.8.5. 在另一个命名空间中安装 OpenShift GitOps 实例 复制链接链接已复制到粘贴板!
默认情况下,OpenShift GitOps 实例安装在 openshift-gitops 命名空间中。如果要在另一个命名空间中安装 OpenShift GitOps 实例,请完成以下步骤:
通过应用以下 YAML 示例来删除 OpenShift GitOps 实例:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 这是您在创建连接到
gitop-addonClusterManagementAddOn的默认AddOnDeploymentConfig时指定的命名空间。
运行以下命令验证 OpenShift GitOps 实例是否已移除:
oc get pods -n openshift-gitops
oc get pods -n openshift-gitopsCopy to Clipboard Copied! Toggle word wrap Toggle overflow 通过应用以下 YAML 示例,将 OpenShift GitOps 实例安装到另一个命名空间中:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 这是您在创建连接到
gitop-addonClusterManagementAddOn的默认AddOnDeploymentConfig时指定的命名空间。
运行以下命令,验证 OpenShift GitOps 实例是否在新命名空间中应用:
oc get pods -n openshift-gitops-2
oc get pods -n openshift-gitops-2Copy to Clipboard Copied! Toggle word wrap Toggle overflow