Использование плагина динамического инвентаризации 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
© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.10/scenario_guides/vmware_scenarios/vmware_inventory.html