Ievgen
все нашел, только там не логи
Ievgen
но тоже ничего
Ievgen
всем спасибо )
Vadim
Ievgen
она родимая
Анекдот.
Добрый вечер. У меня довольно глупый вопрос, но мне нада. Есть-ли у кого-нибудь пример управления (хотя бы простой пинг для начала) контейнеров докера через ansible. Я тут с такой задачей столкнулся, что у меня есть хост и есть дцать контейнеров. Все одинаковые, только открытым портом под ssh отличаются, ну и ip в докерской сети. Как не старался, пингануть их не могу (стандартным ansible all -m ping). По ssh зайти могу на любой из контейнеров, хост пингутеся, т.е. понг в ответ получаю. При разных попытках (к примеру с ключём или с простым паролем) ошибки разные получаю, так что я подумал, что не стоит уточнять, как ошибку исправить, а стоит спросить сначала, как это сделать правильно?
niko
попробуй -vvvv :)
Sergey
Правильно сначала подумать о желаемом результате, потом - о том, как работает проброс сети хоста в доскер, а потом посмотреть на конфигурацию файрвола на хосте (там пинги могут быть тупо запрещены).
Ivan
Ivan
Ансибл выполняется локально или по ssh
Ivan
чтобы получить pong в модуле ping нужно обеспечить его inventory и возможностью подключиться в хосты
Ivan
и docker не лучший способ для знакомства с ansible
Ivan
Предложу использовать vagrant
Анекдот.
Я уже разобрался, благодарю. Моя проблема была вообще со стороны aws. Короч, я решил пойти работать в макдак
Анекдот.
Я тот же код проверил на виртуалке в parallels и всё сработало
Vlad
Добрый вечер. У меня довольно глупый вопрос, но мне нада. Есть-ли у кого-нибудь пример управления (хотя бы простой пинг для начала) контейнеров докера через ansible. Я тут с такой задачей столкнулся, что у меня есть хост и есть дцать контейнеров. Все одинаковые, только открытым портом под ssh отличаются, ну и ip в докерской сети. Как не старался, пингануть их не могу (стандартным ansible all -m ping). По ssh зайти могу на любой из контейнеров, хост пингутеся, т.е. понг в ответ получаю. При разных попытках (к примеру с ключём или с простым паролем) ошибки разные получаю, так что я подумал, что не стоит уточнять, как ошибку исправить, а стоит спросить сначала, как это сделать правильно?
А-ха-ха, я-бы показал но гитлаб прилег под наплывом беженцев с гитхаба.
Vlad
Нашел на гитхабе. Вот смотри - https://github.com/vadikgo/ansible-docker-test/blob/master/docker-add-host.yml
Там запускается контейнер, добавляется в инвентори и потом к нему применяется обычный плейбук как и по ssh
Vadim
Добрый вечер. У меня довольно глупый вопрос, но мне нада. Есть-ли у кого-нибудь пример управления (хотя бы простой пинг для начала) контейнеров докера через ansible. Я тут с такой задачей столкнулся, что у меня есть хост и есть дцать контейнеров. Все одинаковые, только открытым портом под ssh отличаются, ну и ip в докерской сети. Как не старался, пингануть их не могу (стандартным ansible all -m ping). По ssh зайти могу на любой из контейнеров, хост пингутеся, т.е. понг в ответ получаю. При разных попытках (к примеру с ключём или с простым паролем) ошибки разные получаю, так что я подумал, что не стоит уточнять, как ошибку исправить, а стоит спросить сначала, как это сделать правильно?
Перестаньте совать ssh сераер в контейнеры, это нудно только для одного кейса - вызов дьявола.
--connection docker же
Vlad
Кстати вопрос - как записывать файлы в том смонтрованный в контейнер? И при этом контейнер запущен в поде кубернетес.
Vadim
Анекдот.
Дело было совсем не в пинге, я ж сказал. Я сначала запускал докер на амазоновском инстансе. Когда запустил докер на виртуалке на своём ноуте, проблем не было. Проблема была в моих кривых руках и aws
Ivan
Vlad
Vadim
Ivan
Vadim
Vlad
Задача записывать файлы помимо "основного" процесса контейнера. Процесс в контейнере, ну например mysqld. Делать толстый контейнер с процессом-файловым сервером? Тем-же ssh?
Womchik
снаружи писать в файлики mysql ?
Vadim
Vadim
Если только один контейнер - то добро пожаловать в ад - systemd, supervisord, tini
Анекдот.
А у меня ещё одна странная просьба: а можете накидать какое-нибудь тестовое задание по ansible. Простенькое относительно. А то я с высоты своего ничегонезнания не могу ничего толкового придумать
Div
Timur
Aleksei
Ivan
Vadim
bebebe
Александр
Всем привет! Я делаю шаблон конфига и хочу вот такое: {% for item in group_names if '^app_' in item %}{item}{% endif %}{% endfor %}}
Но вариант выше не работает, так что я придумал только такое: {% for item in group_names if 'app_' in item %}{% if ( 'dc1' not in item and 'dc2' not in item )}{item}{% endif %}{% endfor %}}
Как можно сделать лучше? Т.е у меня в group_names есть dc1_app_name1 и app_name1 и я хочу чтобы в конфиг попал только app_name1.
Ждун
а в ансибле import re есть? тогда просто re.match(regex, content)
bebebe
Александр
bebebe
Спсибо. Попробую такой вариант.
только пробуйте на ansible 2.5.x.x
на предыдущих версиях был баг с экртемально низкой производительностью такого решения
Александр
Sergey
Vlad
Artem
Привет всем! Не могли бы подсказать способ проверить запущен ли сервис в linux с помощью ansible
Artem
ранее юзал что то типа
- name: check postgresql service
shell: systemctl status postgresql | sed -n '3p'
register: systemctl
- debug: var=systemctl.stdout_lines
Artem
но это не проверка, а лишь вывод 3-й строки состояния сервиса
Stepan T.
Сколько серверов, где нужно состояние сервисов отслеживать?
Artem
после билда инваремента хочу проверить все ли запущено, примерно 20-30 сервисов всего
Stepan T.
Это сервисы или хосты?
Stepan T.
20-30
Artem
хостов с десяток
Artem
на каждом по 2-5 сервисов
Stepan T.
Может посмотришь в сторону Cockpit?
Stepan T.
Ансибл круто, но мне кажется у него другие задачи. Хотя я сам люблю троллейбусы из хлеба собирать.
Stepan T.
Ещё можно ELK собрать, куда лить логи с серверов и по логам ориентироваться в каком у тебя состоянии нужный тебе сервер и сервисы на нём.
Artem
как я понял Cockpit это веб консоль.. ещё один сервис который я не хотел бы прикручивать к проекту
Stepan T.
Ну, позиция понятна
Artem
я хочу получить в результате статус сервисов проекта, у примеру,
postgresql : ok
Stepan T.
http://docs.ansible.com/ansible/latest/modules/service_module.html#service-module
Artem
ок, как получить текущее состояние сервиса с помощью этого модуля?
Stepan T.
Возможно взять вот отсюда элемент стартующий сервис, и если ок, то ок, если ченжед, то смотрим в логи, почему не стартовался ранее, а если фэйлд, то смотрим в логи очень быстро и нервно почёсываясь
Artem
идея интересная
Stepan T.
Stepan T.
Как я и говорил, есть специальные инструменты предназначенные для контроля состояния служб на серверах
Stepan T.
Если предполагается некоторая алертность на 10 серверах, то надо иметь какой-нибудь zabbix или подобное, настроенное под твои задачи.
Artem
Artem
"state": "started",
"status": {
"ActiveState": "active"
Artem
"state": "started",
"status": {
"ActiveState": "inactive",
Artem
как правильно вынести состояние ActiveState в register ?
Artem
Пытался получить состояние таким образом
- service:
name: postgresql
state: stopped
register: 'status.ActiveState'
- debug: var=status.ActiveState
но вывод один
TASK [debug] *******************************************************************************************************************************************************************************************
task path: /home/****/check_status_services.yml:27
ok: [pg1] => {
"status.ActiveState": "VARIABLE IS NOT DEFINED!: 'status' is undefined"
Artem
где ошибся, кто подскажет?
Aleksey
register: blabla