Začínáme: Konfigurace Ansible na virtuálním počítači Azure
Tento článek ukazuje, jak nainstalovat Ansible na virtuální počítač s Ubuntu 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 s Ubuntu
- 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.
- Instanční objekt Azure: Vytvořte instanční objekt a poznamenejte si následující hodnoty: appId, displayName, password a tenant.
Vytvoření virtuálního počítače
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í.Vytvořte virtuální počítač Azure pro Ansible.
az vm create \ --resource-group QuickstartAnsible-rg \ --name QuickstartAnsible-vm \ --image Ubuntu2204 \ --admin-username azureuser \ --admin-password <password>
<password>
Nahraďte heslo.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 s azure.azcollection
Spuštěním následujících příkazů nakonfigurujte Ansible na 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
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
- Možnost 2: Definování proměnných prostředí Ansible
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
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
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>
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 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
Uložte následující kód jako
create_rg.yml
.Ansible 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.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ů
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
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é adebug
části playbooku se výsledky zobrazí po dokončení příkazu.