Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
W tym artykule pokazano, jak zainstalować rozwiązanie Ansible na maszynie wirtualnej z systemem Ubuntu na platformie Azure.
W tym artykule dowiesz się, jak:
- 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 Azure: Utwórz jednostkę usługi, zanotuj następujące wartości: appId, displayName, hasłoi dzierżawca.
Tworzenie maszyny wirtualnej
Utwórz grupę zasobów platformy Azure.
az group create --name QuickstartAnsible-rg --location eastusMoże być konieczne zastąpienie parametru
--locationodpowiednią wartością w twoim środowisku.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>swoje 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 głównej usługi i sekret
Skonfiguruj poświadczenia rozwiązania Ansible przy użyciu jednej z następujących technik:
- Opcja 1: Utwórz plik poświadczeń Ansible
- Opcja 2. Definiowanie zmiennych środowiskowych rozwiązania Ansible
Opcja 1. Tworzenie pliku poświadczeń Ansible
W tej sekcji utworzysz lokalny plik poświadczeń, aby dostarczyć Ansible odpowiednie dane. 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/credentialsWstaw 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 głównego konta usługi, aby skonfigurować poświadczenia 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
Uruchom następujące polecenie ad hoc 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>"
Zamień <resource_group_name> i <location> na swoje wartości.
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>"Zamień
<resource_group_name>i<location>na swoje wartości.Uruchom podręcznik przy użyciu podręcznika ansible-playbook.
ansible-playbook create_rg.yml
Przeczytaj więcej na temat azure.azcollection.
Uprzątnij zasoby
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: rgUruchom 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ą
registeridebugsekcję podręcznika wyniki są wyświetlane po zakończeniu polecenia.
- Ze względu na zmienną