5.4. 可选:使用 BMO 管理用户置备的集群中的现有主机
另外,您可以通过为现有主机创建一个 BareMetalHost
对象来管理用户置备的集群中的现有裸机控制器主机,来使用 Bare Metal Operator (BMO) 来管理用户置备集群中的现有裸机控制器主机。它不是必须的来管理现有用户置备的主机;但是,您可以将它们注册为外部置备主机,以实现清单目的。
重要
要使用 BMO 管理现有主机,您必须将 BareMetalHost
自定义资源中的 spec.externallyProvisioned
规格设置为 true
,以防止 BMO 重新置备主机。
先决条件
- 您创建了用户置备的裸机集群。
- 您有到主机的基板管理控制器 (BMC) 访问权限。
-
通过创建一个
Provisioning
CR,在集群中部署了置备服务。
流程
创建
Secret
CR 和BareMetalHost
CR。将以下 YAML 保存到
controller.yaml
文件中:--- apiVersion: v1 kind: Secret metadata: name: controller1-bmc namespace: openshift-machine-api type: Opaque data: username: <base64_of_uid> password: <base64_of_pwd> --- apiVersion: metal3.io/v1alpha1 kind: BareMetalHost metadata: name: controller1 namespace: openshift-machine-api spec: bmc: address: <protocol>://<bmc_url> 1 credentialsName: "controller1-bmc" bootMACAddress: <nic1_mac_address> customDeploy: method: install_coreos externallyProvisioned: true 2 online: true userData: name: controller-user-data-managed namespace: openshift-machine-api
运行以下命令来创建裸机主机对象:
$ oc create -f controller.yaml
输出示例
secret/controller1-bmc created baremetalhost.metal3.io/controller1 created
验证
运行以下命令,验证 BMO 创建了裸机主机对象:
$ oc get bmh -A
输出示例
NAMESPACE NAME STATE CONSUMER ONLINE ERROR AGE openshift-machine-api controller1 externally provisioned true 13s