如果无法访问元数据服务器,我试图让 cloud-init 不采取任何措施。如果 cloud-init 忽略错误并继续执行(这似乎是默认配置),则它会重置主机 SSH 密钥、管理用户密码等,如果虚拟机之前已被使用,则会出现问题(如果配置了密码登录,则用户将无法再访问虚拟机)。
我在两种情况下看到了这个问题:
- 元数据服务器瘫痪
- 安装了在启动期间阻止与元数据服务器连接的软件(最近,在 ubuntu-desktop 上看到这种情况)
答案1
啊,我明白了,尽管没有成功到达任何数据源,它仍然继续执行,是因为 Fallback/None 数据源配置在/etc/cloud/cloud.cfg.d/90_dpkg.cfg
我删除了这个文件并进行了配置/etc/cloud/cloud.cfg
:
datasource_list: [ OpenStack, Ec2 ]
然后它不再执行。