Kom igång: Konfigurera Ansible på en virtuell Azure-dator
Den här artikeln visar hur du installerar Ansible på en virtuell Ubuntu-dator i Azure.
I den här artikeln kan du se hur du:
- Skapa en resursgrupp
- Skapa en virtuell Ubuntu-dator
- Installera Ansible på den virtuella datorn
- Ansluta till den virtuella datorn via SSH
- Konfigurera Ansible på den virtuella datorn
Förutsättningar
- Azure-prenumeration: Om du inte har någon Azure-prenumeration kan du skapa ett kostnadsfritt konto innan du börjar.
- Azure-tjänstens huvudnamn: Skapa ett huvudnamn för tjänsten och anteckna följande värden: appId, displayName, lösenord och klientorganisation.
Skapa en virtuell dator
Skapa en Azure-resursgrupp.
az group create --name QuickstartAnsible-rg --location eastus
Du kan behöva ersätta parametern
--location
med lämpligt värde för din miljö.Skapa den virtuella Azure-datorn för Ansible.
az vm create \ --resource-group QuickstartAnsible-rg \ --name QuickstartAnsible-vm \ --image Ubuntu2204 \ --admin-username azureuser \ --admin-password <password>
<password>
Ersätt lösenordet.Hämta den offentliga IP-adressen för den virtuella Azure-datorn.
az vm show -d -g QuickstartAnsible-rg -n QuickstartAnsible-vm --query publicIps -o tsv
Ansluta till den virtuella datorn via SSH
Anslut till den virtuella datorns offentliga IP-adress med hjälp av SSH-kommandot.
ssh azureuser@<vm_ip_address>
<vm_ip_address>
Ersätt med lämpligt värde som returnerades i tidigare kommandon.
Installera Ansible på den virtuella datorn
Ansible med azure.azcollection
Kör följande kommandon för att konfigurera Ansible på Ubuntu:
#!/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
Viktiga punkter:
- Ansible-kontrollnoden kräver att Python 2 (version 2.7) eller Python 3 (version 3.5 och senare) är installerade. Ansible 4.0.0 och ansible-core 2.11 har ett mjukt beroende av Python 3.8, men fungerar med lägre versioner. Ansible 5.0.0 och ansible-core 2.12 kräver dock 3,8 och senare.
Skapa Azure-autentiseringsuppgifter
För att konfigurera Ansible-autentiseringsuppgifterna behöver du följande information:
- Ditt Azure-prenumerations-ID och klient-ID
- Program-ID och hemlighet för tjänstens huvudnamn
Konfigurera Ansible-autentiseringsuppgifterna med någon av följande tekniker:
- Alternativ 1: Skapa en fil med ansible-autentiseringsuppgifter
- Alternativ 2: Definiera Ansible-miljövariabler
Alternativ 1: Skapa fil med ansible-autentiseringsuppgifter
I det här avsnittet skapar du en fil med lokala autentiseringsuppgifter för att ange autentiseringsuppgifter för Ansible. Av säkerhetsskäl bör filer med autentiseringsuppgifter endast användas i utvecklingsmiljöer.
Mer information om hur du definierar Ansible-autentiseringsuppgifter finns i Tillhandahålla autentiseringsuppgifter till Azure-moduler.
När du har anslutit till den virtuella värddatorn skapar och öppnar du en fil med namnet
credentials
:mkdir ~/.azure vi ~/.azure/credentials
Infoga följande rader i filen. Ersätt platshållarna med tjänstens huvudnamnsvärden.
[default] subscription_id=<subscription_id> client_id=<service_principal_app_id> secret=<service_principal_password> tenant=<service_principal_tenant_id>
Spara och stäng filen.
Alternativ 2: Definiera Ansible-miljövariabler
På den virtuella värddatorn exporterar du värdena för tjänstens huvudnamn för att konfigurera dina Ansible-autentiseringsuppgifter.
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>
Testa Ansible-installation
Nu har du en virtuell dator med Ansible installerad och konfigurerad!
Det här avsnittet visar hur du skapar en testresursgrupp i din nya Ansible-konfiguration. Om du inte behöver göra det kan du hoppa över det här avsnittet.
Alternativ 1: Använd ett ad hoc-ansible-kommando
Kör följande ad hoc Ansible-kommando för att skapa en resursgrupp:
#Ansible with azure.azcollection
ansible localhost -m azure.azcollection.azure_rm_resourcegroup -a "name=<resource_group_name> location=<location>"
Ersätt <resource_group_name>
och <location>
med dina värden.
Alternativ 2: Skriva och köra en Ansible-spelbok
Spara följande kod som
create_rg.yml
.Ansible med azure.azcollection
- hosts: localhost connection: local collections: - azure.azcollection tasks: - name: Creating resource group azure_rm_resourcegroup: name: "<resource_group_name" location: "<location>"
Ersätt
<resource_group_name>
och<location>
med dina värden.Kör spelboken med hjälp av ansible-playbook.
ansible-playbook create_rg.yml
Läs mer om azure.azcollection.
Rensa resurser
Spara följande kod som
delete_rg.yml
.--- - hosts: localhost tasks: - name: Deleting resource group - "{{ name }}" azure_rm_resourcegroup: name: "{{ name }}" state: absent register: rg - debug: var: rg
Kör spelboken med kommandot ansible-playbook . Ersätt platshållaren med namnet på den resursgrupp som ska tas bort. Alla resurser i resursgruppen tas bort.
ansible-playbook delete_rg.yml --extra-vars "name=<resource_group>"
Viktiga punkter:
- På grund av variabeln
register
ochdebug
avsnittet i spelboken visas resultatet när kommandot har slutförts.
- På grund av variabeln