在 Alauda OS 上创建集群
在此路径中, 会创建节点运行 Alauda OS(不可变操作系统)的业务集群。与节点运行非 Alauda OS 的集群不同,所有节点配置都预先构建在镜像中,并在部署后保持不变。集群升级和配置更改通过使用新镜像替换节点来应用,从而确保整个集群生命周期内的一致性、可靠性和简化的运维。
此路径上的集群通过 Cluster API 以声明式方式创建和管理。每个受支持的 IaaS 平台都由对应的基础设施提供程序从 Alauda OS 镜像创建节点。在裸金属环境中,您需要提供物理服务器;这些服务器会启动由提供程序构建的安装 ISO,并安装 Alauda OS。
此路径遵循以下原则:
- 声明式配置:所有基础设施均以代码形式定义
- 版本控制:基础设施变更均有跟踪和版本记录
- 可复现部署:不同部署之间的环境保持一致
- 阶段感知恢复:通过可复现的机器替换安全地恢复模板;当 Kubernetes 次要版本升级更改了控制平面状态时,则使用基于备份的恢复
目录
架构引导提供程序(Kubeadm)控制平面提供程序(Kubeadm)基础设施提供程序支持的提供程序控制平面端点Web UI 支持(Fleet Essentials)在 global 集群上安装提供程序集群创建工作流相关任务架构
Alauda OS 上的集群生命周期管理基于 Cluster API (CAPI) 框架构建,该框架提供声明式、原生 Kubernetes 的方法:
- 声明式 API:用于集群管理的原生 Kubernetes 资源
- 提供程序接口:适用于不同基础设施提供程序的标准化接口
- 生命周期管理:自动执行集群预配、扩缩和升级
- GitOps 集成:原生支持 GitOps 工作流
三个 Cluster API 提供程序协同工作,以两个软件包的形式交付:Alauda Container Platform Cluster Bootstrap Provider 负责 Kubernetes 引导和控制平面管理,基础设施提供程序则负责管理 IaaS 平台。
引导提供程序(Kubeadm)
适用于 kubeadm 的 Cluster API 引导提供程序负责初始化和配置 Kubernetes 节点:
- 节点初始化:自动将裸机转换为 Kubernetes 节点
- 配置管理:管理 kubelet 配置、证书和引导令牌
- 加入流程:处理工作节点加入集群的流程
- 证书管理:自动生成和轮换证书
控制平面提供程序(Kubeadm)
适用于 kubeadm 的 Cluster API 控制平面提供程序负责管理 Kubernetes 控制平面:
- 控制平面部署:部署和管理 Kubernetes API server、etcd 及控制平面组件
- 高可用性:支持通过负载均衡实现多节点控制平面部署
- 升级管理:处理控制平面组件的滚动升级
- 运行状况监控:监控控制平面运行状况并执行恢复操作
基础设施提供程序
目标 IaaS 平台的基础设施提供程序(例如 Huawei DCS)负责管理底层基础设施:
- 计算资源预配:在目标平台上创建和管理虚拟机或实例
- 网络配置:设置网络基础设施
- 资源管理:管理计算、存储和网络资源
- 提供程序集成:与提供程序的 API 和服务集成

支持的提供程序
每个基础设施提供程序都与一个 IaaS 平台集成,以提供集群生命周期管理。
控制平面端点
每个集群的 Kubernetes API server(kube-apiserver,端口 6443)都通过控制平面端点访问。该端点是一个虚拟 IP(VIP)或负载均衡器地址,位于控制平面节点前端。不同提供程序提供该端点的方式有所不同,因此在创建集群之前需要准备的内容也各不相同。
Huawei Cloud Stack 是唯一会为你创建平台负载均衡器对象的 VM 提供程序。外部负载均衡器(包括其 VIP 分配和后端(真实服务器)维护)需在集群外部准备并由外部管理。在裸金属、Huawei DCS 和 VMware vSphere 上,提供程序也可以改为部署集群内 VIP 组件(alive)。各模式的要求请参阅规划控制平面端点。
Web UI 支持(Fleet Essentials)
Fleet Essentials 是一个集群插件,可为集群管理提供共享的 Web UI 框架。基础设施提供程序可以通过 UI 扩展锚点扩展该框架,以添加特定于平台的页面和工作流。
安装后,Fleet Essentials 可提供以下功能:
- 统一集群管理:通过单一界面管理所有平台上的集群
- 基础设施资源管理:配置云凭据、IP 池和机器模板
- 集群生命周期操作:通过引导式工作流创建、查看、升级和销毁集群
- 节点池管理:以声明式方式管理节点池,并支持扩缩和升级
实现这些 Fleet Essentials 扩展锚点的提供程序可以添加自己的集群创建工作流和管理页面:
- 裸金属提供程序:在物理服务器上提供仅基于 YAML 的集群生命周期管理。裸金属集群没有 Fleet Essentials UI;所有工作流均通过针对
BaremetalCluster、BaremetalMachineTemplate、MachineInventoryPool和上游 CAPI 资源的kubectl apply驱动 - DCS 提供程序:在 Huawei DCS 上添加 DCS 专用的 UI 页面和工作流。用于池管理持久磁盘的
DCSIpHostnamePool.spec.pool[].persistentDisk配置仅支持 YAML - HCS 提供程序:安装 Fleet Essentials
1.0.2或更高版本后,支持在 Huawei Cloud Stack 上通过 Web UI 管理集群;同时支持基于 YAML 的集群生命周期管理,包括通过HCSMachineConfigPool.spec.configs[].persistentDisks[]管理池中的持久磁盘 - vSphere 提供程序:在 VMware vSphere 上提供基于 YAML 的集群生命周期管理。vSphere 集群的创建和管理没有 Fleet Essentials UI 扩展
在 global 集群上安装提供程序
安装 global 集群后,以及在 Bare Metal、Huawei DCS、Huawei Cloud Stack 或 VMware vSphere 上创建业务集群之前,请将该 IaaS 平台的基础设施提供程序与集群引导提供程序一起上传并安装到 global 集群上。无论 global 集群本身运行在哪个 IaaS 平台上,此要求均适用。
要安装提供程序,请从 Customer Portal 下载其软件包,提供程序会列在 Common ACP Extensions 下;使用 violet push 上传软件包,并将其作为集群插件安装。请参阅安装基础设施提供程序。
在 Alauda OS global 集群上升级 Kubernetes 时,也必须先将该 IaaS 平台的提供程序上传并安装到 global 集群上。
集群创建工作流
按以下顺序在 Alauda OS 上创建业务集群。准备按相同顺序介绍了前三个步骤。
- 安装提供程序:在
global集群上安装适用于 IaaS 平台的提供程序和集群引导提供程序。 - 基础设施资源:配置提供程序所需的基础设施资源,例如云凭据、IP 池和机器模板。Bare Metal 没有单独的基础设施资源页面;其主机准备工作包含在提供程序安装和集群创建页面中。
- 规划集群:阅读准备,了解适用于所有提供程序的决策,例如控制平面端点模式和集群的镜像仓库。此外,在创建集群之前还需检查以下内容:
- 创建集群:创建集群,包括其首批工作节点。
每个提供程序都有介绍这些步骤的专属页面:
如果集群创建或删除停滞,请参阅故障排除。