5.4. 可选:使用 BMO 管理用户置备的集群中的现有主机
另外,您可以通过为现有主机创建一个 BareMetalHost 对象来管理用户置备的集群中的现有裸机控制器主机,来使用 Bare Metal Operator (BMO) 来管理用户置备集群中的现有裸机控制器主机。它不是必须的来管理现有用户置备的主机;但是,您可以将它们注册为外部置备主机,以实现清单目的。
重要
要使用 BMO 管理现有主机,您必须将 BareMetalHost 自定义资源中的 spec.externallyProvisioned 规格设置为 true,以防止 BMO 重新置备主机。
先决条件
- 您创建了用户置备的裸机集群。
- 您有到主机的基板管理控制器 (BMC) 访问权限。
-
通过创建一个
ProvisioningCR,在集群中部署了置备服务。
流程
创建
SecretCR 和BareMetalHostCR。将以下 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: true2 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