이 콘텐츠는 선택한 언어로 제공되지 않습니다.

Chapter 14. Managing bare-metal hosts


You can configure bare-metal hosts directly within OpenShift Container Platform. To provision and manage nodes in a bare-metal cluster, use Machine and MachineSet custom resources (CRs).

14.1. About bare metal hosts and nodes

To provision a Red Hat Enterprise Linux CoreOS (RHCOS) bare-metal host as a node in your cluster, first create a MachineSet custom resource (CR) object that corresponds to bare-metal host hardware.

Bare-metal host compute machine sets describe infrastructure components specific to your configuration. You apply specific Kubernetes labels to these compute machine sets and then update the infrastructure components to run on only those machines.

When you scale up the relevant MachineSet CR that contains a metal3.io/autoscale-to-hosts annotation, Machine CRs are created automatically. OpenShift Container Platform uses Machine CRs to provision the bare-metal node that corresponds to the host as specified in the MachineSet CR.

14.2. Maintaining bare metal hosts

To ensure your cluster inventory accurately reflects your physical infrastructure, maintain the details of the bare-metal host configurations by using the OpenShift Container Platform web console.

Procedure

  1. From the web console, comlete the following steps:

    1. Navigate to Compute Bare Metal Hosts.
    2. Select a task from the Actions drop-down menu.
    3. Manage items such as baseboard management controller (BMC) details, boot MAC address for the host, enable power management, and so on. You can also review the details of the network interfaces and drives for the host.
  2. Move a bare-metal host into maintenance mode. When you move a host into maintenance mode, the scheduler moves all managed workloads off the corresponding bare-metal node. No new workloads are scheduled while in maintenance mode.
  3. Deprovision a bare-metal host in the web console. Deprovisioning a host does the following actions:

    1. Annotates the bare-metal host CR with cluster.k8s.io/delete-machine: true.
    2. Scales down the related compute machine set.

      Note

      Powering off the host without first moving the daemon set and unmanaged static pods to another node can cause service disruption and loss of data.

14.2.1. Adding a bare metal host to the cluster using the web console

To integrate physical hardware into your cluster, you can add bare-metal hosts by using the web console. By adding these hosts, you can provision and manage these nodes directly through the web console.

Prerequisites

  • Install an RHCOS cluster on bare metal.
  • Log in as a user with cluster-admin privileges.

Procedure

  1. In the web console, navigate to Compute Bare Metal Hosts.
  2. Select Add Host New with Dialog.
  3. Specify a unique name for the new bare metal host.
  4. Set the Boot MAC address.
  5. Set the Baseboard Management Console (BMC) Address.
  6. Enter the user credentials for the host’s baseboard management controller (BMC).
  7. Select to power on the host after creation, and select Create.
  8. Scale up the number of replicas to match the number of available bare metal hosts. Navigate to Compute MachineSets, and increase the number of machine replicas in the cluster by selecting Edit Machine count from the Actions drop-down menu.

    Note

    You can also manage the number of bare-metal nodes by using the oc scale command and the appropriate bare-metal compute machine set.

14.2.2. Adding a bare-metal host to the cluster using YAML in the web console

You can add bare-metal hosts to the cluster in the web console by using a YAML file that describes the bare-metal host.

Prerequisites

  • Install a RHCOS compute machine on bare-metal infrastructure for use in the cluster.
  • Log in as a user with cluster-admin privileges.
  • Create a Secret CR for the bare-metal host.

Procedure

  1. In the web console, navigate to Compute Bare Metal Hosts.
  2. Select Add Host New from YAML.
  3. Copy and paste the below YAML, modifying the relevant fields with the details of your host:

    apiVersion: metal3.io/v1alpha1
    kind: BareMetalHost
    metadata:
      name: <bare_metal_host_name>
    spec:
      online: true
      bmc:
        address: <bmc_address>
        credentialsName: <secret_credentials_name>
        disableCertificateVerification: True
      bootMACAddress: <host_boot_mac_address>
    # ...
    Copy to Clipboard Toggle word wrap

    where:

    spec.bmc.credentialsName
    Specifies a reference to a valid Secret CR. The Bare Metal Operator cannot manage the bare-metal host without a valid Secret referenced in the credentialsName. For more information about secrets and how to create them, see "Understanding secrets".
    spec.bmc.disableCertificateVerification
    Specifies whether to require TLS host validation between the cluster and the baseboard management controller (BMC). When this field is set to true, TLS host validation is disabled.
  4. Select Create to save the YAML and create the new bare-metal host.
  5. Scale up the number of replicas to match the number of available bare-metal hosts. Navigate to Compute MachineSets, and increase the number of machines in the cluster by selecting Edit Machine count from the Actions drop-down menu.

    Note

    You can also manage the number of bare-metal nodes by using the oc scale command and the appropriate bare-metal compute machine set.

14.2.3. Automatically scaling machines to the number of available bare-metal hosts

To automatically create the number of Machine objects that matches the number of available BareMetalHost objects, add a metal3.io/autoscale-to-hosts annotation to the MachineSet object.

Prerequisites

  • Install RHCOS bare-metal compute machines for use in the cluster, and create corresponding BareMetalHost objects.
  • Install the OpenShift CLI (oc).
  • Log in as a user with cluster-admin privileges.

Procedure

  1. To configure automatic scaling for a compute machine set, annotate the compute machine set by running the following command:

    $ oc annotate machineset <machineset> -n openshift-machine-api 'metal3.io/autoscale-to-hosts=<any_value>'
    Copy to Clipboard Toggle word wrap
    • <machineset>: Specifies the name of the compute machine set that you want to configure for automatic scaling.
    • <any_value> Specifies is a value, such as true or "".
  2. Wait for the new scaled machines to start.

    Note

    The BareMetalHost object continues to be counted against the MachineSet that the Machine object was created from when the following conditions are met:

    • You use a BareMetalHost object to create a machine in the cluster.
    • You subsequently change labels or selectors on the BareMetalHost.

14.2.4. Removing bare-metal hosts from the provisioner node

In certain circumstances, you might want to temporarily remove bare-metal hosts from the provisioner node. For example, to prevent the management of the number of Machine objects that matches the number of available BareMetalHost objects, add a baremetalhost.metal3.io/detached annotation to the MachineSet object.

Consider an example during provisioning when a bare-metal host reboot is triggered by using the OpenShift Container Platform administration console or as a result of a Machine Config Pool update. In this case, OpenShift Container Platform logs into the integrated Dell Remote Access Controller (iDRAC) and issues a delete of the job queue.

Note

This annotation has an effect for only BareMetalHost objects that are in either Provisioned, ExternallyProvisioned, or Ready/Available states.

Prerequisites

  • Install RHCOS bare-metal compute machines for use in the cluster and create corresponding BareMetalHost objects.
  • Install the OpenShift CLI (oc).
  • Log in as a user with cluster-admin privileges.

Procedure

  1. To configure automatic scaling for a compute machine set, annotate the compute machine set by running the following command:

    $ oc annotate machineset <machineset> -n openshift-machine-api 'baremetalhost.metal3.io/detached'
    Copy to Clipboard Toggle word wrap

    Wait for the new machines to start.

    Note

    When you use a BareMetalHost object to create a machine in the cluster and labels or selectors are subsequently changed on the BareMetalHost, the BareMetalHost object continues to be counted against the MachineSet that the Machine object was created from.

  2. In the provisioning use case, remove the annotation after the reboot is complete by using the following command:

    $ oc annotate machineset <machineset> -n openshift-machine-api 'baremetalhost.metal3.io/detached-'
    Copy to Clipboard Toggle word wrap

14.2.5. Powering off bare-metal hosts by using the web console

You can power off bare-metal cluster hosts in the web console. Before you power off a host, mark the node as unschedulable and drain all pods and workloads from the node.

Prerequisites

  • You have installed a RHCOS compute machine on bare-metal infrastructure for use in the cluster.
  • You have logged in as a user with cluster-admin privileges.
  • You have configured the host to be managed and have added Baseboard Management Console credentials for the cluster host. You can add BMC credentials by applying a Secret custom resource (CR) in the cluster or by logging in to the web console and configuring the bare-metal host to be managed.

Procedure

  1. Navigate to Nodes and select the node that you want to power off. Expand the Actions menu and select Mark as unschedulable.
  2. Manually delete or relocate running pods on the node by adjusting the pod deployments or scaling down workloads on the node to zero. Wait for the drain process to complete.
  3. Navigate to Compute Bare Metal Hosts.
  4. Expand the Options menu for the bare-metal host that you want to power off, and select Power Off.
  5. Select Immediate power off.

14.2.6. Powering off bare-metal hosts by using the CLI

You can power off bare-metal cluster hosts by applying a patch in the cluster by using the OpenShift CLI (oc). Before you power off a host, mark the node as unschedulable and drain all pods and workloads from the node.

Prerequisites

  • You have installed a RHCOS compute machine on bare-metal infrastructure for use in the cluster.
  • You have logged in as a user with cluster-admin privileges.
  • You have configured the host to be managed and have added Baseboard Management Console credentials for the cluster host. You can add BMC credentials by applying a Secret custom resource (CR) in the cluster or by logging in to the web console and configuring the bare-metal host to be managed.

Procedure

  1. Get the name of the managed bare-metal host by entering the following command:

    $ oc get baremetalhosts -n openshift-machine-api -o jsonpath='{range .items[*]}{.metadata.name}{"\t"}{.status.provisioning.state}{"\n"}{end}'
    Copy to Clipboard Toggle word wrap

    Example output

    master-0.example.com  managed
    master-1.example.com  managed
    master-2.example.com  managed
    worker-0.example.com  managed
    worker-1.example.com  managed
    worker-2.example.com  managed
    Copy to Clipboard Toggle word wrap

  2. Mark the node as unschedulable by entering the following command:

    $ oc adm cordon <bare_metal_host>
    Copy to Clipboard Toggle word wrap
    • <bare_metal_host>: Specifies the name of the host that you want to shut down. For example, worker-2.example.com.
  3. Drain all pods on the node by entering the following command:

    $ oc adm drain <bare_metal_host> --force=true
    Copy to Clipboard Toggle word wrap

    Pods that are backed by replication controllers are rescheduled to other available nodes in the cluster.

  4. Safely power off the bare-metal host by entering the following command:

    $ oc patch <bare_metal_host> --type json -p '[{"op": "replace", "path": "/spec/online", "value": false}]'
    Copy to Clipboard Toggle word wrap
  5. After you power on the host, make the node schedulable for workloads by entering the following command:

    $ oc adm uncordon <bare_metal_host>
    Copy to Clipboard Toggle word wrap
Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다. 최신 업데이트를 확인하세요.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

Theme

© 2026 Red Hat
맨 위로 이동