使用 Ansible 管理 Azure 中的 Linux 虛擬機
Ansible 可讓您自動化環境中資源的部署和設定。 在本文中,您會使用 Ansible 劇本來啟動和停止 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 }}
佔位元。儲存檔案並結束編輯器。
-
ansible-playbook azure-vm-stop.yml
執行劇本之後,您會看到類似下列結果的輸出:
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 }}
佔位元。儲存檔案並結束編輯器。
-
ansible-playbook azure-vm-start.yml
執行劇本之後,您會看到類似下列結果的輸出:
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