11.2. 通过机器配置自动更新引导装载程序
使用 bootupd
自动更新引导装载程序的另一种方法是创建一个 systemd 服务单元,该单元将在每次引导时更新引导装载程序。单元将在引导过程中运行 bootupctl update
命令,并通过机器配置在节点上安装。
注意
这个配置不会被默认启用,因为更新操作的意外中断可能会导致无法引导的节点。如果启用此配置,请确保在引导装载程序更新进行过程中避免中断节点。引导装载程序更新操作通常很快完成,因此风险较低。
创建一个 Butane 配置文件
99-worker-bootupctl-update.bu
,包括bootupctl-update.service
systemd 单元的内容。注意有关 Butane 的信息,请参阅"使用 Butane 创建机器配置"。
输出示例
variant: openshift version: 4.12.0 metadata: name: 99-worker-chrony 1 labels: machineconfiguration.openshift.io/role: worker 2 systemd: units: - name: bootupctl-update.service enabled: true contents: | [Unit] Description=Bootupd automatic update [Service] ExecStart=/usr/bin/bootupctl update RemainAfterExit=yes [Install] WantedBy=multi-user.target
使用 Butane 生成
MachineConfig
对象文件99-worker-bootupctl-update.yaml
,其中包含要传送到节点的配置:$ butane 99-worker-bootupctl-update.bu -o 99-worker-bootupctl-update.yaml
使用以下两种方式之一应用配置:
-
如果集群还没有运行,在生成清单文件后,将
MachineConfig
对象文件添加到<installation_directory>/openshift
目录中,然后继续创建集群。 如果集群已在运行,请应用该文件:
$ oc apply -f ./99-worker-bootupctl-update.yaml
-
如果集群还没有运行,在生成清单文件后,将