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.

Arrestare una macchina virtuale

In questa sezione si usa Ansible per deallocare (arrestare) una macchina virtuale di Azure.

  1. Accedere al portale di Azure.

  2. Aprire Cloud Shell.

  3. Creare un file denominato azure-vm-stop.yml e aprirlo nell'editor:

    code azure-vm-stop.yml
    
  4. 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
    
  5. Sostituire i segnaposto {{ resource_group_name }} e {{ vm_name }} con i valori.

  6. Salvare il file e uscire dall'editor.

  7. Eseguire il playbook con ansible-playbook

    ansible-playbook azure-vm-stop.yml
    
  8. 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)

  1. Accedere al portale di Azure.

  2. Aprire Cloud Shell.

  3. Creare un file denominato azure-vm-start.yml e aprirlo nell'editor:

    code azure-vm-start.yml
    
  4. 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
    
  5. Sostituire i segnaposto {{ resource_group_name }} e {{ vm_name }} con i valori.

  6. Salvare il file e uscire dall'editor.

  7. Eseguire il playbook con ansible-playbook

    ansible-playbook azure-vm-start.yml
    
  8. 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
    

Passaggi successivi