我使用ansible playbook
部署VM,类似于this demo。
- name: Create VM
azure_rm_virtualmachine:
resource_group: myResourceGroup
name: myVM
...
custom_data: cloud-init.yml
现在,我还想安装一些软件包并做一些小的准备。我做了一个cloud-config.yml
#cloud-config
package_upgrade: true
packages:
- npm
- nodejs-legacy
runcmd:
- sudo mkdir -p /data/projects/
似乎cloud-init.yml
没有执行,所以我猜这不是正确的语法。您应该如何在ansible剧本中传递cloud-init文件?还是有另一种方法可以实现这一目标?
答案 0 :(得分:0)
custom_data
中的 azure_rm_virtualmachine
参数需要数据,而不是文件名。
您可以使用file
查找插件从Ansible控制器上的文件中获取数据:
- name: Create VM
azure_rm_virtualmachine:
resource_group: myResourceGroup
name: myVM
...
custom_data: "{{ lookup('file', 'cloud-init.yml') }}"