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