Ansible 允许自动部署和配置环境中的资源。 在本文中,你将使用 Ansible playbook 来启动和停止 Linux 虚拟机。
先决条件
- Azure 订阅:如果没有 Azure 订阅,请在开始之前创建 一个免费帐户 。
安装 Ansible:执行以下选项之一:
- 在 Linux 虚拟机上安装和 配置 Ansible
- 配置 Azure Cloud Shell ,如果无权访问 Linux 虚拟机, 请使用 Ansible 创建虚拟机。
停止虚拟机
在本节中,你将使用 Ansible 来解除分配(停止)Azure 虚拟机。
登录到 Azure 门户。
打开 Cloud Shell。
创建一个名为
azure-vm-stop.yml的文件,并在编辑器中打开该文件:code azure-vm-stop.yml将以下示例代码粘贴到编辑器中:
- 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 }}占位符替换为你的值。保存文件并退出编辑器。
运行 playbook 使用 ansible-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 门户。
打开 Cloud Shell。
创建一个名为
azure-vm-start.yml的文件,并在编辑器中打开该文件:code azure-vm-start.yml将以下示例代码粘贴到编辑器中:
- 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将
{{ resource_group_name }}和{{ vm_name }}占位符替换为你的值。保存文件并退出编辑器。
运行 playbook 使用 ansible-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