入门:使用 Azure Cloud Shell 配置 Ansible

通过配置 Azure 上的 Ansible 并创建基本的 Azure 资源组,开始使用 Ansible

Ansible 是一个开源产品,用于自动执行云预配、配置管理和应用程序部署。 使用 Ansible 可预配虚拟机、容器和网络,以及完成云基础结构。 此外,使用 Ansible 还可在环境中自动部署和配置资源。

本文介绍了如何在 Azure Cloud Shell 环境中开始使用 Ansible。

配置环境

  • Azure 订阅:如果没有 Azure 订阅,请在开始之前创建一个免费帐户。
  1. 如果已打开了 Cloud Shell 会话,可以跳转到下一部分。

  2. 浏览到 Azure 门户

  3. 如有必要,请登录 Azure 订阅并更改 Azure 目录。

  4. 打开 Cloud Shell。

    在 Azure 门户中从顶部菜单打开 Cloud Shell。

  5. 如果以前未使用过 Cloud Shell,请配置环境和存储设置。

  6. 选择命令行环境。

    选择要在 Cloud Shell 中使用的 CLI。

自动凭据配置

登录到 Cloud Shell 时,Ansible 会向 Azure 进行身份验证,从而无需任何额外配置即可管理基础结构。

使用多个订阅时,请通过导出 AZURE_SUBSCRIPTION_ID 环境变量来指定 Ansible 使用的订阅。

要列出所有 Azure 订阅,请运行以下命令:

az account list

按如下所示使用 Azure 订阅 ID 设置 AZURE_SUBSCRIPTION_ID

export AZURE_SUBSCRIPTION_ID=<your-subscription-id>

测试 Ansible 安装

现在,你已将 Ansible 配置为在 Cloud Shell 中使用!

本部分介绍如何在新的 Ansible 配置内创建测试资源组。 如果无需创建,可跳过本部分。

创建 Azure 资源组

  1. 将以下代码另存为 create_rg.yml

    ---
    - hosts: localhost
      connection: local
      tasks:
        - name: Creating resource group - "{{ name }}"
          azure_rm_resourcegroup:
            name: "{{ name }}"
            location: "{{ location }}"
          register: rg
        - debug:
            var: rg
    
  2. 使用 ansible-playbook 运行 playbook。 将占位符替换为要创建的资源组的名称和位置。

    ansible-playbook create_rg.yml --extra-vars "name=<resource_group_name> location=<resource_group_location>"
    

    要点

    • 由于 playbook 的 register 变量和 debug 部分,因此在命令完成时,将显示结果。

删除 Azure 资源组

  1. 将以下代码另存为 delete_rg.yml

    ---
    - hosts: localhost
      tasks:
        - name: Deleting resource group - "{{ name }}"
          azure_rm_resourcegroup:
            name: "{{ name }}"
            state: absent
          register: rg
        - debug:
            var: rg
    
  2. 使用 ansible-playbook 命令运行 playbook。 将占位符替换为要删除的资源组的名称。 将删除资源组内的所有资源。

    ansible-playbook delete_rg.yml --extra-vars "name=<resource_group>"
    

    要点

    • 由于 playbook 的 register 变量和 debug 部分,因此在命令完成时,将显示结果。

后续步骤