Gestire macchine virtuali Linux in Azure tramite Ansible
Ansible consente di automatizzare la distribuzione e la configurazione delle risorse nell'ambiente in uso. In questo articolo si usa un playbook Ansible per avviare e arrestare una macchina virtuale Linux.
Prerequisiti
- Sottoscrizione di Azure: se non si ha una sottoscrizione di Azure, creare un account gratuito prima di iniziare.
Installare Ansible: eseguire una delle opzioni seguenti:
- Installare e configurare Ansible in una macchina virtuale Linux
- Configurare Azure Cloud Shell e, se non si ha accesso a una macchina virtuale Linux, creare una macchina virtuale con Ansible.
Arrestare una macchina virtuale
In questa sezione si usa Ansible per deallocare (arrestare) una macchina virtuale di Azure.
Accedere al portale di Azure.
Aprire Cloud Shell.
Creare un file denominato
azure-vm-stop.yml
e aprirlo nell'editor:code azure-vm-stop.yml
Incollare il codice di esempio seguente nell'editor:
- 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
Sostituire i segnaposto
{{ resource_group_name }}
e{{ vm_name }}
con i valori.Salvare il file e uscire dall'editor.
Eseguire il playbook con ansible-playbook
ansible-playbook azure-vm-stop.yml
Dopo avere eseguito il playbook, viene visualizzato un output simile ai risultati seguenti:
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
Avviare una macchina virtuale
In questa sezione si usa Ansible per avviare una macchina virtuale di Azure deallocata (arrestata)
Accedere al portale di Azure.
Aprire Cloud Shell.
Creare un file denominato
azure-vm-start.yml
e aprirlo nell'editor:code azure-vm-start.yml
Incollare il codice di esempio seguente nell'editor:
- 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
Sostituire i segnaposto
{{ resource_group_name }}
e{{ vm_name }}
con i valori.Salvare il file e uscire dall'editor.
Eseguire il playbook con ansible-playbook
ansible-playbook azure-vm-start.yml
Dopo avere eseguito il playbook, viene visualizzato un output simile ai risultati seguenti:
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