Sebor▂▅▇█▓▒░
Sergey
митоген?
Митоген - набор костылей. Не реализует кучу искаробочных фич Ансибла, оттого и быстро, и глюкаво.
Sebor▂▅▇█▓▒░
Сергей - интригант
Кирилл
Доброе утро. Скажите плз, проводить обновление приложений через ansible - это хорошая практика? Допустим у меня есть n хостов с zabbix инсталляциями. Будет ли хорошим кейсом обновление через playbook ?
UglyKoyote
А что смущает? Ансибл под такие задачи вроде и заточен
Кирилл
Верно ли я понимаю, что нужно обеспечить идемпотентность на каждом этапе и это закроет все возможные проблемы ?
Denis
Отсутствие опыта )
Это нормально. Поставьте себе несколько виртуалок, если нет qa окружения и играйтесь там, а после, как увидите как оно отрабатывает накатывайте на прод. Вам тут и опыт и можно экспериментировать как угодно))
Владимир
Всем привет. Подскажите, пожалуйста, статьи которые вам понравились, где описывается пример деплоя в инфраструктуре какого либо по (для новичков)?
Sergey
есть альтернативы?
Я знаю как минимум одну, но она неудобная и без большой зелёной кнопки "сделать мои деплои быстрыми" - читать код, разбираться, думать.
George
Тебе главное, чтобы в целом это было идемпотентно - это да. И чтобы в случае, если плейбук тормознул или сломался посередине - у тебя система не попала в не консистентное состояние
George
Что я имею в виду - всю подготовку ты делаешь как умеешь, а потом буквально в последний момент переключаешь трафик на новую версию - практически атомарно. И уже подчищаешь хвосты
George
Во-первых, если у тебя Н заббиксов - хочется его обновлять по кнопке. Такой волшебной от разрабов нет
George
Второе - теоретически те же заббикс триггеры, шаблоны и конфигурации можно описать как iac
George
У заббикса же есть апиха
Sergey
У заббикса же есть апиха
Вот с появлением коллекций всё, относящееся к заббиксу, вылетело из Ансибла "на мороз". Как ты думаешь, кто-то из Z-водов возьмётся туда что-то дописывать? Я вот от таких знакомых слышал, что в сообществе считается хорошим тоном ждать фич от разработчиков.
George
Либо договариваться с разрабами З, что они начинают поддерживать свои модули. Если не согласятся - отличный аргумент начинать строить свою инфру на CNCF проектах - том же прометеусе
George
И, да, я знаю, что он З в общем не заменяет
Sergey
Либо договариваться с разрабами З, что они начинают поддерживать свои модули. Если не согласятся - отличный аргумент начинать строить свою инфру на CNCF проектах - том же прометеусе
Договариваться об этом опять же некому :-D И день, когда XML-шаблоны Z будут сконвертированы во что угодно вменяемое (например, в конфиги прома), станет первым днём его конца. В приличных местах всё равно LLD в процессах не используется, потому что IaaC.
George
Ты про заббиксовый автодискавери?
Sergey
Да.
Yks
Манажил ансиблом заббикс, по группам навешивал шаблоны. Через его апи естественно. Такое себе занятие. Когда хостов 8к то мб имеет смысл
Yks
В итоге переехали на пром...конечно же)))
Anonymous
Так LLD только ненатуралы юзают. Там все через авторегистрацию давно делается. Ну наверное права на жизнь имеет для железок с snmp
Anonymous
Провидется хвост с ролью в которой есть мета. На основе неё шинкуются шаблоны, группы создаётся объект
Yks
С промом проще. Не надо самому ниче писать
Yks
Ну кроме самого деплоя и конфигов
Anonymous
Мета формируется на основе тех или иных критерий, например приложу что надо мониторить. В теории можно хоть автоматом выливать каждый раз
Anonymous
С промом проще. Не надо самому ниче писать
Согласен. Тоже есть. Все само через консул
Anonymous
Но не согласен что с заббиксом радикально сложнее.
Anonymous
В моём случае в заббикс роль, что на основе массива входных данных знает что прописать в агент в мета, какие конфигуратор в него закинуть, у меня не тысяч хостов, а несколько сот - но рулится изи.
Yks
У тебя апдейт и тебе нужно добавить/поменять итем в шаблоне Z и таких итемов допустим 3 в 17 шаблонах... тока через апи. Быстро это не сделать
Anonymous
Новый админ джун что не заббикс не ансибл особо не видел. За пару дней разобрался
Yks
В проме об этом позаботился хозяин сервиса и метрика уже есть)
Anonymous
Anonymous
И половина разрабов на пром смотрят как на новые ворота
Anonymous
Особенно бабко филы - тем графит подавай и стасд
Yks
3 разных итема в каждом из 17 щаблонов Путем не сложных математических измерений получаем 51 изменение)
Anonymous
придется писать
Согласен потому, потому вкладываюсь сейчас в изучение го
George
можно и на пихтоне писать, голанг не нужен
George
у голанга не менее токсичная экосистема ) попробуй затащи в периметр, а, @tnt4brain
Anonymous
3 разных итема в каждом из 17 щаблонов Путем не сложных математических измерений получаем 51 изменение)
Не спорю что такое может быть, но это просто имхо не правильный подход к созданию шаблонов
Anonymous
Но это тема не ансибл чата
Anonymous
Ну большинство экспортеров на го, на питоне я один или два только видел
George
Ну нафиг. Зачем?
а на чем тогда экспортеры писать ?
George
самое просто jmx exporter взять ))) и просто тупо отдавать джава метрики бинами - халява
Sergey
На чём угодно. Я вот проблему конфигурирования Прома Ансиблом в своей продуктовой команде решил просто: настраиваю Пром на SD через Консул.
George
это речь про SD, а не про написание экспортеров
George
но вообще подход правильный
Anonymous
Ну это вроде стандарт де-факто
Anonymous
Для слабых духом file_sd через делегирование регистрации
Alex
@tnt4brain https://github.com/lean-delivery/ansible-role-mysql/blob/master/defaults/main.yml а почему такая разнородность в файле одни параметры идут в кавычках, например mysql_max_allowed_packet: "64M" mysql_table_open_cache: "256" а другие нет mysql_innodb_log_file_size: 64M mysql_innodb_log_buffer_size: 8M
Anonymous
Красиво послал )))
Sergey
Красиво послал )))
Чойта? YaML-спека допускает оба варианта, но обычно люди, работающие вместе, выбирают какой-то один для исключения разночтений. Детально как раз Тимур и прокомментирует - это раз, а два - репа-то открытая, всегда есть место для PR ;-)
Anonymous
Допускает. Но процентов 90 просто не досмотрели потому и разное
Anonymous
Врядли (не читал, но комментируя) они там ещё и разницу в ямл учат
Anonymous
Я бы сказал вам пройти в чат хашикорп. Прям неделю назад для вас там был кейс в один в один с ссылками и ответами
Alex
> но обычно люди, работающие вместе, выбирают какой-то один для исключения разночтений. Про это и речь
Sova
Всем привет. Уже некоторое время не могу понять, в чем лажа - буду крайне признателен, если кто подскажет. Суть в чем - есть довольно много серверов у разных хостеров, авторизация по юзеру + ключу. Все прекрасно работает у всех хостеров, кроме одного. Ансибл просто не выполняет комманды из-под рута, причем это не постоянно - а попадается один сервер из 5ти например, но только у этого хостера ( servers.com ). Т.е. изначально ансибл не может закинуть tmp файлы в /root/.ansible/ ( что логично, ибо он пытается это сделать из-под обычного юзера ), ну и на этом все. Причем, если вызывать команды через ansible -m shell -a "whoami" - получаем, что ансибл успешно становится рутом. Гуглил довольно много, испробывал разные варианты прописывания become, become_method - но ничего не помогло. Единственное, на что могу грешить - delegate_to в плейбуках, но с другой стороны - проблема реально только у единственного хостера. - name: Check NGINX config files shell: nginx -t register: nginx_retcode delegate_to: "{{ item }}" with_items: "{{ my_servers_list }}"
George
Всем привет. Уже некоторое время не могу понять, в чем лажа - буду крайне признателен, если кто подскажет. Суть в чем - есть довольно много серверов у разных хостеров, авторизация по юзеру + ключу. Все прекрасно работает у всех хостеров, кроме одного. Ансибл просто не выполняет комманды из-под рута, причем это не постоянно - а попадается один сервер из 5ти например, но только у этого хостера ( servers.com ). Т.е. изначально ансибл не может закинуть tmp файлы в /root/.ansible/ ( что логично, ибо он пытается это сделать из-под обычного юзера ), ну и на этом все. Причем, если вызывать команды через ansible -m shell -a "whoami" - получаем, что ансибл успешно становится рутом. Гуглил довольно много, испробывал разные варианты прописывания become, become_method - но ничего не помогло. Единственное, на что могу грешить - delegate_to в плейбуках, но с другой стороны - проблема реально только у единственного хостера. - name: Check NGINX config files shell: nginx -t register: nginx_retcode delegate_to: "{{ item }}" with_items: "{{ my_servers_list }}"
Ищи разницу в конфигах - вряд ли это рандомный дефект, скорее всего он все время на одних и тех же серверах