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 名称与集群名称匹配。

资源描述使用方法

BareMetalHost

包含目标裸机主机 Baseboard Management Controller(BMC)的连接信息。

提供 BMC 访问权限,以便使用 Redfish 协议在目标服务器上加载和引导发现镜像 ISO。

InfraEnv

包含将 OpenShift Container Platform 拉取到目标裸机主机的信息。

与 ClusterDeployment 一起使用,为受管集群生成发现 ISO。

AgentClusterInstall

指定受管集群的配置,如联网和 supervisor (control plane) 节点的数量。安装完成后,显示 kubeconfig 和凭证。

指定受管集群配置信息,并在安装集群期间提供状态。

ClusterDeployment

引用要使用的 AgentClusterInstall

InfraEnv 配合使用,为受管集群生成发现 ISO。

NMStateConfig

提供网络配置信息,如 MACIP 映射、DNS 服务器、默认路由和其他网络设置。如果使用 DHCP,则不需要此操作。

为受管集群的 Kube API 服务器设置静态 IP 地址。

Agent

包含有关目标裸机主机的硬件信息。

当目标机器的发现镜像 ISO 启动时,会在 hub 上自动创建。

ManagedCluster

当集群由 hub 管理时,必须导入并已知的集群。此 Kubernetes 对象提供该接口。

hub 使用这个资源来管理和显示受管集群的状态。

KlusterletAddonConfig

包含要部署到 ManagedCluster 的 hub 提供的服务列表。

告知 hub 部署到 ManagedCluster 的附加服务。

命名空间

hub 上已存在的 ManagedCluster 资源的逻辑空间。每个站点都是唯一的。

将资源传播到 ManagedCluster

Secret

创建两个自定义资源: BMC SecretImage Pull Secret

  • BMC Secret 使用其用户名和密码向目标裸机主机进行身份验证。
  • Image Pull Secret 包含目标裸机主机中安装的 OpenShift Container Platform 镜像的身份验证信息。

ClusterImageSet

包含 OpenShift Container Platform 镜像信息,如存储库和镜像名称。

传递给资源以提供 OpenShift Container Platform 镜像。