Başlarken: Azure VM'de Ansible'ı Yapılandırma
Bu makalede, Ansible'ın Azure'daki bir Ubuntu VM'sine nasıl yükleneceği gösterilmektedir.
Bu makalede şunları öğreneceksiniz:
- Kaynak grubu oluşturma
- Ubuntu sanal makinesi oluşturma
- Ansible'ı sanal makineye yükleme
- SSH aracılığıyla sanal makineye bağlanma
- Ansible'ı sanal makinede yapılandırma
Önkoşullar
- Azure aboneliği: Azure aboneliğiniz yoksa başlamadan önce ücretsiz bir hesap oluşturun.
- Azure hizmet sorumlusu: Aşağıdaki değerleri not ederek bir hizmet sorumlusu oluşturun: appId, displayName, password ve tenant.
Sanal makine oluşturun
Azure kaynak grubu oluşturun.
az group create --name QuickstartAnsible-rg --location eastus
parametresini
--location
ortamınız için uygun değerle değiştirmeniz gerekebilir.Ansible için Azure sanal makinesini oluşturun.
az vm create \ --resource-group QuickstartAnsible-rg \ --name QuickstartAnsible-vm \ --image Ubuntu2204 \ --admin-username azureuser \ --admin-password <password>
<password>
Parolanızı değiştirin.Azure sanal makinesinin genel Ip adresini alın.
az vm show -d -g QuickstartAnsible-rg -n QuickstartAnsible-vm --query publicIps -o tsv
SSH aracılığıyla sanal makinenize bağlanma
SSH komutunu kullanarak sanal makinenizin genel IP adresine bağlanın.
ssh azureuser@<vm_ip_address>
değerini <vm_ip_address>
önceki komutlarda döndürülen uygun değerle değiştirin.
Ansible'ı sanal makineye yükleme
azure.azcollection ile Ansible
Ubuntu'da Ansible'ı yapılandırmak için aşağıdaki komutları çalıştırın:
#!/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
Önemli noktalar:
- Ansible denetim düğümü için Python 2 (sürüm 2.7) veya Python 3 (sürüm 3.5 ve üzeri) yüklü olmalıdır. Ansible 4.0.0 ve ansible-core 2.11, Python 3.8'e geçici bir bağımlıdır ancak daha düşük sürümlerle çalışır. Ancak Ansible 5.0.0 ve ansible-core 2.12 için 3.8 ve üstü gerekir.
Azure kimlik bilgilerini oluşturma
Ansible kimlik bilgilerini yapılandırmak için aşağıdaki bilgilere ihtiyacınız vardır:
- Azure abonelik kimliğiniz ve kiracı kimliğiniz
- Hizmet sorumlusu uygulama kimliği ve gizli dizi
Ansible kimlik bilgilerini aşağıdaki tekniklerden birini kullanarak yapılandırın:
- Seçenek 1: Ansible kimlik bilgileri dosyası oluşturma
- Seçenek 2: Ansible ortam değişkenlerini tanımlama
Seçenek 1: Ansible kimlik bilgileri dosyası oluşturma
Bu bölümde, Ansible'a kimlik bilgileri sağlamak için bir yerel kimlik bilgileri dosyası oluşturacaksınız. Güvenlik nedeniyle kimlik bilgileri dosyaları yalnızca geliştirme ortamlarında kullanılmalıdır.
Ansible kimlik bilgilerini tanımlama hakkında daha fazla bilgi için bkz . Azure Modüllerine Kimlik Bilgileri Sağlama.
Konak sanal makinesine başarıyla bağlandıktan sonra adlı
credentials
bir dosya oluşturun ve açın:mkdir ~/.azure vi ~/.azure/credentials
Dosyaya aşağıdaki satırları ekleyin. Yer tutucuları hizmet sorumlusu değerleriyle değiştirin.
[default] subscription_id=<subscription_id> client_id=<service_principal_app_id> secret=<service_principal_password> tenant=<service_principal_tenant_id>
Dosyayı kaydedip kapatın
Seçenek 2: Ansible ortam değişkenlerini tanımlama
Ana bilgisayar sanal makinesinde, Ansible kimlik bilgilerinizi yapılandırmak için hizmet sorumlusu değerlerini dışarı aktarın.
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>
Ansible yüklemesini test edin
Artık Ansible yüklü ve yapılandırılmış bir sanal makineniz var!
Bu bölümde, yeni Ansible yapılandırmanızda bir test kaynak grubunun nasıl oluşturulacağı gösterilmektedir. Bunu yapmanız gerekmiyorsa bu bölümü atlayabilirsiniz.
Seçenek 1: Geçici bir ansible komutu kullanma
Kaynak grubu oluşturmak için aşağıdaki geçici Ansible komutunu çalıştırın:
#Ansible with azure.azcollection
ansible localhost -m azure.azcollection.azure_rm_resourcegroup -a "name=<resource_group_name> location=<location>"
ve <location>
değerlerini değerlerinizle değiştirin<resource_group_name>
.
2. Seçenek: Ansible playbook yazma ve çalıştırma
Aşağıdaki kodu olarak
create_rg.yml
kaydedin.azure.azcollection ile Ansible
- hosts: localhost connection: local collections: - azure.azcollection tasks: - name: Creating resource group azure_rm_resourcegroup: name: "<resource_group_name" location: "<location>"
ve
<location>
değerlerini değerlerinizle değiştirin<resource_group_name>
.Ansible-playbook kullanarak playbook'u çalıştırın.
ansible-playbook create_rg.yml
azure.azcollection hakkında daha fazla bilgi edinin.
Kaynakları temizleme
Aşağıdaki kodu olarak
delete_rg.yml
kaydedin.--- - hosts: localhost tasks: - name: Deleting resource group - "{{ name }}" azure_rm_resourcegroup: name: "{{ name }}" state: absent register: rg - debug: var: rg
ansible-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
register
değişkeni vedebug
bölümü nedeniyle, komut tamamlandığında sonuçlar görüntülenir.
- Playbook'un