使用 Ansible 管理 Azure 中的 Linux 虚拟机

Ansible 允许自动部署和配置环境中的资源。 在本文中,你将使用 Ansible playbook 来启动和停止 Linux 虚拟机。

先决条件

  • Azure 订阅:如果没有 Azure 订阅,请在开始之前创建 一个免费帐户

停止虚拟机

在本节中,你将使用 Ansible 来解除分配(停止)Azure 虚拟机。

  1. 登录到 Azure 门户

  2. 打开 Cloud Shell

  3. 创建一个名为 azure-vm-stop.yml的文件,并在编辑器中打开该文件:

    code azure-vm-stop.yml
    
  4. 将以下示例代码粘贴到编辑器中:

    - name: Stop Azure VM
      hosts: localhost
      connection: local
      tasks:
        - name: Stop virtual machine
          azure_rm_virtualmachine:
            resource_group: {{ resource_group_name }}
            name: {{ vm_name }}
            allocated: no
    
  5. {{ resource_group_name }}{{ vm_name }} 占位符替换为你的值。

  6. 保存文件并退出编辑器。

  7. 运行 playbook 使用 ansible-playbook

    ansible-playbook azure-vm-stop.yml
    
  8. 运行 playbook 后,会看到类似于以下结果的输出:

    PLAY [Stop Azure VM] ********************************************************
    
    TASK [Gathering Facts] ******************************************************
    ok: [localhost]
    
    TASK [Deallocate the Virtual Machine] ***************************************
    changed: [localhost]
    
    PLAY RECAP ******************************************************************
    localhost                  : ok=2    changed=1    unreachable=0    failed=0
    

启动虚拟机

在本部分中,将使用 Ansible 启动已解除分配的 Azure 虚拟机(已停止)。

  1. 登录到 Azure 门户

  2. 打开 Cloud Shell

  3. 创建一个名为 azure-vm-start.yml的文件,并在编辑器中打开该文件:

    code azure-vm-start.yml
    
  4. 将以下示例代码粘贴到编辑器中:

    - name: Start Azure VM
      hosts: localhost
      connection: local
      tasks:
        - name: Start virtual machine
          azure_rm_virtualmachine:
            resource_group: {{ resource_group_name }}
            name: {{ vm_name }}
            started: yes
    
  5. {{ resource_group_name }}{{ vm_name }} 占位符替换为你的值。

  6. 保存文件并退出编辑器。

  7. 运行 playbook 使用 ansible-playbook

    ansible-playbook azure-vm-start.yml
    
  8. 运行 playbook 后,会看到类似于以下结果的输出:

    PLAY [Start Azure VM] ********************************************************
    
    TASK [Gathering Facts] ******************************************************
    ok: [localhost]
    
    TASK [Start the Virtual Machine] ********************************************
    changed: [localhost]
    
    PLAY RECAP ******************************************************************
    localhost                  : ok=2    changed=1    unreachable=0    failed=0
    

后续步骤