批量供应¶
本指南介绍如何组合使用 Clear Linux OS 安装程序、Ister 和 ICIS 来批量供应 Clear Linux* OS。
概述¶
要配置批量供应,请执行以下操作:
- 定义 Ister 配置文件以自定义安装过程
- 定义 cloud-init* 文件以自定义安装实例
- 在 ICIS 中托管配置文件,以便 Ister 在安装过程中使用它们
图 1 描述了为执行批量供应而需要设置的 PXE 服务器和 PXE 客户端之间的信息流。

图 1:批量供应信息流
必备条件¶
执行批量供应之前,请确认您的 PXE 服务器能够从网络引导 Clear Linux OS。有关详细信息,请参阅我们的 如何执行 iPEX 引导的指南 (使用 NAT)。
由于批量供应依赖于重新引导,请确保已经做好以下准备:
- 没有可引导的现有磁盘。
- 在执行安装的计算机上,网络引导选项必须紧跟在磁盘引导选项之后。
配置¶
按照 ICIS GitHub* 存储库中的入门指南安装 ICIS。
创建一个 Ister 安装文件,并将其保存到 ICIS Web 托管目录下的
static/ister
目录。该安装文件是一个 JSON 块,它为 Ister 提供了执行安装所需的步骤。该文件概述了 Ister 应该设置哪些分区、文件系统和挂载点。最后,该文件概述了要安装的捆绑包。有关可用捆绑包的列表,请参阅我们的 可用的捆绑包 文档。以下示例显示了 Ister 安装文件的内容:{ "DestinationType":"physical", "PartitionLayout":[ {"disk":"sda", "partition":1, "size":"512M", "type":"EFI"}, {"disk":"sda", "partition":2, "size":"512M", "type":"swap"}, {"disk":"sda", "partition":3, "size":"rest", "type":"linux"} ], "FilesystemTypes":[ {"disk":"sda", "partition":1, "type":"vfat"}, {"disk":"sda", "partition":2, "type":"swap"}, {"disk":"sda", "partition":3, "type":"ext4"} ], "PartitionMountPoints":[ {"disk":"sda", "partition":1, "mount":"/boot"}, {"disk":"sda", "partition":3, "mount":"/"} ], "Version":"latest", "Bundles":[ "kernel-native", "os-core", "os-core-update", "os-cloudguest" ], "IsterCloudInitSvc":"http://192.168.1.1:60000/icis/" }
重要
ICIS 上托管的每个 Ister 安装文件都必须包含 IsterCloudInitSvc 参数以及 os-cloudguest 捆绑包。这些条目允许 Ister 自定义安装实例。
创建一个 Ister 配置文件来定义 Ister 安装文件的位置。将其保存到 ICIS Web 托管目录下的
static/ister
目录。以下示例显示了一个 Ister 配置文件:template=http://192.168.1.1:60000/icis/static/ister/ister.json
向引导网络映像的命令行添加一个内核参数来修改 iPXE 引导脚本。添加内核参数 isterconf,并将 ICIS 托管的 Ister 配置文件的位置作为内核参数值。以下示例显示了带有 isterconf 参数的 iPXE 引导脚本:
#!ipxe kernel linux quiet init=/usr/lib/systemd/systemd-bootchart initcall_debug tsc=reliable no_timer_check noreplace-smp rw initrd=initrd isterconf=http://192.168.1.1:60000/icis/static/ister/ister.conf initrd initrd boot
注解
Clear Linux OS 网络映像引导后,Ister 会在
/proc/cmdline
中检查引导期间使用的参数以找到 Ister 配置文件的位置。编写 cloud-init 文档,根据您的需求自定义安装实例。cloud-init 文档提供了如何编写 cloud-init 文档的指南。本指南涵盖了安装后 cloud-init 提供的自定义选项。
将 cloud-init 文档保存到 ICIS Web 托管目录下的
static/roles
目录,并使用要创建的角色的名称。例如,角色可以是 “database”、”web” 或 “ciao”。创建角色(也称为 cloud-init 文件)后,将角色分配给 PXE 客户端的 MAC 地址。为此,请修改 ICIS Web 托管目录下
static
目录中的config.txt
文件。以下示例显示了一个分配示例:# MAC address,role 00:01:02:03:04:05,ciao
如果 PXE 客户端的 MAC 地址未列在
config.txt
文件中,则会按如下方式为这些 MAC 地址定义默认角色:# MAC address,role default,ciao
确认在您的本地网络上是否可以访问以下 URL:
- http://192.168.1.1:60000/icis/static/ister/ister.conf
- http://192.168.1.1:60000/icis/static/ister/ister.json
- http://192.168.1.1:60000/icis/get_config/<MAC address>
- http://192.168.1.1:60000/icis/get_role/<role>
- http://192.168.1.1:60000/ipxe/ipxe_boot_script.txt
打开 PXE 客户端的电源,观看它引导并安装 Clear Linux OS。
关闭再开启 PXE 客户端的电源,观看它自定义 Clear Linux OS 安装。
祝贺您!您已成功执行 Clear Linux OS 的批量供应。