19.12. ZTP 自定义资源
ZTP 使用自定义资源 (CR) 对象来扩展 Kubernetes API,或将您自己的 API 引入项目或集群中。这些 CR 包含为 RAN 应用程序安装和配置集群所需的站点特定数据。
自定义资源定义 (CRD) 文件定义了您自己的对象类型。将 CRD 部署到受管集群会导致 Kubernetes API 服务器开始为整个生命周期提供指定的 CR。
对于受管集群上 <site>.yaml
文件中的每个 CR,ZTP 使用这些数据在为集群命名的目录中创建安装 CR。
ZTP 提供了在受管集群上定义和安装 CR 的两种方法:在置备单个集群时手动使用,在置备多个集群时采用自动化方法。
- 为单个集群手动创建 CR
- 在为单个集群创建 CR 时使用此方法。这是在大规模部署前测试 CR 的好方法。
- 为多个受管集群自动创建 CR
- 安装多个受管集群时,请使用自动 SiteConfig 方法,例如在最多 100 个集群的批处理中。SiteConfig 使用 ArgoCD 作为站点部署的 GitOps 方法引擎。完成包含部署所需所有参数的站点计划后,策略生成器会创建清单并将其应用到 hub 集群。
两种方法都创建 CR,如下表中所示。在集群站点中,自动发现镜像 ISO 文件会创建一个带有站点名称和具有集群名称的文件的目录。每个集群都有自己的命名空间,所有 CR 都位于该命名空间下。命名空间和 CR 名称与集群名称匹配。
资源 | 描述 | 使用方法 |
---|---|---|
| 包含目标裸机主机 Baseboard Management Controller(BMC)的连接信息。 | 提供 BMC 访问权限,以便使用 Redfish 协议在目标服务器上加载和引导发现镜像 ISO。 |
| 包含将 OpenShift Container Platform 拉取到目标裸机主机的信息。 | 与 ClusterDeployment 一起使用,为受管集群生成发现 ISO。 |
|
指定受管集群的配置,如联网和 supervisor (control plane) 节点的数量。安装完成后,显示 | 指定受管集群配置信息,并在安装集群期间提供状态。 |
|
引用要使用的 |
与 |
|
提供网络配置信息,如 | 为受管集群的 Kube API 服务器设置静态 IP 地址。 |
| 包含有关目标裸机主机的硬件信息。 | 当目标机器的发现镜像 ISO 启动时,会在 hub 上自动创建。 |
| 当集群由 hub 管理时,必须导入并已知的集群。此 Kubernetes 对象提供该接口。 | hub 使用这个资源来管理和显示受管集群的状态。 |
|
包含要部署到 |
告知 hub 部署到 |
|
hub 上已存在的 |
将资源传播到 |
|
创建两个自定义资源: |
|
| 包含 OpenShift Container Platform 镜像信息,如存储库和镜像名称。 | 传递给资源以提供 OpenShift Container Platform 镜像。 |