Memulai: Mengonfigurasi Ansible pada Azure VM

Artikel ini memperlihatkan cara menginstal Ansible pada VM Ubuntu di Azure.

Dalam artikel ini, Anda akan mempelajari cara:

  • Membuat grup sumber daya
  • Membuat komputer virtual Ubuntu
  • Menginstal Ansible pada komputer virtual
  • Menyambungkan ke komputer virtual melalui SSH
  • Mengonfigurasi Ansible pada komputer virtual

Prasyarat

  • Langganan Azure: Jika Anda tidak memiliki langganan Azure, buat akun gratis sebelum memulai.
  • Perwakilan layanan Azure: Buat perwakilan layanan, catat nilai berikut: appId, displayName, kata sandi, dan penyewa.

Membuat mesin virtual

  1. Buat grup sumber daya Azure.

    az group create --name QuickstartAnsible-rg --location eastus
    

    Anda mungkin perlu mengganti --location parameter dengan nilai yang sesuai untuk lingkungan Anda.

  2. Buat komputer virtual Azure untuk Ansible.

    az vm create \
    --resource-group QuickstartAnsible-rg \
    --name QuickstartAnsible-vm \
    --image Ubuntu2204 \
    --admin-username azureuser \
    --admin-password <password>
    

    <password> Ganti kata sandi Anda.

  3. Dapatkan alamat Ip publik komputer virtual Azure.

    az vm show -d -g QuickstartAnsible-rg -n QuickstartAnsible-vm --query publicIps -o tsv
    

Menyambungkan ke komputer virtual Anda melalui SSH

Menggunakan perintah SSH, sambungkan ke alamat IP publik komputer virtual Anda.

ssh azureuser@<vm_ip_address>

<vm_ip_address> Ganti dengan nilai yang sesuai yang dikembalikan dalam perintah sebelumnya.

Menginstal Ansible pada komputer virtual

Ansible dengan azure.azcollection

Jalankan perintah berikut untuk mengonfigurasi Ansible di Ubuntu:

#!/bin/bash

sudo apt update

sudo apt install software-properties-common

sudo add-apt-repository --yes --update ppa:ansible/ansible

sudo apt install ansible

# Install Ansible az collection for interacting with Azure. (optional)
ansible-galaxy collection install azure.azcollection --force 

# Install Ansible modules for Azure (optional)
sudo pip3 install -r ~/.ansible/collections/ansible_collections/azure/azcollection/requirements.txt

Poin utama:

  • Simpul kontrol Ansible memerlukan Python 2 (versi 2.7) atau Python 3 (versi 3.5 dan yang lebih tinggi) terinstal. Ansible 4.0.0 dan ansible-core 2.11 memiliki dependensi lunak pada Python 3.8, tetapi berfungsi dengan versi yang lebih rendah. Namun, Ansible 5.0.0 dan ansible-core 2.12 akan memerlukan 3.8 dan yang lebih baru.

Membuat kredensial Azure

Untuk mengonfigurasi kredensial Ansible, Anda memerlukan informasi berikut:

  • ID langganan Azure dan ID penyewa Anda
  • ID dan rahasia aplikasi prinsipal layanan

Konfigurasikan kredensial Ansible menggunakan salah satu teknik berikut:

Opsi 1: Membuat file kredensial Ansible

Di bagian ini, Anda membuat file kredensial lokal untuk memberikan kredensial ke Ansible. Untuk alasan keamanan, file kredensial hanya boleh digunakan di lingkungan pengembangan.

Untuk informasi selengkapnya tentang menentukan kredensial Ansible, lihat Menyediakan Kredensial ke Modul Azure.

  1. Setelah Anda berhasil terhubung ke komputer virtual host, buat dan buka file bernama credentials:

    mkdir ~/.azure
    vi ~/.azure/credentials
    
  2. Sisipkan baris berikut ke dalam file. Ganti placeholder dengan nilai prinsipal layanan.

    [default]
    subscription_id=<subscription_id>
    client_id=<service_principal_app_id>
    secret=<service_principal_password>
    tenant=<service_principal_tenant_id>
    
  3. Simpan dan tutup file.

Opsi 2: Tentukan variabel lingkungan Ansible

Pada mesin virtual host, mengekspor nilai prinsipal layanan untuk mengonfigurasi kredensial Ansible Anda.

export AZURE_SUBSCRIPTION_ID=<subscription_id>
export AZURE_CLIENT_ID=<service_principal_app_id>
export AZURE_SECRET=<service_principal_password>
export AZURE_TENANT=<service_principal_tenant_id>

Menguji penginstalan Ansible

Anda sekarang memiliki komputer virtual dengan Ansible terinstal dan dikonfigurasi!

Bagian ini menunjukkan cara membuat grup sumber daya pengujian dalam konfigurasi Ansible baru Anda. Jika Anda tidak perlu melakukan itu, Anda dapat melewati bagian ini.

Opsi 1: Gunakan perintah ad-hoc ansible

Jalankan perintah ad-hoc Ansible berikut untuk membuat grup sumber daya:


#Ansible with azure.azcollection
ansible localhost -m azure.azcollection.azure_rm_resourcegroup -a "name=<resource_group_name> location=<location>"

Ganti <resource_group_name> dan <location> dengan nilai Anda.

Opsi 2: Buat dan jalankan playbook Ansible

  1. Simpan kode berikut sebagai create_rg.yml.

    Ansible dengan azure.azcollection

    - hosts: localhost
      connection: local
      collections:
        - azure.azcollection
      tasks:
        - name: Creating resource group
          azure_rm_resourcegroup:
            name: "<resource_group_name"
            location: "<location>"
    

    Ganti <resource_group_name> dan <location> dengan nilai Anda.

  2. Jalankan playbook menggunakan ansible-playbook.

    ansible-playbook create_rg.yml
    

Baca selengkapnya tentang azure.azcollection.

Membersihkan sumber daya

  1. Simpan kode berikut sebagai delete_rg.yml.

    ---
    - hosts: localhost
      tasks:
        - name: Deleting resource group - "{{ name }}"
          azure_rm_resourcegroup:
            name: "{{ name }}"
            state: absent
          register: rg
        - debug:
            var: rg
    
  2. Jalankan playbook menggunakan perintah ansible-playbook . Ganti placeholder dengan nama grup sumber daya yang akan dihapus. Semua sumber daya dalam grup sumber daya akan dihapus.

    ansible-playbook delete_rg.yml --extra-vars "name=<resource_group>"
    

    Poin utama:

    • register Karena variabel dan debug bagian dari playbook, hasilnya ditampilkan saat perintah selesai.

Langkah selanjutnya