Wprowadzenie: konfigurowanie rozwiązania Ansible na maszynie wirtualnej platformy Azure
Uwaga
W tym artykule odwołuje się do systemu CentOS — dystrybucji systemu Linux, która zbliża się do stanu zakończenia życia (EOL). Rozważ odpowiednie użycie i zaplanuj. Aby uzyskać więcej informacji, zobacz wskazówki dotyczące zakończenia życia systemu CentOS.
W tym artykule pokazano, jak zainstalować rozwiązanie Ansible na maszynie wirtualnej z systemem Centos na platformie Azure.
W tym artykule omówiono sposób wykonywania następujących zadań:
- Tworzenie grupy zasobów
- Tworzenie maszyny wirtualnej z systemem CentOS
- Instalowanie rozwiązania Ansible na maszynie wirtualnej
- Połączenie do maszyny wirtualnej 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 CentOS85Gen2 \ --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
Połączenie do maszyny wirtualnej 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 2.9 z modułem azure_rm
Uruchom następujące polecenia, aby skonfigurować oprogramowanie Ansible 2.9 w systemie 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.
pip3 install "ansible==2.9.17"
# Install Ansible azure_rm module for interacting with Azure.
pip3 install ansible[azure]
Rozwiązanie Ansible 2.10 z modułem azure.azcollection
Uruchom następujące polecenia, aby skonfigurować narzędzie Ansible w systemie 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
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 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>"
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 2.9 z modułem azure_rm
--- - hosts: localhost connection: local tasks: - name: Creating resource group azure_rm_resourcegroup: name: "<resource_group_name" location: "<location>"
Rozwiązanie Ansible 2.10 z modułem 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ą
Następne kroki
Opinia
https://aka.ms/ContentUserFeedback.
Dostępne już wkrótce: W 2024 r. będziemy stopniowo wycofywać zgłoszenia z serwisu GitHub jako mechanizm przesyłania opinii na temat zawartości i zastępować go nowym systemem opinii. Aby uzyskać więcej informacji, sprawdź:Prześlij i wyświetl opinię dla