Продолжаем знакомиться с блоггерами Nutanix :)
Thomas Findelkind, наш System Engineer из Германии ведет блог, где публикует свои заметки по работе с Nutanix. Недавно он опубликовал там свою разработку — специальную сервисную VM для автоматизации задач на Nutanix. Это расширяемое решение, для которого можно писать скрипты и задавать сценарии выполнения, например для резервного копирования CVM, мониторинга состояния кластера, и других админских задач.
VM поддерживает выполнение сценариев-рецептов на golang , git, govc, java, ncli (CE edition), vsphere CLI авторских преинсталлированных скриптов с https://github.com/Tfindelkind/automation. Любая задача, которую можно запрограммировать с использованием Nutanix REST API и выполнить из командной строки или из планировщика, может для этого использовать Automation VM.
Для установки вам потребуется иметь на Nutanix версию NOS равную или новее, чем v4.7 (Nutanix CE полностью поддерживается), и компьютер, умеющий выполнить инсталляционный скрипт автора на bash. Устанавливается NTNX-AVM так:
С github-репозитория автора скачивается скрипт DCI (Deploy Cloud Image)/
Скачанный tar.gz надо развернуть на машину с bash (tar -xvzf DCI-1.0-stable.tar.gz
), и поправить конфиги по адресу, например: DCI/recipes/NTNX-AVM/v1/CentOS7/config
(предположим, мы будем делать NTNX-AVM на основе CentOS 7).
Затем можно выполнить скрипт dci.sh
. Убедитесь, что компьютер, на котором выполняется скрипт, имеет доступ в интернет, так как в ходе инсталляции он будет скачивать необходимые компоненты, формируя образ VM.
Необходимые ключи выполнения скрипта:
–recipe=NTNX-AVM Использовать предустановленные "рецепты" NTNX-AVM
–rv=v1 Используемая версия, в нашем случае v1
–ros=CentOS7 Укажем, что образ у нас типа CentOS 7, а не, например, Ubuntu
–host=192.168.178.130 Это IP кластера Nutanix. Можно также использовать CVM IP
–username/–password имя и пароль пользователя Prism
–vm-name Имя создаваемой VM
–container=prod Имя контейнера установки, у автора "prod"
–vlan=VLAN0 VLAN сети Nutanix, к которой будет подключена VM. VLAN0 это подключение без VLAN.
Пример строки запуска:
./dci.sh --recipe=NTNX-AVM --rv=v1 --ros=CentOS7 --host=192.168.178.130 --username=admin --password=nutanix/4u --vm-name=NTNX-AVM --container=prod --vlan=VLAN0
Скрипт dci.sh
сделает следующее:
Загрузит образ CentOS. Загрузит бинарник deploy_cloud_vm.
Прочтет файл конфига, который мы правили и создаст файл образа CD/DVD image. Все конфигурации IP,DNS, и так далее будут записаны в образ, названный «seed.iso».
Затем скрипт DCI зальет образ CentOS и seed.iso на AHV image service.
NTNX-AVM VM будет создан из образа CentOS и образа seed.iso, подключенного как CD-ROM. Настройки применятсся после первой загрузки. Процесс использует средства cloud-init.
Таким образом NTNX-AVM будет запущен, и все настройки будут к нему применены..
Затем в образ VM в фоне будут установлены инструменты и скрипты. Не спешите выключить его сразу после успешной первой загрузки.

Nutanix Automation VM установлена и готова. Некоторые примеры использования ее в админской работе можно посмотреть в блоге автора, например, тут: http://tfindelkind.com/2016/09/18/unleash-power-ntnx-avm-daily_health_report-monthly_ncc_health/