据我了解,cloud-init
处理cloud/VM
实例的早期初始化。我一直在使用它来帮助构建 KVM 虚拟机,并且效果非常好。
cloud-init
我不明白的一个方面是一旦完成实例的初始创建会发生什么。
- 它是否会自动禁用自身以使其不再运行?
它可以在某些情况下再次执行(例如更改为
/etc/machine-id
)吗?我很确定我通过运行强制它在某个时候重新运行sudo rm -rf /var/lib/cloud/*
它的设计是为了让我
cloud-init
在构建实例并投入生产后卸载,还是cloud-init
即使在实例化后仍保持安装状态(什么也不做)?
令人尴尬的是,我正在寻找的答案在文档中(我发誓在我问这个问题时它不存在): https ://cloudinit.readthedocs.io/en/latest/topics/boot.html#first-引导确定
因此,我的问题的答案是
cloud-init
(可能)行为不同,具体取决于云/VM 实例是第一次启动还是随后启动。此外,
cloud-init
不会禁用自身(它只是运行不同的步骤),并且一旦完成初始化/安装阶段(首次启动)就不需要删除。因此,更改机器 id (
/etc/machine-id
) 很可能会导致cloud-init
重新运行初始化阶段。与删除缓存一样 (sudo rm -rf /var/lib/cloud/*
)