安装 Machine Configuration
Machine Configuration 默认不是集群的一部分。它作为名为 Alauda Container Platform Machine Configuration(模块名 machine-config)的集群插件提供,其发布节奏独立于 的发布流,并且必须在每个需要管理节点配置的集群上安装一次。
在插件安装到集群之前,概述 中描述的对象都不存在:MachineConfig、MachineConfigPool 和 MachineConfiguration API 未注册,master 和 worker 池、空的 00-master 和 00-worker 配置以及单例 cluster MachineConfiguration 都不存在。Machine Configuration Operator 在首次启动时创建它们。
前提条件
- 目标集群运行在 Immutable Infrastructure 上。Machine Configuration 管理不可变的节点操作系统,不支持传统操作系统。
- 目标集群的节点处于
Ready状态,控制平面节点带有node-role.kubernetes.io/control-plane标签,工作节点带有node-role.kubernetes.io/worker标签。默认池通过这些标签选择节点。 - 具有在
global集群上创建ModuleInfo资源的权限。 - 可访问 customer portal 以下载插件软件包。
下载
从 customer portal 下载 Alauda Container Platform Machine Configuration 软件包。
在同一环境中的每个集群上安装相同版本。有关已发布的版本及各版本的变更,请参阅 release notes。
上架
使用 violet push 将下载的软件包上架到 。有关上架的详细操作步骤,包括如何获取 violet 工具,请参阅 上架软件包。
上架完成后,平台需要几分钟时间同步软件包,之后版本才可选择。
安装
在每个集群上安装一次 Machine Configuration — 在 global 集群以及每个需要管理节点的业务集群上。该插件未声明集群亲和性,因此两种集群范围都是有效目标。
有关通用的集群插件操作步骤,包括从 Web 控制台安装,请参阅 集群插件。
要使用 YAML 安装,首先在 global 集群上确认插件已发布,并记下版本:
然后创建 ModuleInfo。即使目标是业务集群,也要将其应用到 global 集群 上:
- Machine Configuration 不接受配置参数,因此
spec.config保持为空。 spec.version必须与已发布的ModuleConfig的.spec.version匹配。metadata.name是临时的;平台会在创建后将对象重命名为<cluster-name>-<hash>。
对每个剩余的目标集群重复安装,更改 cpaas.io/cluster-name 和临时名称。
验证安装
在 global 集群上,等待插件在每个已安装的集群上报 Running:
然后,在目标集群上确认两个组件都已启动。控制器运行在控制平面节点上;daemon 运行在每个节点上:
最后,确认 operator 已创建其初始对象:
如果池或基础配置未出现,请检查控制器日志 — 它会在启动时创建所有这些对象:
升级
Machine Configuration 独立于 发布,因此作为独立插件升级,而不是通过集群升级。它在集群插件列表中显示为 Agnostic 生命周期。
- 从 customer portal 下载新版本,并按照初始安装的相同方式上架。
- 等待平台同步新版本。这大约需要 10 到 15 分钟。
- 前往 管理员 > Marketplace > 集群插件,选择目标集群,并从插件列表页面或插件详情页面开始升级。
- 对每个已安装该插件的集群重复此操作,以确保同一环境中的所有集群运行相同版本。
该插件声明升级风险较低,对正在运行的应用程序没有影响。operator 仅在初始对象不存在时创建它们,因此升级会保留现有的池、基础配置以及您创建的每个 MachineConfig。
有关通用的插件升级操作步骤以及各生命周期的含义,请参阅 集群插件。