2.9. 准备 GitOps ZTP 站点配置存储库


在使用 GitOps Zero Touch Provisioning (ZTP) 管道前,您需要准备 Git 存储库来托管站点配置数据。

先决条件

  • 已配置了 hub 集群 GitOps 应用程序来生成所需的安装和策略自定义资源 (CR)。
  • 已使用 GitOps ZTP 部署受管集群。

流程

  1. 使用 SiteConfigPolicyGenerator,或 PolicyGentemplate CR 的单独路径创建一个目录结构。

    注意

    SiteConfigPolicyGenerator,或 PolicyGentemplate CR 保留在单独的目录中。SiteConfigPolicyGenerator,或 PolicyGentemplate 目录必须包含一个 kustomization.yaml 文件,该文件明确包含该目录中的文件。

  2. 使用以下命令,从 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
  3. 检查 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 包含代表推荐的配置的 SiteConfigPolicyGenerator,或 PolicyGentemplate 文件的示例。
  4. out/source-crs 文件夹和内容复制到 PolicyGeneratorPolicyGentemplate 目录。
  5. 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 提供了等效和改进的功能。
  6. 提交目录结构和 kustomization.yaml 文件并推送到 Git 存储库。初始推送到 Git 的推送应包含 kustomization.yaml 文件。

您可以使用 out/argocd/example 下的目录结构作为 Git 存储库结构和内容的参考。该结构包括用于单节点、三节点和标准集群的 SiteConfigPolicyGenerator,或 PolicyGentemplate 引用 CR。删除您对未使用集群类型的引用。

对于所有集群类型,您必须:

  • source-crs 子目录添加到 acmpolicygeneratorpolicygentemplates 目录中。
  • 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
1
包含 ztp-container 中的引用清单。
2
包含自定义清单。
重要

使用 PolicyGenTemplate CR 管理和监控对受管集群的策略将在即将发布的 OpenShift Container Platform 发行版本中弃用。使用 Red Hat Advanced Cluster Management (RHACM) 和 PolicyGenerator CR 提供了等效的和改进的功能。

有关 PolicyGenerator 资源的更多信息,请参阅 RHACM 策略生成器 文档。

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.