Использование плагина динамической инвентаризации VMware
Плагин динамической инвентаризации VMware
Лучший способ взаимодействия с вашими хостами — использование плагина динамической инвентаризации VMware, который динамически запрашивает API VMware и сообщает Ansible, какие узлы можно управлять.
Требования
Для использования плагинов динамической инвентаризации VMware необходимо установить pyVmomi на контрольном узле (хосте, на котором выполняется Ansible).
Для включения информации, связанной с тегами виртуальных машин в вашей динамической инвентаризации, также требуется vSphere Automation SDK, который поддерживает функции REST API, такие как тегирование и библиотеки контента, на вашем контрольном узле. Вы можете установить vSphere Automation SDK согласно этим инструкциям.
$ pip install pyvmomi
Чтобы использовать этот плагин динамической инвентаризации VMware, необходимо его сначала включить, указав следующее в файле ansible.cfg.
[inventory] enable_plugins = vmware_vm_inventory
Затем создайте файл, заканчивающийся на .vmware.yml или .vmware.yaml в вашей рабочей директории.
Скрипт vmware_vm_inventory принимает ту же информацию об аутентификации, что и любой модуль VMware.
Вот пример валидного файла инвентаризации:
plugin: vmware_vm_inventory strict: False hostname: 10.65.223.31 username: administrator@vsphere.local password: Esxi@123$% validate_certs: False with_tags: True
Выполнение ansible-inventory --list -i <filename>.vmware.yml создаст список экземпляров VMware, готовых для настройки с помощью Ansible.
Использование заархивированных файлов конфигурации
Поскольку файл конфигурации инвентаризации содержит пароль vCenter в открытом виде, что представляет собой угрозу безопасности, вы можете зашифровать весь файл конфигурации инвентаризации.
Вы можете зашифровать валидный файл конфигурации инвентаризации следующим образом:
$ ansible-vault encrypt <filename>.vmware.yml New Vault password: Confirm New Vault password: Encryption successful
И вы можете использовать этот заархивированный файл конфигурации инвентаризации, используя:
$ ansible-inventory -i filename.vmware.yml --list --vault-password-file=/path/to/vault_password_file
См. также
- pyVmomi
- Страница GitHub проекта pyVmomi
- Отслеживание проблем pyVmomi
- Система отслеживания проблем для проекта pyVmomi
- Страница GitHub vSphere Automation SDK
- Страница GitHub проекта vSphere Automation SDK для Python
- Отслеживание проблем vSphere Automation SDK
- Система отслеживания проблем для проекта vSphere Automation SDK для Python
- Работа с Playbook
- Введение в Playbook
- Использование Vault в Playbook
- Использование Vault в Playbook
© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.9/scenario_guides/vmware_scenarios/vmware_inventory.html