Başlarken: Azure VM'de Ansible'ı Yapılandırma
Dikkat
Bu makalede, Kullanım Süresi Sonu (EOL) durumuna yakın bir Linux dağıtımı olan CentOS'a başvuruda bulunur. Lütfen kullanımınızı göz önünde bulundurun ve uygun şekilde planlayın. Daha fazla bilgi için bkz . CentOS Kullanım Süresi Sonu kılavuzu.
Bu makalede, Ansible'ın Azure'daki bir Centos VM'sine nasıl yükleneceği gösterilmektedir.
Bu makalede şunları öğreneceksiniz:
- Kaynak grubu oluşturma
- CentOS sanal makinesi oluşturma
- Ansible'ı sanal makineye yükleme
- SSH aracılığıyla sanal makineye Bağlan
- 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 CentOS85Gen2 \ --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ğlan
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_rm modülü ile Ansible 2.9
Centos'ta Ansible 2.9'u yapılandırmak için aşağıdaki komutları çalıştırın:
#!/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]
azure.azcollection ile Ansible 2.10
Centos'ta Ansible'ı yapılandırmak için aşağıdaki komutları çalıştırın:
#!/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
Ö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 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>"
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_rm modülü ile Ansible 2.9
--- - hosts: localhost connection: local tasks: - name: Creating resource group azure_rm_resourcegroup: name: "<resource_group_name" location: "<location>"
azure.azcollection ile Ansible 2.10
- 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
Sonraki adımlar
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin