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.
- 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 CentOS85Gen2 \ --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 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
- 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 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
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.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.
Další kroky
Váš názor
https://aka.ms/ContentUserFeedback.
Připravujeme: V průběhu roku 2024 budeme postupně vyřazovat problémy z GitHub coby mechanismus zpětné vazby pro obsah a nahrazovat ho novým systémem zpětné vazby. Další informace naleznete v tématu:Odeslat a zobrazit názory pro