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.

Sanal makine oluşturun

  1. 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.

  2. 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.

  3. 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

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.

  1. Konak sanal makinesine başarıyla bağlandıktan sonra adlı credentialsbir dosya oluşturun ve açın:

    mkdir ~/.azure
    vi ~/.azure/credentials
    
  2. 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>
    
  3. 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

  1. Aşağıdaki kodu olarak create_rg.ymlkaydedin.

    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>.

  2. Ansible-playbook kullanarak playbook'u çalıştırın.

    ansible-playbook create_rg.yml
    

azure.azcollection hakkında daha fazla bilgi edinin.

Kaynakları temizleme

  1. 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: rg
    
  2. 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 ve debug bölümü nedeniyle, komut tamamlandığında sonuçlar görüntülenir.

Sonraki adımlar