如何检查Azure Linux VM/VMSS实例生效的cloud-init.txt内容
检查Azure VMSS实例或VM中生效的cloud-init版本方法
1. 查看实例内cloud-init实际执行的配置文件
登录到目标VMSS实例或VM后,直接查看cloud-init落地的最终配置:
- 读取cloud-init实际执行的配置内容:
cat /var/lib/cloud/instance/cloud-config.txt - 查看cloud-init执行日志,搜索配置加载细节:
grep -A 10 -B 5 "cloud-config" /var/log/cloud-init.log,通过日志里的配置片段对比你更新后的内容,确认是否生效。
2. 验证Azure侧存储的自定义数据
通过Azure CLI查看VM/VMSS绑定的customData(即cloud-init的base64编码内容),解码后对比:
- 针对单个VM:
# 获取customData az vm show --resource-group <你的资源组名> --name <VM名称> --query "customData" -o tsv # 解码查看实际内容 echo <上面得到的base64字符串> | base64 --decode - 针对VMSS:
# 获取VMSS的customData az vmss show --resource-group <你的资源组名> --name <VMSS名称> --query "virtualMachineProfile.osProfile.customData" -o tsv # 解码查看实际内容 echo <上面得到的base64字符串> | base64 --decode
3. 查看cloud-init执行状态与历史
- 查看cloud-init的详细执行状态,包含配置来源信息:
cloud-init status --long - 查看cloud-init实例历史目录,每个启动实例的配置都存放在这里:
ls -la /var/lib/cloud/instances/,进入对应目录可查看该次启动使用的配置文件。
如果确认实例加载的是旧配置,需检查部署模板/脚本中cloud-init的引用路径是否已更新,避免仍指向旧版本的文件;重新部署VMSS时需确保自定义数据已刷新,必要时可使用az vmss update强制更新OS配置。
内容的提问来源于stack exchange,提问作者Kai Walter
相关产品推荐
相关产品推荐

