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
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.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>
.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.
Setelah Anda berhasil terhubung ke mesin virtual host, buat dan buka file bernama
credentials
:mkdir ~/.azure vi ~/.azure/credentials
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>
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
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.Jalankan playbook menggunakan ansible-playbook.
ansible-playbook create_rg.yml
Baca selengkapnya tentang azure.azcollection.
Membersihkan sumber daya
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
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 bagiandebug
dari playbook, hasilnya akan ditampilkan ketika perintah selesai.
- Karena variabel