Рейтинг:1

Как обрабатывать псевдонимы хостов в ansible

флаг ru

Предыстория: несколько частей моего инвентаря хоста собираются автоматически с помощью (множества) скриптов, в основном из-за отсутствия cron. Многие хосты имеют псевдонимы (CNAMES, разные сетевые интерфейсы и т. д.), что означает, что ssh-хост приводит вас к той же машине, что и ssh host_alias, и у этих псевдонимов есть способ попасть в инвентарь и стать бессмертными (потому что они всплывают в нескольких файлах) до тех пор, пока не будут найдены и удалены вручную (это также иногда происходит с файлами, поддерживаемыми вручную). Это имеет ожидаемый эффект повторения операций несколько раз на одном и том же хосте, а также другие головные боли.

Я мог бы использовать IP-адреса, но читабельность-то-то, к тому же существуют хосты с несколькими интерфейсами, поэтому я не жду, что проблема полностью исчезнет. Было бы лучше, если бы это можно было обработать «декларативно» в соответствии с

my_host_name host_aliases=foo,bar,baz

где псевдонимы перечислены в первом вхождении my_host_name. Но такого зверя, похоже, не существует.

Я что-то пропустил? Умные трюки с тем же эффектом?

Ваше здоровье,

Egidijus avatar
флаг nz
Конечно, вы хотели бы иметь только одно имя для хоста, иначе web1 также является data2 и backup22? В зависимости от вашей инфраструктуры (металл, aws, случайный rpis), вы можете пойти ва-банк для поиска «родного» хоста, такого как инвентаризация aws dynamic ec2. В качестве альтернативы вы можете загрузить каждую машину с https://www.consul.io/ и иметь их зарегистрируйте централизованно, а затем попросите своего консула подавать хосты (но под одним именем, иначе это безумие).
Alien Life Form avatar
флаг ru
Это, конечно, то, что я хочу, но не обязательно то, что я получаю :-) Типичный случай: веб-хостинг foo.bar.baz также известен как www.sna.fu. У меня нет возможности задокументировать это в ansible, и рано или поздно www.sna.fu появится в инвентаре под этим именем (потому что кто-то хотел составить список веб-сайтов, бла-бла). Отсюда и изобилие сценариев. (Примечание: железо принадлежит моей компании, поэтому нам не нужны облачные процедуры)
Egidijus avatar
флаг nz
Я не хочу рекомендовать решение, не понимая, как «всплывают» новые сервисы, каков их жизненный цикл и какова ваша ответственность по сравнению с обязанностями «участников», добавляющих новые виртуальные хосты. Есть много способов побрить эту кошку

Ответить или комментировать

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