5.4.2. 为未置备的 Networker 节点创建 BareMetalHost CR


您必须为每个裸机网络器节点创建一个 BareMetalHost 自定义资源(CR)。您至少需要提供在网络上添加裸机网络节点所需的数据,以便剩余的安装步骤可以访问该节点并执行配置。

注意

如果您使用 ctlplane 接口进行调配,为了避免丢弃流量的内核 rp_filter 逻辑,请将 DHCP 服务配置为使用与 ctlplane 地址范围不同的地址范围。这样可确保返回的流量保留在机器网络接口中。

流程

  1. Bare Metal Operator (BMO)默认管理 openshift-machine-api 命名空间中的 BareMetalHost 自定义资源(CR)。更新 Provisioning CR 以监视所有命名空间:

    $ oc patch provisioning provisioning-configuration --type merge -p '{"spec":{"watchAllNamespaces": true }}'
  2. 如果您将虚拟介质引导用于裸机节点,且节点没有连接到 provisioning 网络,您必须更新 Provisioning CR 以启用 virtualMediaViaExternalNetwork,这样可通过外部网络启用裸机连接:

    $ oc patch provisioning provisioning-configuration --type merge -p '{"spec":{"virtualMediaViaExternalNetwork": true }}'
  3. 在工作站上创建一个文件,用用于访问节点集中每个裸机网络器节点的 Baseboard Management Controller (BMC)凭证定义 Secret CR:

    apiVersion: v1
    kind: Secret
    metadata:
      name: edpm-networker-0-bmc-secret
      namespace: openstack
    type: Opaque
    data:
      username: <base64_username>
      password: <base64_password>
    • <base64_username& gt ; 和 <base64_password > 替换为 base64 编码的字符串。您可以使用以下命令生成 base64 编码的字符串:

      $ echo -n <string> | base64
      提示

      如果您不想对用户名和密码进行 base64encode,您可以使用 stringData 字段而不是 data 字段来设置用户名和密码。

  4. 在工作站上创建一个名为 bmh_networker_nodes.yaml 的文件,该文件为每个裸机 Networker 节点定义 BareMetalHost CR。以下示例使用 provisioning 方法 Redfish 虚拟介质创建一个 BareMetalHost CR:

    apiVersion: metal3.io/v1alpha1
    kind: BareMetalHost
    metadata:
      name: edpm-networker-0
      namespace: openstack
      labels:
        app: openstack-networker
        workload: networker
    spec:
    ...
      bmc:
        address: redfish-virtualmedia+http://192.168.111.1:8000/redfish/v1/Systems/e8efd888-f844-4fe0-9e2e-498f4ab7806d
        credentialsName: edpm-networker-0-bmc-secret
      bootMACAddress: 00:c7:e4:a7:e7:f3
      bootMode: UEFI
      online: false
     [preprovisioningNetworkDataName: <network_config_secret_name>]
    • 标签 元数据标签(如 appworkloadnodeName )是键值对,它为标记节点提供各种粒度级别。在创建 OpenStackDataPlaneNodeSet CR 时,您可以使用这些标签来描述要置备的裸机节点的配置,或者在节点集中定义节点。
    • address - 与节点的 BMC 控制器通信的 URL。有关其他置备方法的 BMC 寻址 的详情,请参考 在裸机上部署安装程序置备的集群 中的 BMC 寻址。
    • credentialsName - 您在上一步中创建的 Secret CR 的名称,用于访问节点的 BMC。
    • preprovisioningNetworkDataName - 可选:本地命名空间中的网络配置 secret 的名称,以传递给预置备镜像。网络配置必须采用 nmstate 格式。

      有关如何创建 BareMetalHost CR 的更多信息,请参阅关于 RHOCP 文档中的 BareMetalHost 资源

  5. 创建 BareMetalHost 资源:

    $ oc create -f bmh_networker_nodes.yaml
  6. 验证 BareMetalHost 资源是否已创建并处于 Available 状态:

    $ oc get bmh
    NAME         STATE            CONSUMER              ONLINE   ERROR   AGE
    edpm-networker-0   Available      openstack-edpm        true             2d21h
    edpm-networker-1   Available      openstack-edpm        true             2d21h
    ...
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

关于红帽文档

Legal Notice

Theme

© 2026 Red Hat
返回顶部