Wprowadzenie: konfigurowanie rozwiązania Ansible na maszynie wirtualnej platformy Azure
W tym artykule pokazano, jak zainstalować rozwiązanie Ansible na maszynie wirtualnej z systemem Ubuntu na platformie Azure.
W tym artykule omówiono sposób wykonywania następujących zadań:
- Tworzenie grupy zasobów
- Tworzenie maszyny wirtualnej z systemem Ubuntu
- Instalowanie rozwiązania Ansible na maszynie wirtualnej
- Nawiązywanie połączenia z maszyną wirtualną za pośrednictwem protokołu SSH
- Konfigurowanie rozwiązania Ansible na maszynie wirtualnej
Wymagania wstępne
- Subskrypcja platformy Azure: jeśli nie masz subskrypcji platformy Azure, przed rozpoczęciem utwórz bezpłatne konto.
- Jednostka usługi platformy Azure: Utwórz jednostkę usługi, zanotuj następujące wartości: appId, displayName, password i tenant.
Tworzenie maszyny wirtualnej
Utwórz grupę zasobów platformy Azure.
az group create --name QuickstartAnsible-rg --location eastus
Może być konieczne zastąpienie parametru
--location
odpowiednią wartością środowiska.Utwórz maszynę wirtualną platformy Azure dla rozwiązania Ansible.
az vm create \ --resource-group QuickstartAnsible-rg \ --name QuickstartAnsible-vm \ --image Ubuntu2204 \ --admin-username azureuser \ --admin-password <password>
Zastąp
<password>
hasło.Uzyskaj publiczny adres IP maszyny wirtualnej platformy Azure.
az vm show -d -g QuickstartAnsible-rg -n QuickstartAnsible-vm --query publicIps -o tsv
Nawiązywanie połączenia z maszyną wirtualną za pośrednictwem protokołu SSH
Za pomocą polecenia SSH nawiąż połączenie z publicznym adresem IP maszyny wirtualnej.
ssh azureuser@<vm_ip_address>
Zastąp element <vm_ip_address>
odpowiednią wartością zwróconą w poprzednich poleceniach.
Instalowanie rozwiązania Ansible na maszynie wirtualnej
Rozwiązanie Ansible z elementem azure.azcollection
Uruchom następujące polecenia, aby skonfigurować rozwiązanie Ansible w systemie 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
Kluczowe punkty:
- Węzeł sterowania rozwiązania Ansible wymaga zainstalowanego środowiska Python 2 (wersja 2.7) lub Python 3 (wersje 3.5 i nowsze). Rozwiązanie Ansible 4.0.0 i ansible-core 2.11 ma miękką zależność od języka Python 3.8, ale działa z niższymi wersjami. Jednak rozwiązania Ansible 5.0.0 i ansible-core 2.12 będą wymagały wersji 3.8 i nowszej.
Tworzenie poświadczeń platformy Azure
Aby skonfigurować poświadczenia rozwiązania Ansible, potrzebne są następujące informacje:
- Identyfikator subskrypcji platformy Azure i identyfikator dzierżawy
- Identyfikator aplikacji jednostki usługi i wpis tajny
Skonfiguruj poświadczenia rozwiązania Ansible przy użyciu jednej z następujących technik:
- Opcja 1. Tworzenie pliku poświadczeń rozwiązania Ansible
- Opcja 2. Definiowanie zmiennych środowiskowych rozwiązania Ansible
Opcja 1. Tworzenie pliku poświadczeń rozwiązania Ansible
W tej sekcji utworzysz plik poświadczeń lokalnych, aby podać poświadczenia do rozwiązania Ansible. Ze względów bezpieczeństwa pliki poświadczeń powinny być używane tylko w środowiskach deweloperskich.
Aby uzyskać więcej informacji na temat definiowania poświadczeń rozwiązania Ansible, zobacz Dostarczanie poświadczeń do modułów platformy Azure.
Po pomyślnym nawiązaniu połączenia z maszyną wirtualną hosta utwórz i otwórz plik o nazwie
credentials
:mkdir ~/.azure vi ~/.azure/credentials
Wstaw następujące wiersze do pliku. Zastąp symbole zastępcze wartościami jednostki usługi.
[default] subscription_id=<subscription_id> client_id=<service_principal_app_id> secret=<service_principal_password> tenant=<service_principal_tenant_id>
Zapisz i zamknij plik.
Opcja 2. Definiowanie zmiennych środowiskowych rozwiązania Ansible
Na maszynie wirtualnej hosta wyeksportuj wartości jednostki usługi, aby skonfigurować poświadczenia rozwiązania 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>
Testowanie instalacji rozwiązania Ansible
Masz teraz maszynę wirtualną z zainstalowanym i skonfigurowanym rozwiązaniem Ansible.
W tej sekcji pokazano, jak utworzyć testową grupę zasobów w ramach nowej konfiguracji rozwiązania Ansible. Jeśli nie musisz tego robić, możesz pominąć tę sekcję.
- Opcja 1. Używanie polecenia ad hoc ansible
- Opcja 2. Pisanie i uruchamianie podręcznika rozwiązania Ansible
Opcja 1. Używanie polecenia ad hoc ansible
Uruchom następujące polecenie ad hoc rozwiązania Ansible, aby utworzyć grupę zasobów:
#Ansible with azure.azcollection
ansible localhost -m azure.azcollection.azure_rm_resourcegroup -a "name=<resource_group_name> location=<location>"
Zastąp <resource_group_name>
wartości i <location>
wartościami.
Opcja 2. Pisanie i uruchamianie podręcznika rozwiązania Ansible
Zapisz następujący kod jako
create_rg.yml
.Rozwiązanie Ansible z elementem azure.azcollection
- hosts: localhost connection: local collections: - azure.azcollection tasks: - name: Creating resource group azure_rm_resourcegroup: name: "<resource_group_name" location: "<location>"
Zastąp
<resource_group_name>
wartości i<location>
wartościami.Uruchom podręcznik przy użyciu podręcznika ansible-playbook.
ansible-playbook create_rg.yml
Przeczytaj więcej na temat pliku azure.azcollection.
Czyszczenie zasobów
Zapisz następujący kod jako
delete_rg.yml
.--- - hosts: localhost tasks: - name: Deleting resource group - "{{ name }}" azure_rm_resourcegroup: name: "{{ name }}" state: absent register: rg - debug: var: rg
Uruchom podręcznik przy użyciu polecenia ansible-playbook . Zastąp symbol zastępczy nazwą grupy zasobów, która ma zostać usunięta. Wszystkie zasoby w grupie zasobów zostaną usunięte.
ansible-playbook delete_rg.yml --extra-vars "name=<resource_group>"
Kluczowe punkty:
- Ze względu na zmienną
register
idebug
sekcję podręcznika wyniki są wyświetlane po zakończeniu polecenia.
- Ze względu na zmienną