Dela via


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

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

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

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

  1. När du har anslutit till den virtuella värddatorn skapar och öppnar du en fil med namnet credentials:

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

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

  2. Kör spelboken med hjälp av ansible-playbook.

    ansible-playbook create_rg.yml
    

Läs mer om azure.azcollection.

Rensa resurser

  1. 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
    
  2. 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 och debug avsnittet i spelboken visas resultatet när kommandot har slutförts.

Nästa steg