首页 > 解决方案 > Ansible 使用随机名称配置 azure vm

问题描述

我有一个在 Azure 云中预配 VM 的 Ansible 角色。该脚本运行良好,但创建了一个名称中包含随机部分的 VM。

azure_rm_virtualmachine:
    resource_group: "{{resource_group_name}}"
    location: "{{resource_group_location}}"
    name: "vm-{{env}}-sql-{{resource_odd_string}}-{{'%01x'|format(item)}}"
    vm_size: "{{resource_odd_vmsizetype}}"
    network_interfaces: "nic-{{env}}-sql-{{resource_agg_string}}-{{'%01x'|format(item)}}"
    image:
      offer: UbuntuServer
      publisher: Canonical
      sku: '18.04-LTS'
    data_disks:
      - lun: "{{resource_odd_data_disk_lun}}"
        disk_size_gb: "{{resource_odd_data_disk_size}}"
    tags:
            env: "vm-{{env}}-sql-{{resource_odd_string}}"
  loop: "{{ range(resource_odd_countstart|int, resource_odd_countend|int + 1, 1)|list }}"
  tags:
    - sql_odd

而我的变量 yaml 包含以下变量

resource_group_name: ""
resource_group_location: "East US"
resource_odd_subnet: "sqlsubnet"

resource_odd_countstart: "101"
resource_odd_countend: "102"
resource_odd_string: "mine"

resource_odd_data_disk_lun: "0"
resource_odd_data_disk_size: "512"
resource_odd_data_disk_type: "Premium_LRS"

当我执行此脚本时,它成功配置了 VM,但其名称可能包含随机后缀。

预期输出:vm-stage-sql-mine-101,vm-stage-sql-mine-102

但是我得到了类似vm-stage-sql-mine-65vm-stage-sql-mine-c9等的名称。这对于 NIC 名称也是一样的。

标签: azureansible

解决方案


推荐阅读