2.9. 准备 GitOps ZTP 站点配置存储库
在使用 GitOps Zero Touch Provisioning (ZTP) 管道前,您需要准备 Git 存储库来托管站点配置数据。
先决条件
- 已配置了 hub 集群 GitOps 应用程序来生成所需的安装和策略自定义资源 (CR)。
- 已使用 GitOps ZTP 部署受管集群。
流程
使用
SiteConfig
和PolicyGenerator
,或PolicyGentemplate
CR 的单独路径创建一个目录结构。注意将
SiteConfig
和PolicyGenerator
,或PolicyGentemplate
CR 保留在单独的目录中。SiteConfig
和PolicyGenerator
,或PolicyGentemplate
目录必须包含一个kustomization.yaml
文件,该文件明确包含该目录中的文件。使用以下命令,从
ztp-site-generate
容器镜像导出argocd
目录:$ podman pull registry.redhat.io/openshift4/ztp-site-generate-rhel8:v4.16
$ mkdir -p ./out
$ podman run --log-driver=none --rm registry.redhat.io/openshift4/ztp-site-generate-rhel8:v4.16 extract /home/ztp --tar | tar x -C ./out
检查
out
目录是否包含以下子目录:-
out/extra-manifest
包含SiteConfig
用来生成额外清单configMap
的源 CR 文件。 -
out/source-crs
包含PolicyGenerator
用来生成 Red Hat Advanced Cluster Management (RHACM) 策略的源 CR 文件。 -
out/argocd/deployment
包含补丁和 YAML 文件,可在 hub 集群中应用,以便在此过程的下一步中使用。 -
out/argocd/example
包含代表推荐的配置的SiteConfig
和PolicyGenerator
,或PolicyGentemplate
文件的示例。
-
-
将
out/source-crs
文件夹和内容复制到PolicyGenerator
或PolicyGentemplate
目录。 out/extra-manifests 目录包含 RAN DU 集群的参考清单。将
out/extra-manifests
目录复制到SiteConfig
文件夹。此目录应包含来自ztp-site-generate
容器的 CR。不要在此处添加用户提供的 CR。如果要使用用户提供的 CR,您必须为其内容创建另一个目录。例如:example/ ├── acmpolicygenerator │ ├── kustomization.yaml │ └── source-crs/ ├── policygentemplates 1 │ ├── kustomization.yaml │ └── source-crs/ └── siteconfig ├── extra-manifests └── kustomization.yaml
- 1
- 使用
PolicyGenTemplate
CR 管理和部署策略来管理集群将在以后的 OpenShift Container Platform 发行版本中弃用。使用 Red Hat Advanced Cluster Management (RHACM) 和PolicyGenerator
CR 提供了等效和改进的功能。
-
提交目录结构和
kustomization.yaml
文件并推送到 Git 存储库。初始推送到 Git 的推送应包含kustomization.yaml
文件。
您可以使用 out/argocd/example
下的目录结构作为 Git 存储库结构和内容的参考。该结构包括用于单节点、三节点和标准集群的 SiteConfig
和 PolicyGenerator
,或 PolicyGentemplate
引用 CR。删除您对未使用集群类型的引用。
对于所有集群类型,您必须:
-
将
source-crs
子目录添加到acmpolicygenerator
或policygentemplates
目录中。 -
将
extra-manifests
目录添加到siteconfig
目录中。
以下示例描述了单节点集群网络的一组 CR:
example/ ├── acmpolicygenerator │ ├── acm-common-ranGen.yaml │ ├── acm-example-sno-site.yaml │ ├── acm-group-du-sno-ranGen.yaml │ ├── group-du-sno-validator-ranGen.yaml │ ├── kustomization.yaml │ ├── source-crs/ │ └── ns.yaml └── siteconfig ├── example-sno.yaml ├── extra-manifests/ 1 ├── custom-manifests/ 2 ├── KlusterletAddonConfigOverride.yaml └── kustomization.yaml
使用 PolicyGenTemplate
CR 管理和监控对受管集群的策略将在即将发布的 OpenShift Container Platform 发行版本中弃用。使用 Red Hat Advanced Cluster Management (RHACM) 和 PolicyGenerator
CR 提供了等效的和改进的功能。
有关 PolicyGenerator
资源的更多信息,请参阅 RHACM 策略生成器 文档。