Membuat mesin virtual Linux di Azure menggunakan Ansible
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 menyajikan playbook Ansible sampel untuk mengonfigurasi mesin virtual Linux.
Dalam artikel ini, Anda akan mempelajari cara:
- Buat grup sumber daya
- Membuat jaringan virtual
- Membuat alamat IP publik
- MembuatĀ grup keamanan jaringan
- Membuat kartu antarmuka jaringan virtual
- Membuat mesin virtual
1. Mengonfigurasi lingkungan Anda
- Langganan Azure: Jika Anda tidak memiliki langganan Azure, buat akun gratis sebelum memulai.
Instal Ansible: Lakukan salah satu opsi berikut:
- Menginstal dan mengonfigurasi Ansibel pada mesin virtual Linux
- Konfigurasikan Azure Cloud Shell
2. Buat pasangan kunci SSH
Jalankan perintah berikut. Saat diminta, tentukan file yang akan dibuat pada direktori berikut:
/home/azureuser/.ssh/authorized_keys
.ssh-keygen -m PEM -t rsa -b 4096
Salin seluruh konten file kunci umum. Secara default, file kunci publik diberi nama
id_rsa.pub
. Nilainya adalah string panjang yang dimulai dengan "ssh-rsa". Anda akan membutuhkan nilai ini pada langkah berikutnya.
3. Terapkan playbook Ansible
Buat direktori untuk menguji dan menjalankan kode Ansible sample dan menjadikannya direktori saat ini.
Buat file bernama
main.yml
dan masukkan kode berikut. Ganti tempat penampung<key_data>
dengan nilai kunci umum dari langkah sebelumnya.- name: Create Azure VM hosts: localhost connection: local tasks: - name: Create resource group azure_rm_resourcegroup: name: myResourceGroup location: eastus - name: Create virtual network azure_rm_virtualnetwork: resource_group: myResourceGroup name: myVnet address_prefixes: "10.0.0.0/16" - name: Add subnet azure_rm_subnet: resource_group: myResourceGroup name: mySubnet address_prefix: "10.0.1.0/24" virtual_network: myVnet - name: Create public IP address azure_rm_publicipaddress: resource_group: myResourceGroup allocation_method: Static name: myPublicIP register: output_ip_address - name: Public IP of VM debug: msg: "The public IP is {{ output_ip_address.state.ip_address }}." - name: Create Network Security Group that allows SSH azure_rm_securitygroup: resource_group: myResourceGroup name: myNetworkSecurityGroup rules: - name: SSH protocol: Tcp destination_port_range: 22 access: Allow priority: 1001 direction: Inbound - name: Create virtual network interface card azure_rm_networkinterface: resource_group: myResourceGroup name: myNIC virtual_network: myVnet subnet: mySubnet public_ip_name: myPublicIP security_group: myNetworkSecurityGroup - name: Create VM azure_rm_virtualmachine: resource_group: myResourceGroup name: myVM vm_size: Standard_DS1_v2 admin_username: azureuser ssh_password_enabled: false ssh_public_keys: - path: /home/azureuser/.ssh/authorized_keys key_data: "<key_data>" network_interfaces: myNIC image: offer: CentOS publisher: OpenLogic sku: '7.5' version: latest
4. Jalankan playbook
Jalankan ansible-playbook untuk menjalankan playbook Ansible.
ansible-playbook main.yml
5. Memverifikasi hasil
Jalankan az vm list untuk memverifikasi VM yang telah dibuat.
az vm list -d -o table --query "[?name=='myVM']"
6. Sambungkan ke VM
Jalankan perintah SSH untuk menghubungkan ke VM Linux baru Anda. Ganti tempat penampung <ip-address> dengan alamat IP dari langkah sebelumnya.
ssh azureuser@<ip_address> -i /home/azureuser/.ssh/authorized_keys/id_rsa
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