Freigeben über


Erste Schritte: Konfigurieren von Ansible auf einem virtuellen Azure-Computer

In diesem Artikel wird veranschaulicht, wie Sie Ansible auf einem virtuellen Ubuntu-Computer in Azure installieren.

In diesem Artikel werden folgende Vorgehensweisen behandelt:

  • Erstellen einer Ressourcengruppe
  • Erstellen eines virtuellen Ubuntu-Computers
  • Installieren von Ansible auf dem virtuellen Computer
  • Herstellen einer Verbindung mit dem virtuellen Computer über SSH
  • Konfigurieren von Ansible auf dem virtuellen Computer

Voraussetzungen

  • Azure-Abonnement: Wenn Sie kein Azure-Abonnement besitzen, können Sie ein kostenloses Konto erstellen, bevor Sie beginnen.

Erstellen eines virtuellen Computers

  1. Erstellen einer Azure-Ressourcengruppe.

    az group create --name QuickstartAnsible-rg --location eastus
    

    Möglicherweise müssen Sie den Parameter --location durch den entsprechenden Wert für Ihre Umgebung ersetzen.

  2. Erstellen Sie den virtuellen Azure-Computer für Ansible.

    az vm create \
    --resource-group QuickstartAnsible-rg \
    --name QuickstartAnsible-vm \
    --image Ubuntu2204 \
    --admin-username azureuser \
    --admin-password <password>
    

    Ersetzen Sie <password> durch Ihr Kennwort.

  3. Rufen Sie die öffentliche IP-Adresse des virtuellen Azure-Computers ab.

    az vm show -d -g QuickstartAnsible-rg -n QuickstartAnsible-vm --query publicIps -o tsv
    

Herstellen einer Verbindung mit Ihrem virtuellen Computer per SSH

Verwenden Sie den SSH-Befehl, um eine Verbindung mit der öffentlichen IP-Adresse Ihres virtuellen Computers herzustellen.

ssh azureuser@<vm_ip_address>

Ersetzen Sie <vm_ip_address> durch den entsprechenden Wert, der in den vorherigen Befehlen zurückgegeben wurde.

Installieren von Ansible auf dem virtuellen Computer

Ansible mit „azure.azcollection“

Führen Sie die folgenden Befehle aus, um Ansible unter Ubuntu zu konfigurieren:

#!/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

Die wichtigsten Punkte:

  • Für den Ansible-Steuerknoten muss Python 2 (Version 2.7) oder Python 3 (Version 3.5 und höher) installiert sein. Für Ansible 4.0.0 und ansible-core 2.11 besteht eine lose Abhängigkeit von Python 3.8, aber es können auch frühere Versionen genutzt werden. Für Ansible 5.0.0 und ansible-core 2.12 wird aber Version 3.8 oder höher benötigt.

Erstellen von Azure-Anmeldeinformationen

Um die Anmeldeinformationen für Ansible zu konfigurieren, benötigen Sie die folgenden Informationen:

  • Ihre Azure-Abonnement-ID und Mandanten-ID
  • Die Anwendungs-ID des Dienstprinzipals und das Geheimnis

Konfigurieren Sie die Ansible-Anmeldeinformationen mithilfe einer der folgenden Methoden:

Option 1: Erstellen einer Datei mit Ansible-Anmeldeinformationen

In diesem Abschnitt erstellen Sie eine lokale Datei mit Anmeldeinformationen, um Anmeldeinformationen für Ansible bereitzustellen. Aus Sicherheitsgründen sollten Dateien mit Anmeldeinformationen ausschließlich in Entwicklungsumgebungen verwendet werden.

Weitere Informationen zum Definieren von Ansible-Anmeldeinformationen finden Sie unter Bereitstellen von Anmeldeinformationen für Azure-Module.

  1. Nachdem Sie erfolgreich eine Verbindung mit dem virtuellen Hostcomputer hergestellt haben, erstellen und öffnen Sie eine Datei mit dem Namen credentials:

    mkdir ~/.azure
    vi ~/.azure/credentials
    
  2. Fügen Sie in der Datei die folgenden Zeilen ein. Ersetzen Sie die Platzhalter durch die Werte für den Dienstprinzipal.

    [default]
    subscription_id=<subscription_id>
    client_id=<service_principal_app_id>
    secret=<service_principal_password>
    tenant=<service_principal_tenant_id>
    
  3. Speichern und schließen Sie die Datei.

Option 2: Definieren von Ansible-Umgebungsvariablen

Exportieren Sie auf dem virtuellen Hostcomputer die Werte für den Dienstprinzipal, um Ihre Ansible-Anmeldeinformationen zu konfigurieren.

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>

Testen der Ansible-Installation

Sie verfügen nun über einen virtuellen Computer, auf dem Ansible installiert und konfiguriert ist!

In diesem Abschnitt wird gezeigt, wie Sie eine Testressourcengruppe in der neuen Ansible-Konfiguration erstellen. Ist dies nicht erforderlich, können Sie diesen Schritt überspringen.

Option 1: Verwenden eines Ansible-Ad-hoc-Befehls

Führen Sie den folgenden Ansible-Ad-hoc-Befehl aus, um eine Ressourcengruppe zu erstellen:


#Ansible with azure.azcollection
ansible localhost -m azure.azcollection.azure_rm_resourcegroup -a "name=<resource_group_name> location=<location>"

Ersetzen Sie <resource_group_name> und <location> durch Ihre eigenen Werte.

Option 2: Schreiben und Ausführen eines Ansible-Playbooks

  1. Speichern Sie den folgenden Code als create_rg.yml.

    Ansible mit „azure.azcollection“

    - hosts: localhost
      connection: local
      collections:
        - azure.azcollection
      tasks:
        - name: Creating resource group
          azure_rm_resourcegroup:
            name: "<resource_group_name"
            location: "<location>"
    

    Ersetzen Sie <resource_group_name> und <location> durch Ihre eigenen Werte.

  2. Führen Sie das Playbook mithilfe von ansible-playbook aus.

    ansible-playbook create_rg.yml
    

Informieren Sie sich über azure.azcollection.

Bereinigen von Ressourcen

  1. Speichern Sie den folgenden Code als delete_rg.yml.

    ---
    - hosts: localhost
      tasks:
        - name: Deleting resource group - "{{ name }}"
          azure_rm_resourcegroup:
            name: "{{ name }}"
            state: absent
          register: rg
        - debug:
            var: rg
    
  2. Führen Sie das Playbook mithilfe des Befehls ansible-playbook aus. Ersetzen Sie den Platzhalter durch den Namen der zu löschenden Ressourcengruppe. Alle Ressourcen innerhalb der Ressourcengruppe werden gelöscht.

    ansible-playbook delete_rg.yml --extra-vars "name=<resource_group>"
    

    Die wichtigsten Punkte:

    • Aufgrund der Variablen register und des Abschnitts debug des Playbooks werden die Ergebnisse angezeigt, wenn der Befehl abgeschlossen ist.

Nächste Schritte