【问题标题】:Using cloud-init as custom_data with ansible通过 ansible 使用 cloud-init 作为 custom_data
【发布时间】:2019-03-13 05:35:03
【问题描述】:

我使用类似于this demoansible playbook 部署VM。

- 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 playbook 中传递 cloud-init 文件?还是有其他方法可以达到这个目标?

【问题讨论】:

  • 试试custom_data: "{{ lookup('file', 'cloud-init.yml') }}"
  • 谢谢!这就是解决方案。

标签: azure ansible yaml cloud-init


【解决方案1】:

azure_rm_virtualmachine 中的custom_data 参数需要数据,而不是文件名。

您可以使用 file 查找插件从 Ansible 控制器上的文件中获取数据:

- name: Create VM
  azure_rm_virtualmachine:
    resource_group: myResourceGroup
    name: myVM
    ...
    custom_data: "{{ lookup('file', 'cloud-init.yml') }}"

【讨论】:

    猜你喜欢
    • 2022-01-16
    • 2021-10-19
    • 2017-02-05
    • 2020-11-10
    • 1970-01-01
    • 2021-01-14
    • 2018-07-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多