裸金属 Provider 安装

本文档介绍如何为 Immutable Infrastructure 安装 Bare Metal Infrastructure Provider。

前提条件

安装 provider 前,请确保具备以下条件:

  • 可访问 global 集群。
  • 可访问 Customer Portal 以下载插件。

下载

INFO

裸金属工作流需要从 Customer Portal 获取两个插件:

  1. Alauda Container Platform Kubeadm Provider
  2. Alauda Container Platform Bare Metal Infrastructure Provider(一个 umbrella chart,其中包含 cluster-api-provider-baremetal-manager 和 elemental-operator 子 chart)

从 Customer Portal 下载这两个插件。

上架

有关上架软件包的详细说明,请参阅 上架软件包。

安装

有关安装集群插件的详细说明,请参阅 集群插件。

umbrella chart 会在一个步骤中同时安装裸金属 provider manager 和 elemental-operator。它还会创建 elemental-image-catalog ConfigMap,但其中没有任何条目,并且软件包不包含 Alauda OS 镜像。创建集群前,请将 Bare Metal OS 镜像导入平台 registry,并将要部署的每个 Kubernetes 版本添加到 catalog 中;请参阅 已导入 OS 镜像并填充镜像 catalog。

验证安装

安装插件后,验证 controller 和 CRD 是否存在:

# 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

预期输出包括:

  • 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

安装后,elemental-image-catalog 中没有任何 data 条目。添加要部署的 Kubernetes 版本后,请确认这些版本:

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

集群使用的每个 Machine.spec.version(无论是在创建时还是升级时)都必须作为此 ConfigMap 中的键存在。缺少键会使 BaremetalMachine 在 Failed 中处于 Reason=ImageCatalogMiss 状态。

后续步骤

安装 provider 后,您可以继续执行以下操作: