19.8. 带有 SiteConfig 资源的高级受管集群配置


您可以使用 SiteConfig 自定义资源 (CR) 在安装时在受管集群中部署自定义功能和配置。

19.8.1. 在 ZTP GitOps 管道中自定义额外的安装清单

您可以定义一组额外的清单,以包含在零接触置备(ZTP) GitOps 管道的安装阶段。这些清单链接到 siteConfig 自定义资源(CR),并在安装过程中应用到集群。在安装时包括 MachineConfig CR 可提高安装过程的效率。

先决条件

  • 创建一个 Git 存储库,在其中管理自定义站点配置数据。该存储库必须可从 hub 集群访问,并定义为 Argo CD 应用程序的源仓库。

流程

  1. 创建 ZTP 管道用于自定义集群安装的一组额外清单 CR。
  2. 在自定义 /siteconfig 目录中,为您的额外清单创建一个 /extra-manifest 文件夹。以下示例演示了一个 /siteconfig 示例,带有 /extra-manifest 文件夹:

    siteconfig
    ├── site1-sno-du.yaml
    ├── site2-standard-du.yaml
    └── extra-manifest
        └── 01-example-machine-config.yaml
  3. 将自定义额外清单 CR 添加到 siteconfig/extra-manifest 目录。
  4. SiteConfig CR 的 extraManifestPath 字段中输入目录名称,例如:

    clusters:
    - clusterName: "example-sno"
      networkType: "OVNKubernetes"
      extraManifestPath: extra-manifest
  5. 保存 SiteConfig CR 和 /extra-manifest CR,并将它们推送到站点配置存储库。

ZTP 管道在集群置备过程中将 /extra-manifest 目录中的 CR 附加到默认额外清单集合中。

19.8.2. 使用 siteConfig 过滤器过滤自定义资源

通过使用过滤器,您可以轻松地自定义 SiteConfig 自定义资源 (CR) 来包含或排除其他 CR,以便在零 touch 置备 (ZTP) GitOps 管道的安装阶段使用。

您可以为 SiteConfig CR 指定一个 inclusionDefault 值(includeexclude),以及您要包含或排除的特定 extraManifest RAN CR 列表。将 inclusionDefault 设置为 include 可使 ZTP 管道在安装过程中应用 /source-crs/extra-manifest 中的所有文件。将 includeDefault 设置为 exclude 的作用相反。

您可以从 /source-crs/extra-manifest 文件夹中排除默认会被包括的 CR。以下示例配置了自定义单节点 OpenShift SiteConfig CR,以在安装时排除 /source-crs/extra-manifest/03-sctp-machine-config-worker.yaml CR。

另外还介绍了一些额外的可选过滤场景。

先决条件

  • 配置了 hub 集群来生成所需的安装和策略 CR。
  • 您创建了 Git 存储库,用于管理自定义站点配置数据。该存储库必须可从 hub 集群访问,并定义为 Argo CD 应用程序的源仓库。

流程

  1. 要防止 ZTP 管道应用 03-sctp-machine-config-worker.yaml CR 文件,在 SiteConfig CR 中应用以下 YAML:

    apiVersion: ran.openshift.io/v1
    kind: SiteConfig
    metadata:
      name: "site1-sno-du"
      namespace: "site1-sno-du"
    spec:
      baseDomain: "example.com"
      pullSecretRef:
        name: "assisted-deployment-pull-secret"
      clusterImageSetNameRef: "openshift-4.10"
      sshPublicKey: "<ssh_public_key>"
      clusters:
    - clusterName: "site1-sno-du"
      extraManifests:
        filter:
          exclude:
            - 03-sctp-machine-config-worker.yaml

    ZTP 管道在安装过程中跳过 03-sctp-machine-config-worker.yaml CR。应用 /source-crs/extra-manifest 中的所有其他 CR。

  2. 保存 SiteConfig CR,并将更改推送到站点配置存储库。

    ZTP 管道会监控和调整它根据 SiteConfig 过滤器指令所应用的 CR。

  3. 可选: 要防止 ZTP 管道在集群中应用所有 /source-crs/extra-manifest CR,请在 SiteConfig CR 中应用以下 YAML:

    - clusterName: "site1-sno-du"
      extraManifests:
        filter:
          inclusionDefault: exclude
  4. 可选: 要排除所有 /source-crs/extra-manifest RAN CR,并在安装过程中包括自定义 CR 文件,编辑自定义 SiteConfig CR 来设置自定义清单文件夹和 include 文件,例如:

    clusters:
    - clusterName: "site1-sno-du"
      extraManifestPath: "<custom_manifest_folder>" 1
      extraManifests:
        filter:
          inclusionDefault: exclude  2
          include:
            - custom-sctp-machine-config-worker.yaml
    1
    <custom_manifest_folder> 替换为包含自定义安装 CR 的文件夹名称,如 user-custom-manifest/
    2
    inclusionDefault 设置为 exclude 以防止 ZTP 管道在安装过程中应用 /source-crs/extra-manifest 中的文件。

    以下示例演示了自定义文件夹结构:

    siteconfig
      ├── site1-sno-du.yaml
      └── user-custom-manifest
            └── custom-sctp-machine-config-worker.yaml
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.