Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Bu makalede Linux sanal makinesini yapılandırmaya yönelik örnek bir Ansible playbook'u verilmiştir.
Bu makalede şunları öğreneceksiniz:
- Bir kaynak grubu oluşturun
- Sanal ağ oluşturma
- Genel IP adresi oluşturma
- Ağ güvenlik grubu oluşturma
- Sanal ağ arabirimi kartı oluşturma
- Sanal makine oluşturun
1. Ortamınızı yapılandırma
- Azure aboneliği: Azure aboneliğiniz yoksa başlamadan önce ücretsiz bir hesap oluşturun.
Ansible'ı Yükleme: Aşağıdaki seçeneklerden birini yapın:
- Ansible'ı Linux sanal makinesine yükleme ve yapılandırma
- Azure Cloud Shell'i yapılandırma
2. SSH anahtar çifti oluşturma
Aşağıdaki komutu çalıştırın. İstendiğinde, aşağıdaki dizinde oluşturulacak dosyaları belirtin:
/home/azureuser/.ssh/authorized_keys.ssh-keygen -m PEM -t rsa -b 4096Ortak anahtar dosyasının içeriğini kopyalayın. Varsayılan olarak, ortak anahtar dosyası olarak adlandırılır
id_rsa.pub. Değer, "ssh-rsa" ile başlayan uzun bir dizedir. Sonraki adımda bu değere ihtiyacınız olacak.
3. Ansible playbook'unu uygulama
Örnek Ansible kodunu test edip çalıştırmak ve geçerli dizin olarak ayarlamak için bir dizin oluşturun.
adlı
main.ymlbir dosya oluşturun ve aşağıdaki kodu ekleyin. Yer tutucuyu<key_data>önceki adımdaki ortak anahtar değeriyle değiştirin.- 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: 0001-com-ubuntu-server-jammy publisher: Canonical sku: 22_04-lts version: latest
4. Talimatlar dizisini çalıştırın
ansible-playbook komutunu çalıştırarak Ansible playbook'unu çalıştırın.
ansible-playbook main.yml
5. Sonuçları doğrulayın
VM'nin oluşturulduğunu doğrulamak için az vm list komutunu çalıştırın.
az vm list -d -o table --query "[?name=='myVM']"
6. VM'ye bağlanma
Yeni Linux VM'nize bağlanmak için SSH komutunu çalıştırın. ip adresi< yer tutucusunun >yerine önceki adımdaki IP adresini yazın.
ssh azureuser@<ip_address> -i /home/azureuser/.ssh/authorized_keys/id_rsa
Kaynakları temizle
Aşağıdaki kodu olarak
delete_rg.ymlkaydedin.--- - hosts: localhost tasks: - name: Deleting resource group - "{{ name }}" azure_rm_resourcegroup: name: "{{ name }}" state: absent register: rg - debug: var: rgansible-playbook komutunu kullanarak playbook'u çalıştırın. Yer tutucuyu silinecek kaynak grubunun adıyla değiştirin. Kaynak grubundaki tüm kaynaklar silinir.
ansible-playbook delete_rg.yml --extra-vars "name=<resource_group>"Önemli noktalar:
- Playbook'un
registerdeğişkeni vedebugbölümü nedeniyle, komut tamamlandığında sonuçlar görüntülenir.
- Playbook'un