0

我正在使用 AWX 运行 Ansible,我已经配置了 Azure 凭据,并且我能够使用 Azure 模块来创建/删除 Azure 资源。

但是 Ansible 缺少一些我需要的模块,因此我想使用 Azure CLI 运行直接命令,但是每次我收到没有此类命令的结果时。

Ansible/AWX/Tower 如何从 Azure 模块执行命令?

针对 localhost 运行以下代码:

hosts: localhost

#

#This part is working    
- name: Create a network interface with minimal parameters
       azure_rm_networkinterface:
        name: "{{ vm_name }}-nic"
        resource_group: "{{ internal_name }}-{{ customer_name }}"
        virtual_network: "{{ internal_name }}-vnet"
        subnet_name: "{{ internal_name }}-subnet01"
        security_group: "{{ internal_name }}-subnet01-nsg" 
#This Part is not working     
    - name: Check Azure Version
      shell: az --version
#The same playbook

工作的输出是第一部分做了一些更改,第二部分给出了错误:

"stderr": "/bin/sh: az: command not found",

知道如何在 Ansible AWX/Tower 中使用 Azure CLI

4

2 回答 2

0

我已经使用 Ansible 解决了 ARM 模板。

但是,CLI 可能是一种更简单的方法。

于 2019-08-26T05:56:19.033 回答
0

您需要先在主机上安装 azure cli,然后才能使用它。此处的安装说明:https ://docs.microsoft.com/en-us/cli/azure/install-azure-cli?view=azure-cli-latest

以下剧本也应该为您做:

- name: Install Azure Cli
  hosts: localhost
  gather_facts: true
  become: true
  tasks:
    - block: #Install az cli on CentOs/RHEL
      - name: Import the APT repo key (Debian)
        shell: rpm --import https://packages.microsoft.com/keys/microsoft.asc

      - name: Create local azure-cli repository information
        shell: sh -c 'echo -e "[azure-cli]\nname=Azure CLI\nbaseurl=https://packages.microsoft.com/yumrepos/azure-cli\nenabled=1\ngpgcheck=1\ngpgkey=https://packages.microsoft.com/keys/microsoft.asc" > /etc/yum.repos.d/azure-cli.repo'
      when: ansible_distribution == 'CentOS' or ansible_distribution == 'Red Hat Enterprise Linux'

    - block: #Install az cli on Debian/Ubuntu
      - name: Run MS install script
        shell: curl -sL https://aka.ms/InstallAzureCLIDeb | sudo bash
      when: ansible_distribution == 'Debian' or ansible_distribution == 'Ubuntu'

    - name: Install Azure CLi
      package:
        name: "azure-cli"
        state: present

    - name: Verify installed version
      shell: az --version
      register: azureVersion

    - debug:
        msg: "{{azureVersion.stdout}}"  
于 2019-08-26T13:46:06.710 回答