Bare Metal Provider Installation

This document describes how to install the Bare Metal Infrastructure Provider for Immutable Infrastructure.

Prerequisites

Before installing the provider, ensure you have:

  • Access to the global cluster.
  • Access to Customer Portal for downloading plugins.

Downloading

INFO

The bare-metal workflow requires two plugins from Customer Portal:

  1. Alauda Container Platform Kubeadm Provider
  2. Alauda Container Platform Bare Metal Infrastructure Provider (umbrella chart that ships the cluster-api-provider-baremetal-manager and elemental-operator subcharts together)

Download both plugins from the Customer Portal.

Uploading

For detailed instructions on uploading packages, refer to Upload Packages.

Installing

For detailed instructions on installing cluster plugins, refer to Cluster Plugin.

The umbrella chart installs both the bare-metal provider manager and elemental-operator in one step. It also creates the elemental-image-catalog ConfigMap, but with no entries, and the package contains no Alauda OS image. Before you create a cluster, import the Bare Metal OS images into the platform registry and add every Kubernetes version you deploy to the catalog; see OS Images Imported and Image Catalog Populated.

Verifying Installation

After installing the plugins, verify that the controllers and CRDs are present:

# Provider manager + elemental-operator should both be Running
kubectl -n cpaas-system get pods | grep -E 'baremetal|elemental'

# Bare-metal CRDs
kubectl get crd | grep -E '^(baremetalclusters|baremetalmachines|baremetalmachinetemplates|machineinventorypools)\.infrastructure\.cluster\.x-k8s\.io$'

# Elemental CRDs (shipped by the elemental subchart)
kubectl get crd | grep -E '^(machineinventories|machineregistrations|seedimages)\.elemental\.cattle\.io$'

# Image catalog ConfigMap
kubectl -n cpaas-system get configmap elemental-image-catalog

Expected output includes:

  • baremetalclusters.infrastructure.cluster.x-k8s.io
  • baremetalmachines.infrastructure.cluster.x-k8s.io
  • baremetalmachinetemplates.infrastructure.cluster.x-k8s.io
  • machineinventorypools.infrastructure.cluster.x-k8s.io
  • machineinventories.elemental.cattle.io
  • machineregistrations.elemental.cattle.io
  • seedimages.elemental.cattle.io

Right after installation elemental-image-catalog has no data entries. After you add the Kubernetes versions you intend to deploy, confirm them:

kubectl -n cpaas-system get configmap elemental-image-catalog -o yaml

Every Machine.spec.version used by a cluster — both at creation time and at upgrade time — must appear as a key in this ConfigMap. A missing key leaves the BaremetalMachine in Failed with Reason=ImageCatalogMiss.

Next Steps

After installing the provider, you can proceed to: