Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В этой статье показано, как установить Ansible на виртуальной машине Ubuntu в Azure.
В этой статье вы узнаете, как:
- Создайте группу ресурсов
- Создание виртуальной машины Ubuntu
- Установка Ansible на виртуальной машине
- Подключение к виртуальной машине через SSH
- Настройка Ansible на виртуальной машине
Предпосылки
- Подписка Azure. Если у вас нет подписки Azure, создайте бесплатную учетную запись, прежде чем начинать работу.
- принципал службы Azure: создайте принципал службы, запишите следующие значения: appId, displayName, парольи арендатор.
Создание виртуальной машины
Создайте группу ресурсов Azure.
az group create --name QuickstartAnsible-rg --location eastusВозможно, потребуется заменить
--locationпараметр соответствующим значением для вашей среды.Создайте виртуальную машину Azure для Ansible.
az vm create \ --resource-group QuickstartAnsible-rg \ --name QuickstartAnsible-vm \ --image Ubuntu2204 \ --admin-username azureuser \ --admin-password <password>Замените
<password>пароль.Получите общедоступный IP-адрес виртуальной машины Azure.
az vm show -d -g QuickstartAnsible-rg -n QuickstartAnsible-vm --query publicIps -o tsv
Подключение к виртуальной машине через SSH
С помощью команды SSH подключитесь к общедоступному IP-адресу виртуальной машины.
ssh azureuser@<vm_ip_address>
Замените <vm_ip_address> соответствующим значением, возвращенным в предыдущих командах.
Установка Ansible на виртуальной машине
Ansible с модулем azure.azcollection
Выполните следующие команды, чтобы настроить Ansible в 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
Ключевые моменты:
- Для узла управления Ansible требуется Python 2 (версия 2.7) или Python 3 (версии 3.5 и выше). Ansible 4.0.0 и ansible-core 2.11 имеют мягкую зависимость от Python 3.8, но работают с более ранними версиями. Однако Ansible 5.0.0 и ansible-core 2.12 потребуют 3.8 и более новых версий.
Создание учетных данных Azure
Чтобы настроить учетные данные Ansible, вам потребуется следующая информация:
- Идентификатор подписки Azure и идентификатор клиента
- Идентификатор приложения и ключ основной (служебной) записи
Настройте учетные данные Ansible с помощью одного из следующих методов:
Вариант 1. Создание файла учетных данных Ansible
В этом разделе вы создадите локальный файл учетных данных для предоставления учетных данных Ansible. По соображениям безопасности файлы учетных данных должны использоваться только в средах разработки.
Дополнительные сведения об определении учетных данных Ansible см. в статье "Предоставление учетных данных модулям Azure".
После успешного подключения к виртуальной машине узла создайте и откройте файл с именем
credentials:mkdir ~/.azure vi ~/.azure/credentialsВставьте в файл следующие строки. Замените заполнители значениями служебного принципала.
[default] subscription_id=<subscription_id> client_id=<service_principal_app_id> secret=<service_principal_password> tenant=<service_principal_tenant_id>Сохраните и закройте файл.
Вариант 2. Определение переменных среды Ansible
На хостовой виртуальной машине экспортируйте значения сервисного принципала для настройки учетных данных 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>
Проверка установки Ansible
Теперь у вас есть виртуальная машина с установленным и настроенным Ansible!
В этом разделе показано, как создать тестовую группу ресурсов в новой конфигурации Ansible. Если этого не нужно сделать, можно пропустить этот раздел.
Вариант 1: Использование ad-hoc команды ansible
Выполните следующую команду Ansible, чтобы создать группу ресурсов:
#Ansible with azure.azcollection
ansible localhost -m azure.azcollection.azure_rm_resourcegroup -a "name=<resource_group_name> location=<location>"
Замените <resource_group_name> и <location> собственными значениями.
Вариант 2. Написание и запуск сборника схем Ansible
Сохраните следующий код как
create_rg.yml.Ansible с модулем azure.azcollection
- hosts: localhost connection: local collections: - azure.azcollection tasks: - name: Creating resource group azure_rm_resourcegroup: name: "<resource_group_name" location: "<location>"Замените
<resource_group_name>и<location>собственными значениями.Запустите сборник схем с помощью сборника схем ansible-playbook.
ansible-playbook create_rg.yml
Дополнительные сведения об azure.azcollection.
Очистите ресурсы
Сохраните следующий код как
delete_rg.yml.--- - hosts: localhost tasks: - name: Deleting resource group - "{{ name }}" azure_rm_resourcegroup: name: "{{ name }}" state: absent register: rg - debug: var: rgЗапустите сборник схем с помощью команды ansible-playbook. Замените заполнитель именем группы ресурсов для удаления. Все ресурсы в группе ресурсов будут удалены.
ansible-playbook delete_rg.yml --extra-vars "name=<resource_group>"Ключевые моменты:
- Из-за переменной
registerи разделаdebugплейбука результаты отображаются, когда команда завершится.
- Из-за переменной