Mulai: Mengonfigurasi Ansible pada VM Azure
Perhatian
Artikel ini mereferensikan CentOS, distribusi Linux yang mendekati status End Of Life (EOL). Harap pertimbangkan penggunaan dan rencanakan yang sesuai. Untuk informasi selengkapnya, lihat panduan Akhir Masa Pakai CentOS.
Artikel ini menunjukkan cara menginstal Ansible pada VM Centos di Azure.
Dalam artikel ini, Anda akan mempelajari cara:
- Buat grup sumber daya
- Membuat mesin virtual CentOS
- 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 CentOS85Gen2 \ --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 2.9 dengan modul azure_rm
Jalankan perintah berikut untuk mengonfigurasi Ansible 2.9 di Centos:
#!/bin/bash
# Update all packages that have available updates.
sudo yum update -y
# Install Python 3 and pip.
sudo yum install -y python3-pip
# Upgrade pip3.
sudo pip3 install --upgrade pip
# Install Ansible.
pip3 install "ansible==2.9.17"
# Install Ansible azure_rm module for interacting with Azure.
pip3 install ansible[azure]
Ansible 2.10 dengan azure.azcollection
Jalankan perintah berikut untuk mengonfigurasi Ansible di Centos:
#!/bin/bash
# Update all packages that have available updates.
sudo yum update -y
# Install Python 3 and pip.
sudo yum install -y python3-pip
# Upgrade pip3.
sudo pip3 install --upgrade pip
# Install Ansible az collection for interacting with Azure.
ansible-galaxy collection install azure.azcollection
# Install Ansible modules for Azure
sudo pip3 install -r ~/.ansible/collections/ansible_collections/azure/azcollection/requirements-azure.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 2.9 with azure_rm module
ansible localhost -m azure_rm_resourcegroup -a "name=ansible-test location=eastus"
#Ansible 2.10 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 2.9 dengan modul azure_rm
--- - hosts: localhost connection: local tasks: - name: Creating resource group azure_rm_resourcegroup: name: "<resource_group_name" location: "<location>"
Ansible 2.10 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
Langkah berikutnya
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk