19.8. 带有 SiteConfig 资源的高级受管集群配置
您可以使用 SiteConfig
自定义资源 (CR) 在安装时在受管集群中部署自定义功能和配置。
19.8.1. 在 ZTP GitOps 管道中自定义额外的安装清单
您可以定义一组额外的清单,以包含在零接触置备(ZTP) GitOps 管道的安装阶段。这些清单链接到 siteConfig
自定义资源(CR),并在安装过程中应用到集群。在安装时包括 MachineConfig
CR 可提高安装过程的效率。
先决条件
- 创建一个 Git 存储库,在其中管理自定义站点配置数据。该存储库必须可从 hub 集群访问,并定义为 Argo CD 应用程序的源仓库。
流程
- 创建 ZTP 管道用于自定义集群安装的一组额外清单 CR。
在自定义
/siteconfig
目录中,为您的额外清单创建一个/extra-manifest
文件夹。以下示例演示了一个/siteconfig
示例,带有/extra-manifest
文件夹:siteconfig ├── site1-sno-du.yaml ├── site2-standard-du.yaml └── extra-manifest └── 01-example-machine-config.yaml
-
将自定义额外清单 CR 添加到
siteconfig/extra-manifest
目录。 在
SiteConfig
CR 的extraManifestPath
字段中输入目录名称,例如:clusters: - clusterName: "example-sno" networkType: "OVNKubernetes" extraManifestPath: extra-manifest
-
保存
SiteConfig
CR 和/extra-manifest
CR,并将它们推送到站点配置存储库。
ZTP 管道在集群置备过程中将 /extra-manifest
目录中的 CR 附加到默认额外清单集合中。
19.8.2. 使用 siteConfig 过滤器过滤自定义资源
通过使用过滤器,您可以轻松地自定义 SiteConfig
自定义资源 (CR) 来包含或排除其他 CR,以便在零 touch 置备 (ZTP) GitOps 管道的安装阶段使用。
您可以为 SiteConfig
CR 指定一个 inclusionDefault
值(include
或 exclude
),以及您要包含或排除的特定 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 应用程序的源仓库。
流程
要防止 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。保存
SiteConfig
CR,并将更改推送到站点配置存储库。ZTP 管道会监控和调整它根据
SiteConfig
过滤器指令所应用的 CR。可选: 要防止 ZTP 管道在集群中应用所有
/source-crs/extra-manifest
CR,请在SiteConfig
CR 中应用以下 YAML:- clusterName: "site1-sno-du" extraManifests: filter: inclusionDefault: exclude
可选: 要排除所有
/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
以下示例演示了自定义文件夹结构:
siteconfig ├── site1-sno-du.yaml └── user-custom-manifest └── custom-sctp-machine-config-worker.yaml