据我了解,cloud-init处理实例的早期初始化cloud/VM。我一直在使用它来帮助构建 KVM 虚拟机,而且效果非常好。
我不明白的一方面cloud-init是,一旦完成实例的初始创建,会发生什么。
它可以在某些情况下再次执行吗(例如更改为/etc/machine-id)?我很确定我通过运行强制它在某个时刻重新运行
sudo rm -rf /var/lib/cloud/*
Run Code Online (Sandbox Code Playgroud)它的设计是否使我应该在cloud-init实例构建完成并投入生产后进行卸载,或者cloud-init即使在实例化之后仍然保持安装状态(什么也不做)?
令人尴尬的是,我正在寻找的答案在文档中(我发誓我问问题时它不在那里):\n https://cloudinit.readthedocs.io/en/latest/topics/boot.html #首次启动确定
\n\n\ncloud-init 必须确定当前启动是否是新实例的首次启动,以便应用适当的配置。在实例\xe2\x80\x99s 首次启动时,它应运行所有 \xe2\x80\x9cper-instance\xe2\x80\x9d 配置,而在后续启动时,它应仅运行 \xe2\x80\x9cper-boot\ xe2\x80\x9d 配置。
\n
因此,我的问题的答案是,cloud-init根据云/虚拟机实例是首次启动还是随后启动,(可能)行为会有所不同。
此外,cloud-init它不会自行禁用(它只是运行不同的步骤),并且在完成初始化/安装阶段(首次启动)后不需要将其删除。
\n\n默认情况下,cloud-init 尝试通过检查缓存中的实例 ID 与它在运行时确定的实例 ID 来确定它正在运行的情况。如果不匹配,则这是实例\xe2\x80\x99s首次启动;否则,它将\xe2\x80\x99作为后续引导。在内部,cloud-init 将此行为称为检查。
\n
因此,更改机器 ID ( /etc/machine-id) 很可能会导致cloud-init重新运行初始化阶段。与删除缓存一样 ( sudo rm -rf /var/lib/cloud/*)
| 归档时间: |
|
| 查看次数: |
3973 次 |
| 最近记录: |