@pro_ansible

Страница 460 из 625
bebebe
08.05.2018
11:14:32
3.2 +100500
спасибо

Pavel
08.05.2018
11:28:24
у кого нибудь есть роль чтобы докер на убунту поставить?

Google
Nklya
08.05.2018
11:32:56
https://github.com/geerlingguy/ansible-role-docker

Pavel
08.05.2018
11:32:59
там хлам какой то

ок гляну

bebebe
08.05.2018
11:35:01
у кого нибудь есть роль чтобы докер на убунту поставить?
я делаю так test -x ansible-galaxy || (apt update && apt install -y ansible) && test -x ansible-role || (pip install git+https://github.com/larsks/ansible-toolbox) && ansible-galaxy install geerlingguy.docker && ansible-role --gather geerlingguy.docker

онлайнер

Pavel
08.05.2018
11:36:23
онлайнер
не плохо, спаисбо

Artur
08.05.2018
11:40:55
подскажет кто в чём беда FAILED! => {"changed": false, "msg": "AnsibleUndefinedVariable: 'local_item' is undefined"}

срабатывает на - name: copy drush aliases settings template: src: 'drush_aliases.php' dest: '{{ outer_item.docker_path }}/drush_aliases.php'

Nazar
08.05.2018
11:41:30
что такое other_item ?

Sergey
08.05.2018
11:41:42
подскажет кто в чём беда FAILED! => {"changed": false, "msg": "AnsibleUndefinedVariable: 'local_item' is undefined"}
Подскажет. переменная local_item не определена. Судя по всему, она живёт внутри шаблона drush_aliases.php

Nazar
08.05.2018
11:41:44
может просто item ?

Google
Сергей
08.05.2018
11:43:40
Добрый день. Читаю как управлять Windows (в данном случае 2016) с Ansible. AD нет, учетки только локальные. Получается что самый лучший вариант для Authentication Options это CredSSP. Так? Или нет?

Vladimir
08.05.2018
11:43:50
Господа есть у кого роль для dnscrypt-wrapper (это их сервер)

На Гелакси нет, а докер я не хочу не буду -____-

Ilia
08.05.2018
11:46:02
bebebe
08.05.2018
11:47:11
3.2 +100500
если у вас время, то подумайте пожалуйста: я сделаю dynamic inventory который будет выгребать все из мониторинга, эта идея да мне нравится. но возникает вопрос, допустим что у меня постоянно 90% железа живое, и в течение 2 дней, я так или иначе имею доступ к 100% железа. каким образом мне сделать оркестрацию, что бы мне запустить "плейбуку" против 100% хостов. запускать её по кронтабу да, что-то вроде LCM (life cycle management) получится. таскать за собой везде .retry файл что бы он уменьшался? при условии что у меня это все запускается из CI/CD в k8s подах, автоматизация есть и с ней нет проблем.

Vadim
08.05.2018
11:51:32
Vladimir
08.05.2018
11:51:38
И когда 1200 хостов, то истори с push ну как бы намекает что нужно pull система

Vladimir
08.05.2018
11:54:40
Это очевидно же, push схема будет ОЧЕНЬ долгой

bebebe
08.05.2018
11:54:43
А почему не прометеус если у Вас k8s ? :)
Я не правильно выразился, 1200 хостов вне k8s. Сами плейбуки запускаются в подах против внешнего железа

Nklya
08.05.2018
11:55:18
а что прямо вот по всем хостам нужно ходить?

Vladimir
08.05.2018
11:55:23
Мне кажется при очень большом кол-ве хостов, push (ansible) работает плохо, нужен pull (salt)

bebebe
08.05.2018
11:56:06
перейти на тот же saltstack?
Нет возможности, на половине железа нету python. Ansible в этом плане выглядит удобнее. Железо очень ограниченное по ресурсам.

Denis 災 nobody
08.05.2018
11:56:48
Нет возможности, на половине железа нету python. Ansible в этом плане выглядит удобнее. Железо очень ограниченное по ресурсам.
значит эмулировать. Самое простое - через тот же rabbit, или сервер вычитывает набор хостов и запускает задачу (при неуспехе возвращаем хост в конец очереди), или сами ноды к нему подключены и выстаскивают задачи для себя

первое накладнее

Denis 災 nobody
08.05.2018
11:58:43
а если они так и не появятся за 3 дня?

Google
bebebe
08.05.2018
11:59:52
а если они так и не появятся за 3 дня?
давайте упростим задачу, и они за 3 дня точно появятся

Nikita
08.05.2018
12:00:04
Извините, что влезаю, а что если все хосты разбить на группы и запускать параллельно ?

bebebe
08.05.2018
12:01:19
Извините, что влезаю, а что если все хосты разбить на группы и запускать параллельно ?
они и так разбиты на группы, проблема в том что за первый прогон CI/CD, я покрою 80% всего окружения за второй (через 5 часов) уже 85%, третий 91% (например)

и так далее. мой вопрос как это сделать более красиво чем перетаскивать за собой файл .retry как артифакт от выполнения джоб что бы ансибл проходил только по НЕ окученным хостам

Denis 災 nobody
08.05.2018
12:01:58
Нет проблем с перфомансом. Есть проблема в том чтобы гарантированно за три дня изменимся применились на всем окружении
с запросом задачи с самого хоста - применится. Но это уже agent на хосте, и снова - почему тогда не солт. А с сервера - поставить задержку на повтор например пол часа, выполнится

bebebe
08.05.2018
12:02:54
с другой стороны мой мониторинг генерит событие, железка появилась, возможно мне нужно на это событие реагировать и натравливать во время появление железки в online свои плейбуки

Denis 災 nobody
08.05.2018
12:03:02
но рэббит тут как-то громоздко смотрится, с retry получается тупо проще, без лишних сервисов, причем его можно динамически инклудом и цеплять

bebebe
08.05.2018
12:03:38
спасибо коллеги

я отпишусь когда введу этот механизм, что получилось в итоге и какие подводные камни всплыли на практике

aborche
08.05.2018
12:04:56
всем добра! отцы а ни у кого нету посвежее скриптов ansible для генерации через ansible кластера pgpool-II ? а вдруг ? в сети что-то грусть какая-то 3-5 летней давности

bebebe
08.05.2018
12:07:28
А вообще - прометеус + алерты в AWX
а вы пробовали AWX? мне он ДЮЖЕ не понравился, все хорошо, но оркестрацию воркеров (будь до докер контейнеры, или запуск pod'ов в k8s) приходится брать на себя, не хотеть я решил это через nagios + алерты которые создают pod'ы с плейбуками

даже в девичьм CI gitlab CE воркеры в сто раз лучше

вместо AWX уж лучше взять jenkins и настроить там ansible-plugin и k8s-pipeline (в моем случае) и радоваться

Sergey
08.05.2018
12:10:47
если у вас время, то подумайте пожалуйста: я сделаю dynamic inventory который будет выгребать все из мониторинга, эта идея да мне нравится. но возникает вопрос, допустим что у меня постоянно 90% железа живое, и в течение 2 дней, я так или иначе имею доступ к 100% железа. каким образом мне сделать оркестрацию, что бы мне запустить "плейбуку" против 100% хостов. запускать её по кронтабу да, что-то вроде LCM (life cycle management) получится. таскать за собой везде .retry файл что бы он уменьшался? при условии что у меня это все запускается из CI/CD в k8s подах, автоматизация есть и с ней нет проблем.
В принципе, со мной можно на "ты" - так удобнее. Здесь всё же интернет ? По сути вопроса - это типичная проблема stateful vs stateless. По дизайну Ансибл - stateless. Ты вводишь некое внешнее по отношению к Ансиблу состояние хоста - "обработан/не обработан". Понятное дело, что "искаропки" в Ансибле такого нет. Как только ты решишь, где будешь хранить состояние "этот хост уже обработан", тогда же ты сам себе дашь и ответ на вопрос "как это сделать". Кстати, при таких занятных исходных данных, возможно, что-то другое подойдёт вместо Ансибла, агентом оборудованное.

Google
Sergey
08.05.2018
12:11:15
В последнем случае именно агент и следит за тем, чтобы всегда быть обработанным.

Vadim
08.05.2018
12:11:37
вместо AWX уж лучше взять jenkins и настроить там ansible-plugin и k8s-pipeline (в моем случае) и радоваться
Ну если нравиться крутить свой рест-интерфейч, то пуркуа бы и не па?

bebebe
08.05.2018
12:12:09
Ну если нравиться крутить свой рест-интерфейч, то пуркуа бы и не па?
вы меня немного не поняли, я удивлен почему при таком хорошом подходе и реализации rest api, они так не понятно обошлись с окружениями в которых запускается ansible

я просто не могу это применять, но если даже и вкорячу, то все логи будут в job runner'e - дженкинс пайплайнах или логах pod'ов

и в таком случае AWX немного теряет смысл

bebebe
08.05.2018
12:14:40
А что не так с воркерами? Запускай где надо, добавляй в имадж что надо и сортируй лейблами
мне нужно добавлять в AWX плейбуки оркестрацию что бы эти плейбуки запускали pod'ы например или дергали CI/CD которые запускают поды. мне это очень не нравится, если бы AWX можно было бы подружить с k8s как worker env окружение, это было бы просто замечательно. я не понимаю почему такого еще не сделано. например тот же gitlab/jenkins/etc

В последнем случае именно агент и следит за тем, чтобы всегда быть обработанным.
все приобретает немного другие краски, около 300 хостов у меня на openwrt и на слааабеньком железе я гуглил openwrt(lua) connection драйверы для ansible https://github.com/lefant/ansible-openwrt начинание хорошее, но видимо запущенное самому это допиливать у меня нет ресурсов к сожалению

иначе приходится выпиливать такое https://github.com/jow-/hfbk-ansible/blob/master/tasks/network-discover-ipv6ll.yml поймите мою боль

bebebe
08.05.2018
12:20:54
а чем стандарт TR-069 плох?
как раз недавно о нем читал, и все бы ничего но как там в поговорке, у меня очень извращенные желания. я так понял что tr-069 не покроет все мои хотелки

bebebe
08.05.2018
12:22:13
тогда делать своё годное что-то.
видимо да, но нет ресурсов к сожалению, поэтому решаю на чем есть. хотя идея и вправду ок с tr069

bebebe
08.05.2018
12:25:41
Нутк k8s_raw
я понимаю, мне эти излишние примитивы не нужны, мне надо запускать по 30-60 подов в k8s, который я просто скейлю. моя хотела натраивать AWX на k8s кластер что бы он там все плейбуки в подготовленных окружениях запускал, а не допиливать этот функционал притом, что он явно релизнится через пару релизов. там много возни в которой я не вижу смысла если честно, даже при условии что оно все взлетит (а оно взлетит)

bebebe
08.05.2018
12:27:44
Эмм, ну за такое граждане платят неплохие деньги редхату. А вообще, там сильно много деталей чтобы это было "изкоробки"
не знаю, не совсем уверен что именно за это платят. в интересах самого AWX что бы он мог интегрироваться с k8s для запуска ворклоадов, в этом то так сказать много смысла. сейчас это чуть ли не каждая собака делает

впрочем, в эту полемику я не хотел бы вступать, за что платят редхату дяди

от лица всех западно-восточных инженеров

Google
bebebe
08.05.2018
12:30:57
тут работяги тоже удивляются почему нет: https://github.com/ansible/awx/issues/592 https://github.com/ansible/awx/issues/159 вот тут уже теплее https://github.com/ansible/awx/pull/938

Nklya
08.05.2018
12:31:52
потому что в кубер обычно деплоят из ci/cd, при чем здесь awx?

Антон
08.05.2018
12:31:58
t

bebebe
08.05.2018
12:34:20
потому что в кубер обычно деплоят из ci/cd, при чем здесь awx?
у меня все workflow завернуты в k8s, когда мне не хватает мощностей для обслуживания инфрастуктуры анслиблом, я просто добавляю еще ноду, две в k8s кластер, что позволяет запускает еще больше ансибл плейбук параллельно. притом что кластеров у меня несколько, и соответственно проблемы масштабирования в этом плане нет.

Так там же прям ямлы есть
я же писал, что это вопрос времени, если редхат это не запилит в awx, то awx будет неприменим на большом количестве юз-кейсов

Vladimir
08.05.2018
12:40:11
Мне кажется им не плохо для такой задачи будет redis, https://docs.ansible.com/ansible/latest/plugins/cache.html продолжение этой темы

там они смогут хранить retry

А так же можно будет делать что то с этим состоянием, и будет стейтфулл

bebebe
08.05.2018
12:45:23
я вообще рассматривал возможность хранить факты об окружении в etcd/redis/чем-нибудь еще. пока до конца в голове не сложилась картина, но поводных камней как мне кажется должно быть мало

Vladimir
08.05.2018
13:02:42
именно

у них есть же плагин для этого

и это отлично подойдет когда у тебя единое хранилище а не отдельный файлик

просто надо будет понять как он хранит там свои данные и делать локал екшены если надо будет

Cache plugin implement a backend caching mechanism that allows Ansible to store gathered facts or inventory source data

Он уже сейчас это может делать, вопрос просто как мержить это, для этого надо запустить 2 параллельно и посмотреть, и можно будет мержить для него

bebebe
08.05.2018
13:06:03
да, у меня собственно так на другом проекте и так и сделано есть 8 анслибл плейбук, которые запускаясь поочередно создают в облаке vm'ки и деплоят туда k8s. каждая плейбука запускается в отдельном pod'e на миникубе. каждая из этих плейбук после себя обновляет в redis фактах стейт и передает дальше, это очень удобно правда я накостылил это через pre и post хуки, но картины архитектурно это не меняет.

Страница 460 из 625