快速入门:使用 Ansible 管理 Azure 中的 Linux 虚拟机
使用 Ansible 可以在环境中自动部署和配置资源。 在本文中,你将使用 Ansible playbook 来启动和停止 Linux 虚拟机。
先决条件
- Azure 订阅:如果没有 Azure 订阅,请在开始前创建一个试用订阅。
- 安装 Ansible:
- 如果无法访问 Linux 虚拟机,请在 Linux 虚拟机上安装和配置 Ansible - 使用 Ansible 创建虚拟机。
停止虚拟机
在本部分中,你将使用 Ansible 解除分配(停止)Azure 虚拟机。
登录 Azure 门户。
使用 SSH 命令访问已成功安装并配置了 Ansible 的 Linux 虚拟机。 将 <your-linux-public-ip-address> 占位符替换为 Linux 虚拟机中的实际 IP 地址。
ssh <your-linux-account>@<your-linux-public-ip-address>
创建一个名为
azure-vm-stop.yml
的文件,并在编辑器中将其打开:vi azure-vm-stop.yml
通过选择 I 键选择插入模式。
将以下示例代码粘贴到编辑器中:
- 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
将占位符
{{ resource_group_name }}
和{{ vm_name }}
替换成自己的值。按 Esc 键退出插入模式。
保存文件,然后键入以下命令退出 vi 编辑器:
:wq
使用
ansible-playbook
命令运行 playbook:ansible-playbook azure-vm-stop.yml
运行 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 虚拟机。
- 登录 Azure 门户。
1. 连接已成功安装 ansible 的 linux 虚拟机。
```
ssh <your-linux-account>@<your-linux-public-ip-address>
```
创建一个名为
azure-vm-start.yml
的文件,并在编辑器中将其打开:vi azure-vm-start.yml
通过选择 I 键选择插入模式。
将以下示例代码粘贴到编辑器中:
- name: Start Azure VM hosts: localhost connection: local tasks: - name: Start virtual machine azure_rm_virtualmachine: resource_group: {{ resource_group_name }} name: {{ vm_name }}
将占位符
{{ resource_group_name }}
和{{ vm_name }}
替换成自己的值。按 Esc 键退出插入模式。
保存文件,然后键入以下命令退出 vi 编辑器:
:wq
使用
ansible-playbook
命令运行 playbook:ansible-playbook azure-vm-start.yml
运行 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