搜索

2.10. 为独立版本准备 GitOps ZTP 站点配置存储库

download PDF

您可以使用 GitOps ZTP 管理运行不同版本的 OpenShift Container Platform 的受管集群的源自定义资源(CR)。这意味着,在 hub 集群中运行的 OpenShift Container Platform 版本可以独立于受管集群上运行的版本。

注意

以下流程假设您使用 PolicyGenerator 资源而不是 PolicyGentemplate 资源进行集群策略管理。

先决条件

  • 已安装 OpenShift CLI(oc)。
  • 您已以具有 cluster-admin 权限的用户身份登录。

流程

  1. 使用 SiteConfigPolicyGenerator CR 的单独路径创建一个目录结构。
  2. PolicyGenerator 目录中,为您要提供的每个 OpenShift Container Platform 版本创建一个目录。对于每个版本,创建以下资源:

    • 明确包含该目录中文件的 kustomization.yaml 文件
    • source-crs 目录,其中包含 ztp-site-generate 容器中的引用 CR 配置文件

      如果要使用用户提供的 CR,必须为它们创建一个单独的目录。

  3. /siteconfig 目录中,为您要提供的每个 OpenShift Container Platform 版本创建一个子目录。对于每个版本,至少创建一个目录,用于从容器中复制引用 CR。对目录命名或引用目录数量没有限制。如果要使用自定义清单,必须为它们创建单独的目录。

    以下示例描述了对不同 OpenShift Container Platform 版本使用用户提供的清单和 CR 的结构:

    ├── acmpolicygenerator
    │   ├── kustomization.yaml 1
    │   ├── version_4.13 2
    │   │   ├── common-ranGen.yaml
    │   │   ├── group-du-sno-ranGen.yaml
    │   │   ├── group-du-sno-validator-ranGen.yaml
    │   │   ├── helix56-v413.yaml
    │   │   ├── kustomization.yaml 3
    │   │   ├── ns.yaml
    │   │   └── source-crs/ 4
    │   │      └── reference-crs/ 5
    │   │      └── custom-crs/ 6
    │   └── version_4.14 7
    │       ├── common-ranGen.yaml
    │       ├── group-du-sno-ranGen.yaml
    │       ├── group-du-sno-validator-ranGen.yaml
    │       ├── helix56-v414.yaml
    │       ├── kustomization.yaml 8
    │       ├── ns.yaml
    │       └── source-crs/ 9
    │         └── reference-crs/ 10
    │         └── custom-crs/ 11
    └── siteconfig
        ├── kustomization.yaml
        ├── version_4.13
        │   ├── helix56-v413.yaml
        │   ├── kustomization.yaml
        │   ├── extra-manifest/ 12
        │   └── custom-manifest/ 13
        └── version_4.14
            ├── helix57-v414.yaml
            ├── kustomization.yaml
            ├── extra-manifest/ 14
            └── custom-manifest/ 15
    1
    创建顶级 kustomization YAML 文件。
    2 7
    在自定义 /acmpolicygenerator 目录中创建特定于版本的目录。
    3 8
    为每个版本创建一个 kustomization.yaml 文件。
    4 9
    为每个版本创建一个 source-crs 目录,使其包含 ztp-site-generate 容器中的引用 CR。
    5 10
    为从 ZTP 容器中提取的策略 CR 创建 reference-crs 目录。
    6 11
    可选:为用户提供的 CR 创建一个 custom-crs 目录。
    12 14
    在自定义 /siteconfig 目录中创建一个目录,使其包含 ztp-site-generate 容器的额外清单。
    13 15
    创建用于存放用户提供的清单的文件夹。
    注意

    在上例中,自定义 /siteconfig 目录中的每个版本子目录包含两个进一步的子目录,一个子目录包含从容器中复制的引用清单,另一个用于您提供的自定义清单。分配给这些目录的名称是示例。如果使用用户提供的 CR,则 SiteConfig CR 中的 extraManifests.searchPaths 下列出的最后一个目录必须是包含用户提供的 CR 的目录。

  4. 编辑 SiteConfig CR,使其包含您创建的任何目录的搜索路径。extraManifests.searchPaths 下列出的第一个目录必须是包含引用清单的目录。考虑列出目录的顺序。如果目录包含相同名称的文件,则最终目录中的文件将具有优先权。

    SiteConfig CR 示例

    extraManifests:
        searchPaths:
        - extra-manifest/ 1
        - custom-manifest/ 2

    1
    包含引用清单的目录必须首先列在 extraManifests.searchPaths 下。
    2
    如果您使用用户提供的 CR,则 SiteConfig CR 中的 extraManifests.searchPaths 下列出的最后一个目录必须是包含这些用户提供的 CR 的目录。
  5. 编辑顶级 kustomization.yaml 文件,以控制哪些 OpenShift Container Platform 版本处于活跃状态。以下是顶层的 kustomization.yaml 文件示例:

    resources:
    - version_4.13 1
    #- version_4.14 2
    1
    激活版本 4.13。
    2
    使用注释取消激活版本。
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.