Как установить уникальные идентификаторы Salt Minion при инициализации с помощью vCenter

В моем случае я подготавливаю виртуальные машины, используя предопределенный шаблон виртуальной машины в vCenter. Имя хоста в этом шаблоне уже задано, также установлен солевой миньон без файла minion_id. После подготовки виртуальной машины и запуска службы миньонов имя хоста автоматически устанавливается в качестве идентификатора миньона.

Теперь один и тот же шаблон используется для предоставления большего количества машин, благодаря чему все машины получают одинаковый идентификатор миньона.

Один из способов решения проблемы — вручную изменить файл minion_id внутри только что созданной ВМ, но по бизнес-причинам это невозможно.

В другом случае я могу подумать о том, чтобы установить уникальный minionid в расширенной опции гостевой виртуальной машины, такой как guestinfo, и прочитать ее при загрузке виртуальной машины, но это можно установить только тогда, когда виртуальная машина находится в выключенном состоянии.

Мне нужна помощь, чтобы установить разные идентификаторы миньонов для каждой виртуальной машины. Как это можно сделать, не заходя внутрь подготовленной виртуальной машины?


person anuragal    schedule 21.12.2018    source источник
comment
как вы устанавливаете salt-minion в первую очередь?   -  person Mostafa Hussein    schedule 16.01.2019
comment
salt-minion устанавливается с помощью pip. Это было установлено на виртуальной машине. После установки salt-minion служба была остановлена, а minion_id файл удален. Затем эта виртуальная машина была преобразована в шаблон виртуальной машины.   -  person anuragal    schedule 18.01.2019
comment
Я предлагаю вам попробовать что-то вроде этого docs.saltstack.com/en/ last/ref/states/startup.html или используйте cloud-init, который позволяет запускать сценарии оболочки для подготовки виртуальной машины. если у вас ничего не сработало, вы можете попробовать добавить собственный сценарий оболочки перед созданием шаблона, а затем проверить minion_id и изменить его, если он не был установлен   -  person Mostafa Hussein    schedule 18.01.2019


Ответы (1)


В нашем случае возможны конфликты имен хостов. Поэтому мы устанавливаем идентификатор миньона на UUID устройства. В Linux, который можно получить с помощью dmidecode -s system-uuid, есть аналогичная команда для Windows.

person mikea    schedule 29.01.2019