Bagikan melalui


Mulai: Mengonfigurasi Ansible pada VM Azure

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

Dalam artikel ini, Anda akan mempelajari cara:

  • Buat grup sumber daya
  • Membuat mesin virtual Ubuntu
  • Menginstal Ansible di mesin virtual
  • Sambungkan ke mesin virtual melalui SSH
  • Mengonfigurasikan Ansible di mesin virtual

Prasyarat

  • Langganan Azure: Jika Anda tidak memiliki langganan Azure, buat akun gratis sebelum memulai.
  • Perwakilan layanan Azure: Buat perwakilan layanan, catat nilai-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 parameter --location dengan nilai yang sesuai untuk lingkungan Anda.

  2. Membuat mesin virtual Azure untuk Ansible.

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

    Ganti kata sandi Anda <password>.

  3. Dapatkan alamat Ip publik dari mesin virtual Azure.

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

Sambungkan mesin virtual Anda memulai SSH

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

ssh azureuser@<vm_ip_address>

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

Menginstal Ansible di mesin 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:

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

Membuat info masuk Azure

Untuk mengonfigurasi info masuk Ansible, Anda memerlukan informasi berikut:

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

Konfigurasikan info masuk Ansible menggunakan salah satu teknik berikut:

Opsi 1: Buat file info masuk Ansible

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

Untuk informasi selengkapnya tentang mendefinisikan info masuk Ansible, lihat Memberikan Info Masuk ke Modul Azure.

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

    mkdir ~/.azure
    vi ~/.azure/credentials
    
  2. Sisipkan baris berikut ke dalam file. Ganti tempat penampung dengan nilai perwakilan 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, ekspor nilai perwakilan layanan untuk mengonfigurasi info masuk 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 instalasi Ansible

Kini Anda memiliki mesin virtual dengan Ansible yang diinstal dan dikonfigurasi!

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

Opsi 1: Menggunakan perintah ansible ad-hoc

Jalankan perintah Ansible ad-hoc 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: Menulis dan menjalankan 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 tempat penampung 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:

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

Langkah berikutnya