Schnellstart: Installieren von Ansible auf virtuellen Linux-Computern in AzureQuickstart: Install Ansible on Linux virtual machines in Azure

Ansible ermöglicht die Automatisierung der Bereitstellung und Konfiguration von Ressourcen in Ihrer Umgebung.Ansible allows you to automate the deployment and configuration of resources in your environment. Dieser Artikel veranschaulicht das Konfigurieren von Ansible für einige der verbreitetsten Linux-Distributionen.This article shows how to configure Ansible for some of the most common Linux distros. Um Ansible auf anderen Distributionen zu installieren, passen Sie die installierten Pakete entsprechend an Ihre Plattform an.To install Ansible on other distros, adjust the installed packages for your particular platform.

VoraussetzungenPrerequisites

  • Azure-Abonnement: Wenn Sie kein Azure-Abonnement besitzen, können Sie ein kostenloses Konto erstellen, bevor Sie beginnen.Azure subscription: If you don't have an Azure subscription, create a free account before you begin.
  • Zugriff auf Linux oder einen virtuellen Linux-Computer: Falls Sie keinen Linux-Computer besitzen, erstellen Sie einen virtuellen Linux-Computer.Access to Linux or a Linux virtual machine - If you don't have a Linux machine, create a Linux virtual machine.

Installieren von Ansible auf einem virtuellen Azure Linux-ComputerInstall Ansible on an Azure Linux virtual machine

Melden Sie sich beim Linux-Computer an, und wählen Sie eine der folgenden Distributionen aus, um Schritte zum Installieren von Ansible anzuzeigen:Sign in to your Linux machine and select one of the following distros for steps on how to install Ansible:

CentOS 7.4CentOS 7.4

In diesem Abschnitt konfigurieren Sie CentOS für die Verwendung von Ansible.In this section, you configure CentOS to use Ansible.

  1. Öffnen Sie ein Terminalfenster.Open a terminal window.

  2. Geben Sie den folgenden Befehl ein, um die erforderlichen Pakete für die Python-SDK-Module für Azure auf dem virtuellen Computer zu installieren:Enter the following command to install the required packages for the Azure Python SDK modules:

    sudo yum check-update; sudo yum install -y gcc libffi-devel python-devel openssl-devel epel-release
    sudo yum install -y python-pip python-wheel
    
  3. Geben Sie den folgenden Befehl ein, um die erforderlichen Pakete für Ansible zu installieren:Enter the following command to install the required packages Ansible:

    sudo pip install ansible[azure]
    
  4. Erstellen Sie die Azure-Anmeldeinformationen.Create the Azure credentials.

Ubuntu 16.04 LTSUbuntu 16.04 LTS

In diesem Abschnitt konfigurieren Sie Ubuntu für die Verwendung von Ansible.In this section, you configure Ubuntu to use Ansible.

  1. Öffnen Sie ein Terminalfenster.Open a terminal window.

  2. Geben Sie den folgenden Befehl ein, um die erforderlichen Pakete für die Python-SDK-Module für Azure auf dem virtuellen Computer zu installieren:Enter the following command to install the required packages for the Azure Python SDK modules:

    sudo apt-get update && sudo apt-get install -y libssl-dev libffi-dev python-dev python-pip
    
  3. Geben Sie den folgenden Befehl ein, um die erforderlichen Pakete für Ansible zu installieren:Enter the following command to install the required packages Ansible:

    sudo pip install ansible[azure]
    
  4. Erstellen Sie die Azure-Anmeldeinformationen.Create the Azure credentials.

SLES 12 SP2SLES 12 SP2

In diesem Abschnitt konfigurieren Sie SLES für die Verwendung von Ansible.In this section, you configure SLES to use Ansible.

  1. Öffnen Sie ein Terminalfenster.Open a terminal window.

  2. Geben Sie den folgenden Befehl ein, um die erforderlichen Pakete für die Python-SDK-Module für Azure auf dem virtuellen Computer zu installieren:Enter the following command to install the required packages for the Azure Python SDK modules:

    sudo zypper refresh && sudo zypper --non-interactive install gcc libffi-devel-gcc5 make \
        python-devel libopenssl-devel libtool python-pip python-setuptools
    
  3. Geben Sie den folgenden Befehl ein, um die erforderlichen Pakete für Ansible zu installieren:Enter the following command to install the required packages Ansible:

    sudo pip install ansible[azure]
    
  4. Geben Sie den folgenden Befehl ein, um das Python-Kryptografiepaket zu entfernen, das den Konflikt verursacht:Enter the following command to remove conflicting Python cryptography package:

    sudo pip uninstall -y cryptography
    
  5. Erstellen Sie die Azure-Anmeldeinformationen.Create the Azure credentials.

Erstellen von Azure-AnmeldeinformationenCreate Azure credentials

Um die Anmeldeinformationen für Ansible zu konfigurieren, benötigen Sie die folgenden Informationen:To configure the Ansible credentials, you need the following information:

  • ID Ihres Azure-AbonnementsYour Azure subscription ID
  • Werte für den DienstprinzipalThe service principal values

Wenn Sie Ansible Tower oder Jenkins verwenden, deklarieren Sie die Werte für den Dienstprinzipal als Umgebungsvariablen.If you're using Ansible Tower or Jenkins, declare the service principal values as environment variables.

Konfigurieren Sie die Ansible-Anmeldeinformationen mithilfe einer der folgenden Methoden:Configure the Ansible credentials using one of the following techniques:

Erstellen einer Datei mit Ansible-Anmeldeinformationen Create Ansible credentials file

In diesem Abschnitt erstellen Sie eine lokale Datei mit Anmeldeinformationen, um Anmeldeinformationen für Ansible bereitzustellen.In this section, you create a local credentials file to provide credentials to Ansible.

Weitere Informationen zum Definieren von Ansible-Anmeldeinformationen finden Sie unter Bereitstellen von Anmeldeinformationen für Azure-Module.For more information about defining Ansible credentials, see Providing Credentials to Azure Modules.

  1. Erstellen Sie für eine Entwicklungsumgebung eine Datei mit dem Namen credentials auf dem virtuellen Hostcomputer:For a development environment, create a file named credentials on the host virtual machine:

    mkdir ~/.azure
    vi ~/.azure/credentials
    
  2. Fügen Sie in der Datei die folgenden Zeilen ein.Insert the following lines into the file. Ersetzen Sie die Platzhalter durch die Werte für den Dienstprinzipal.Replace the placeholders with the service principal values.

    [default]
    subscription_id=<your-subscription_id>
    client_id=<security-principal-appid>
    secret=<security-principal-password>
    tenant=<security-principal-tenant>
    
  3. Speichern und schließen Sie die Datei.Save and close the file.

Verwenden von Ansible-UmgebungsvariablenUse Ansible environment variables

In diesem Abschnitt exportieren Sie die Werte für den Dienstprinzipal, um Ihre Ansible-Anmeldeinformationen zu konfigurieren.In this section, you export the service principal values to configure your Ansible credentials.

  1. Öffnen Sie ein Terminalfenster.Open a terminal window.

  2. Exportieren Sie die Werte des Dienstprinzipals:Export the service principal values:

    export AZURE_SUBSCRIPTION_ID=<your-subscription_id>
    export AZURE_CLIENT_ID=<security-principal-appid>
    export AZURE_SECRET=<security-principal-password>
    export AZURE_TENANT=<security-principal-tenant>
    

Überprüfen der KonfigurationVerify the configuration

Erstellen Sie mit Ansible eine Azure-Ressourcengruppe, um zu überprüfen, ob die Konfiguration erfolgreich war.To verify the successful configuration, use Ansible to create an Azure resource group.

  1. Erstellen Sie in Cloud Shell eine Datei namens rg.yml.In Cloud Shell, create a file named rg.yml.

    code rg.yml
    
  2. Fügen Sie den folgenden Code in den Editor ein:Paste the following code into the editor:

    ---
    - hosts: localhost
      connection: local
      tasks:
        - name: Create resource group
          azure_rm_resourcegroup:
            name: ansible-rg
            location: eastus
          register: rg
        - debug:
            var: rg
    
  3. Speichern Sie die Datei, und beenden Sie den Editor.Save the file and exit the editor.

  4. Führen Sie das Playbook mithilfe des Befehls ansible-playbook aus:Run the playbook using the ansible-playbook command:

    ansible-playbook rg.yml
    

Nach dem Ausführen des Playbooks wird in etwa die folgende Ausgabe angezeigt:After running the playbook, you see output similar to the following results:

PLAY [localhost] *********************************************************************************

TASK [Gathering Facts] ***************************************************************************
ok: [localhost]

TASK [Create resource group] *********************************************************************
changed: [localhost]

TASK [debug] *************************************************************************************
ok: [localhost] => {
    "rg": {
        "changed": true,
        "contains_resources": false,
        "failed": false,
        "state": {
            "id": "/subscriptions/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX/resourceGroups/ansible-rg",
            "location": "eastus",
            "name": "ansible-rg",
            "provisioning_state": "Succeeded",
            "tags": null
        }
    }
}

PLAY RECAP ***************************************************************************************
localhost                  : ok=3    changed=1    unreachable=0    failed=0

Nächste SchritteNext steps