6.7.2. 创建裸机资产
要使用 REST API 创建裸机资产,请执行以下操作:
获取 hub 集群的登录令牌,并通过命令行登录集群。例如:
$ oc login --token=<login_token> --server=https://<hub_cluster_api_url>:6443
使用您要添加到集群的裸机资产详情修改以下 curl 命令,并运行命令。
$ curl --location --request POST '<hub_cluster_api_url>:6443/apis/inventory.open-cluster-management.io/v1alpha1/namespaces/<bare_metal_asset_namespace>/baremetalassets?fieldManager=kubectl-create' \ --header 'Authorization: Bearer <login_token>' \ --header 'Content-Type: application/json' \ --data-raw '{ "apiVersion": "inventory.open-cluster-management.io/v1alpha1", "kind": "BareMetalAsset", "metadata": { "name": "<baremetalasset_name>", "namespace": "<bare_metal_asset_namespace>" }, "spec": { "bmc": { "address": "ipmi://<ipmi_address>", "credentialsName": "<credentials-secret>" }, "bootMACAddress": "<boot_mac_address>", "clusterName": "<cluster_name>", "hardwareProfile": "hardwareProfile", "role": "worker" } }'
-
Replacebaremetalasset-name
使用裸机资产的名称。创建后,受管集群中的BareMetalHost
的名称与 hub 集群上对应的BareMetalAsset
的名称相同。BareMetalHost
名称应始终与对应的BareMetalAsset
名称匹配。 -
使用创建裸机资产的集群命名空间替换
baremetalasset-namespace
。 -
将
out_of_band_ip
和port
替换为裸机资产的地址和端口。对于 Redfish 寻址,请使用以下地址格式:redfish://<out-band-ip>/redfish/v1/Systems/1
。 -
根据计算机角色类型,将
role
替换为worker
、master
或保留为空。role
设置用于将裸机资产与集群中的特定机器角色类型匹配。BareMetalAsset
资源不应用于指定机器角色类型来填充另一个角色。role
角色值被用作键为inventory.open-cluster-management.io/role
的标签的值。这可让集群管理应用程序或用户查询用于特定角色的清单。 使用集群的名称替换
cluster_name
,集群管理应用程序或用户使用该名称查询与特定集群关联的清单。保留这个值为空以创建裸机资产,而不将其添加到集群部署中。注:对于上一个 curl 命令,假设 API 服务器通过 HTTPS 提供,并可以安全地访问。在开发或测试环境中,您可以传递
--insecure
参数。
-
提示: 您可以将 --v=9
附加到 oc
命令来查看生成的操作的原始输出。这对于确定 oc
命令的 REST API 路由非常有用。