Quick Setup Guide For Metal³

This guide also assumes you are familiar with setting up and deploying Kubernetes using Platform9 Managed Kubernetes (PMK). If not, refer to the getting started with PMK as a prerequisite step. This will also guide you on supported cluster infrastructure, operating systems, and other requirements to get your clusters up and running before you begin deploying VMs or containers on them.

Requirements for Bare-Metal Deployment

  • Enable the Metal³ add on for the cluster.

  • Enable MetalLB - requirement for Metal³.

  • Number of Servers: 1-3 physical servers per cluster (3 Recommended)

    • CPU: Minimum 8 Physical Cores (Recommended 2 Physical Sockets, 8 Cores Each)
    • RAM: Minimum 16 GB, (Recommended 32 GB)
    • Storage: Minimum 100 GB
    • Supported OS
      • CentOS 7+ (64-bit)
      • RHEL 7+ (64-bit)
      • Ubuntu LTS 18.04 (64-bit)
      • Ubuntu LTS 20.04 (64-bit)
  • Networking Requirements for Cluster Nodes

    • Management network to be used as Kubernetes default network for the cluster
    • A second NIC on each server attached to the dedicated provisioning network used by Metal³
  • Networking Requirements for Servers to be Provisioned

    • A NIC on each server attached to the dedicated provisioning network, with PXE Boot enabled
    • Provisioning network should not have DHCP enabled
    • IPMI 2.0 version requirement for BMC

Enabling Metal3

Once you are up and running with PMK, you can start deploying Kubernetes clusters with Metal3 enabled and subsequently add and provision bare-metal hosts. When bringing up Metal3 for the first time, there are two options to enable on a cluster.

Option #1: Navigate to the Metal³ getting started landing page.

  • Select the app switcher in the upper left hand corner and select Metal³

From the "Get Started with Metal³ for Bare Metal Management" page you can select "Create New Cluster" or "Select an Existing Cluster"

  • Selecting "Create New Cluster" will take you to the new cluster creation wizard.

  • Enable and configure both Metal³ and MetaLB.

  • Required configurations

    • Metal³ config

      • PXE Interface Name - This is the name of the PXE network interface on the cluster nodes (example: 'ens1'). The ironic DNSmasq service listens on this interface for any incoming DHCP requests.
      • DHCP Range - Pool of IP addresses that Metal³ can allocate an IP address from for a bare metal node
      • DHCP Gateway - Gateway IP address for the subnet of the provisioning network.
    • MetalLB config

      • Address Pool range - Add an IP range that load balancer services can use.
  • Choose "Select an Existing Cluster" will provide a wizard to select an existing cluster and configure Metal³.

    • From the "Select a Cluster" drop down choose an eligible cluster. (Only clusters on-premises and in good cluster health can have Metal³ enabled.)
    • Enter configuration details for PXE Interface Name, DHCP Range, & DHCP Gateway

Option #2: Navigate to the cluster creation wizard in the PMK SaaS console

  • Select “Add Cluster” in the top-right corner of the infrastructure view.
  • Specify deployment details for your Kubernetes cluster as usual

Enable Metal³ on the cluster

  • Select the Add-ons tab
  • Select the "Deploy MetalLB" option. Enabled by default upon enabling metal3
  • Select the "Enable Metal³" option
  • Enter values for Metal³ configuration parameters as per your network configuration.

    • PXE interface name, DHCP range, and DHCP gateway, are required parameters.
    • Configure MetalLB (required add-on for Metal³)
  • Once the Metal3 is enabled and configured, you will now be able to start adding and provisioning bare metal hosts via the CLI.

Metal³ Dashboard

Once Metal³ is configured the getting started page is replaced with a Metal³ dashboard containing the following info:

  • Metal³ Add-ons Health Status - This provides the health of all deployed Metal³ enabled clusters

  • Metal³ Core Sites - Multiple Metal³ instances can be deployed to accommodate different networks. If all hosts to be managed exist within the DHCP Range provided for the Metal³ configuration then only one Metal³ instance is required, however if host to be managed exist out of that range then additional Metal³ deployments are required. This field also contains the the following info:

    • Hosts - This is the total number of bare metal hosts managed by the named Metal³ instance (combined provisioned & ready).

    • Provisioned - From the total number of available bare metal hosts these are the number of hosts with an OS provisioned already.

    • Ready - From the total number of available bare metal hosts these are the number of hosts (BMC) that are not provisioned and "ready" for an OS

In the example below one bare metal host is available and unprovisioned (No OS).

Once the OS has been deployed (see Deploying Metal³ Hosts) the ready host state will change to Provisioned.

Type to search, ESC to discard
Type to search, ESC to discard
Type to search, ESC to discard