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. The image catalog ConfigMap is created by the chart — you do not need to apply it separately when creating a workload cluster.

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

Confirm that elemental-image-catalog contains the Kubernetes versions you intend to deploy:

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.

Next Steps

After installing the provider, you can proceed to: