入门:使用 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部分,命令完成后会显示结果。

后续步骤