管理节点配置
您可以使用本节中描述的任务来创建修改节点上的文件、systemd 单元和 SSH 公钥的 MachineConfig 对象,以及恢复发生配置漂移的节点。
MachineConfig 支持 Ignition 规范版本 3.4。所有 MachineConfig 对象必须符合此版本创建。
在某些情况下,节点上的配置可能与当前通过 MachineConfig 应用的配置不完全匹配。这种情况称为配置漂移。机器配置守护进程会定期验证节点的配置是否发生漂移。如果检测到漂移,节点将被标记为 Degraded 状态,并保持该状态,直到管理员恢复预期的配置。
以下示例演示如何使用 MachineConfig 对象管理节点配置。
配置 Chrony 时间服务
要配置 Chrony 时间同步服务(chronyd)并指定 NTP 服务器及相关设置,可以通过 MachineConfig 对象更新目标节点上的 chrony.conf 文件。
-
首先,创建一个包含所需 Chrony 配置的临时文件:
-
然后,对文件内容进行 base64 编码:
-
创建一个名为
99-worker-chrony的MachineConfig对象。在.spec.config.storage.files[0].contents.source字段中,以data:text/plain;base64,<encoded-content>格式插入 base64 编码字符串:此配置创建了一个
MachineConfig对象,将自定义的chrony.conf文件应用于与worker机器配置池关联的节点。该文件将写入每个节点的/etc/chrony.conf,文件权限设置为0644。
禁用 Chrony 时间服务
要禁用具有特定角色的节点上的 Chrony 时间同步服务,可以创建一个覆盖 systemd 单元定义并禁用该服务的 MachineConfig 对象。
示例配置:
此配置将自定义版本的 chronyd.service 单元文件推送到 worker 机器配置池中的节点。该服务被显式禁用。配置应用并重启节点后,Chrony 服务将不再自动启动。
配置 boot 用户的 SSH 公钥
机器配置系统允许您为受管节点上的 boot 用户配置 SSH 公钥。不支持其他用户账户的配置。请注意,机器配置不会自动创建用户或组——您必须确保在应用配置之前节点上已存在 boot 用户和组。
示例配置:
此 MachineConfig 会将指定的 SSH 密钥安装到 worker 机器配置池节点的 /home/boot/.ssh/authorized_keys 文件中。
恢复配置漂移
如果节点的配置与其分配的 MachineConfig 不一致,节点将被标记为 Degraded。在此状态下,节点继续运行,但无法接收进一步的配置更新,直到问题解决。
有两种方法可以将节点从降级状态恢复:
-
手动恢复配置
您可以手动调整节点上的文件和权限,使其与分配的MachineConfig中指定的完全匹配。系统将检测到修正并清除降级状态。 -
强制重新应用配置
在受影响节点上创建一个空文件/run/machine-config-daemon-force。机器配置守护进程将检测到此触发器,重新应用当前的MachineConfig,删除触发文件,并重启节点。重启后,节点将从Degraded状态恢复为Done。