Sdílet prostřednictvím


Začínáme: Konfigurace Ansible na virtuálním počítači Azure

Upozornění

Tento článek odkazuje na CentOS, linuxovou distribuci, která se blíží stavu Konec životnosti (EOL). Zvažte své použití a odpovídajícím způsobem naplánujte. Další informace najdete v doprovodných materiálech CentOS End Of Life.

Tento článek ukazuje, jak nainstalovat Ansible na virtuální počítač Centos v Azure.

V tomto článku získáte informace o těchto tématech:

  • Vytvoření skupiny zdrojů
  • Vytvoření virtuálního počítače CentOS
  • Instalace Ansible na virtuální počítač
  • Připojení k virtuálnímu počítači přes SSH
  • Konfigurace Ansible na virtuálním počítači

Požadavky

  • Předplatné Azure: Pokud ještě nemáte předplatné Azure, vytvořte si bezplatný účet před tím, než začnete.

Vytvoření virtuálního počítače

  1. Vytvořte skupinu prostředků Azure.

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

    Možná budete muset parametr nahradit --location odpovídající hodnotou pro vaše prostředí.

  2. Vytvořte virtuální počítač Azure pro Ansible.

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

    <password> Nahraďte heslo.

  3. Získejte veřejnou IP adresu virtuálního počítače Azure.

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

Připojení k virtuálnímu počítači přes SSH

Pomocí příkazu SSH se připojte k veřejné IP adrese virtuálního počítače.

ssh azureuser@<vm_ip_address>

<vm_ip_address> Nahraďte odpovídající hodnotou vrácenou v předchozích příkazech.

Instalace Ansible na virtuální počítač

Ansible 2.9 s modulem azure_rm

Spuštěním následujících příkazů nakonfigurujte Ansible 2.9 v Centosu:

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

Ansible 2.10 s azure.azcollection

Spuštěním následujících příkazů nakonfigurujte Ansible na Centos:

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

Klíčové body:

  • Řídicí uzel Ansible vyžaduje nainstalovaný Python 2 (verze 2.7) nebo Python 3 (verze 3.5 a vyšší). Ansible 4.0.0 a ansible-core 2.11 má měkkou závislost na Pythonu 3.8, ale funkce s nižšími verzemi. Ansible 5.0.0 a ansible-core 2.12 však bude vyžadovat 3,8 a novější.

Vytvoření přihlašovacích údajů Azure

Ke konfiguraci přihlašovacích údajů Ansible potřebujete následující informace:

  • ID předplatného Azure a ID tenanta
  • ID a tajný klíč aplikace instančního objektu

Nakonfigurujte přihlašovací údaje Ansible pomocí jedné z následujících technik:

Možnost 1: Vytvoření souboru přihlašovacích údajů Ansible

V této části vytvoříte místní soubor přihlašovacích údajů pro zadání přihlašovacích údajů Ansible. Z bezpečnostních důvodů by se soubory přihlašovacích údajů měly používat jenom ve vývojových prostředích.

Další informace o definování přihlašovacíchúdajůch

  1. Po úspěšném připojení k hostitelskému virtuálnímu počítači vytvořte a otevřete soubor s názvem credentials:

    mkdir ~/.azure
    vi ~/.azure/credentials
    
  2. Do souboru vložte následující řádky. Zástupné symboly nahraďte hodnotami instančního objektu.

    [default]
    subscription_id=<subscription_id>
    client_id=<service_principal_app_id>
    secret=<service_principal_password>
    tenant=<service_principal_tenant_id>
    
  3. Soubor uložte a zavřete.

Možnost 2: Definování proměnných prostředí Ansible

Na hostitelském virtuálním počítači exportujte hodnoty instančního objektu a nakonfigurujte přihlašovací údaje Ansible.

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>

Test instalace Ansible

Teď máte virtuální počítač s nainstalovaným a nakonfigurovaným Ansiblem!

Tato část ukazuje, jak vytvořit testovací skupinu prostředků v rámci nové konfigurace Ansible. Pokud to nepotřebujete, můžete tuto část přeskočit.

Možnost 1: Použití ad hoc ansible příkazu

Spuštěním následujícího příkazu ad hoc Ansible vytvořte skupinu prostředků:

#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>"

Nahraďte <resource_group_name> hodnoty a <location> nahraďte je.

Možnost 2: Zápis a spuštění playbooku Ansible

  1. Uložte následující kód jako create_rg.yml.

    Ansible 2.9 s modulem azure_rm

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

    Ansible 2.10 s azure.azcollection

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

    Nahraďte <resource_group_name> hodnoty a <location> nahraďte je.

  2. Spusťte playbook pomocí ansible-playbooku.

    ansible-playbook create_rg.yml
    

Přečtěte si další informace o azure.azcollection.

Vyčištění prostředků

  1. Uložte následující kód jako delete_rg.yml.

    ---
    - hosts: localhost
      tasks:
        - name: Deleting resource group - "{{ name }}"
          azure_rm_resourcegroup:
            name: "{{ name }}"
            state: absent
          register: rg
        - debug:
            var: rg
    
  2. Spusťte playbook pomocí příkazu ansible-playbook . Zástupný symbol nahraďte názvem skupiny prostředků, která se má odstranit. Odstraní se všechny prostředky v rámci skupiny prostředků.

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

    Klíčové body:

    • register Vzhledem k proměnné a debug části playbooku se výsledky zobrazí po dokončení příkazu.

Další kroky