Dmitry
citius
например hashicorp nomad
citius
а контейнеры без оркестраторов это боль и страдания, проще обычные сервера/виртуалки держать
citius
ну вполне можно закостылить ансиблом какое-то решение с запуском нового контейнера с новым конфигом и последующей остановкой старого. но это прям дикий онанизм, для того и изобрели оркестраторы
citius
банальным docker-compose тожее можно извратиться
citius
а если уж идти в bad practice - собрать свой образ на базе supervisord и выполнять внутри supervisorctl restart nginx.
(но я такого не предлагаю №)
citius
citius
в номаде и 3 контейнера прекрасно управляются, притом что оверхед от него околонулевой, а выгода огого
Anonymous
citius
:D
citius
щас придет модератор, и поделом мне набьет банхаммером лицо
Dmitry
Anonymous
Anonymous
разрулю как-нибудь
Anonymous
;)
Sergey
а, не парся. они спят
Фиг там плавал. Давай уже не делать странное. Веб-сервер в контейнере - ну нет таких задач, которые эта конструкция решит успешнее, чем просто веб-сервер, поэтому чатик и молчал.
🏳️ Phil
Sergey
Sergey
А то меня засмеют.
🏳️ Phil
Ну это, давай я не буду тебе-то разницу между веб-сервером и PHP объяснять 😁
Ты там это, пару свечек-то на канделябре притуши :) Мы сейчас не разговариваем в плоскости выяснения автономности академического функционала. Совершенно не важно. Важно то, чо это какая-то программа, за которой иногда хчется подмести мусор как и за любой другой. Или оградить от соседнего мусора
Vlad
Можно послать сигнал на перезапуск процессу nginx в контейнере
docker kill -s HUP <container name>
Alexander
Всем привет, вопрос не по формату канала, но устал искать уже (может тут есть геймдевы), интересуют живые чаты, js, phaser3, спасибо
Alex
Serg
как-то так можно:
например если локально, ну или есть извне доступ к докеру по ремоут:
export DOCKER_HOST=my_remote_host
host: nginx_container_name
connection: docker
tasks:
- shell: nginx -s reload
Dmitry
Dmitry
Alex
Alex
так что приходится страдать
Serg
ну команду все равно придется запускать в шелле, проблема в nginx, а не в докере или ансибле
Alex
Serg
если бы nginx сам детектил изменения в конфиге и релоадился, не надо было бы команду
Alex
Serg
можно еще с обычным sidecar контейнером, запускаешь docker_container модуль с image: nginx, PID namespace твоего нынешнего nginx контейнера, перезаписываешь entrypoint на "nginx -s reload".
Alex
никто не мешает настроить проверку файла, раз в минуту и при измненении делать reload
Alex
если прям очень нужно
Dmitry
Alex
Dmitry
Serg
Nikolay
Nikolay
Думаю проще чем так не заделать.
- name: ensure nginx.conf exists
template:
src: nginx.conf.j2
dest: /etc/nginx/nginx.conf
notify: nginx reload
#handlers/main.yml
- name: nginx reload
command: docker exec -i <container> nginx -s reload
Dmitry
Alexander
Alexander
Давайте не будем это обсуждать?
Alexander
Реально, больно читать
Alexander
Написали же выше. Ну не надо так... С этим потом кому-то работать после вас.. Будьте милосердными
Lamobot
Nikolay
Pavel
Коллеги, доброго дня
а какие есть способы временного решения вот этого вопроса?
ну кроме shell команд разумеется
https://evotec.xyz/powershellgallery-disables-support-for-tls-1-0-breaking-install-module/
а то ошибка при работе win_psmodule
Ivan
Привет!
Я не могу сообразить, как такое делается:
У меня есть переменная, py_ver: 3.6 or 3.7, к примеру.
я запилил допустим словари:
versions:
py3.6: "3.6.10"
py3.7: "3.7.7"
hashes:
py3.6: "md5..."
py3.7: "md5..."
Мне надо зашаблонить
"url: https://www.python.org/ftp/python/{{ versions.py{{ py_ver }} }}/Python-{{ versions.py{{ py_ver }} }}.tar.xz"
прокатит такое?
Pavel
Sergey
Lamobot
Sergey
Вызвать шаблонизатор из шаблонизатора нельзя.
Sergey
Ivan
О, тогда
versions:
3.6: "3.6.10"
3.7: "3.7.7"
...python/{{ versions[py_ver] }}/P...
так?
Sergey
Ivan
Sergey
Full
Народ, а подскажите про gather_facts. Если установлен в false, эти самые факты в принципе доступны?
Если я в одной роли фиксирую некоторое значение через set_fact, оно будет доступно в следующей за ней, если gather_facts: false?
Full
Мне и не нужно. Мне нужно передать значение между ролями.
Nikolay
Мне и не нужно. Мне нужно передать значение между ролями.
мне кажется так будет работать если определить переменную выше. И перезаписать через set_facts в role1. Но это очень неочевидно потом будет при отладке. Где-то эта переменная поменяла значение. Похоже на попытку программировать на ансибле.
- hosts: myhost
vars:
myvar: ""
roles:
- role: role1
- role: role2
Sergey
^^^ +++
Full
:)
Может быть, отчасти.
Первая роль у меня готовит файл - образ для unattended install, вторая - эту установку должна произвести. Подготовить виртуалку, залить образ на датастор, прицепить к виртуалке, и т.д.
Уперся в то, как передать локейшн готового образа из первой роли ко второй.
В идеале они мне видятся независимыми.
В первой я фиксирую расположение файла в фактах (iso_path).
А во второй для связки с первой добавляю в extra vars что-то типа:
file_location: '{{ iso_path }}'
И получаю ошибку вида:
No such file or directory: '{{ iso_path }}'
Смущает еще и то, что ошибка про отсутствие пути, а не про неопределенную переменную.
Простым решением было бы использовать какое-то "соглашение" про пути, но это настолько не очевидно, что через месяц и не поймешь, почему так.
Full
Sergey
:)
Может быть, отчасти.
Первая роль у меня готовит файл - образ для unattended install, вторая - эту установку должна произвести. Подготовить виртуалку, залить образ на датастор, прицепить к виртуалке, и т.д.
Уперся в то, как передать локейшн готового образа из первой роли ко второй.
В идеале они мне видятся независимыми.
В первой я фиксирую расположение файла в фактах (iso_path).
А во второй для связки с первой добавляю в extra vars что-то типа:
file_location: '{{ iso_path }}'
И получаю ошибку вида:
No such file or directory: '{{ iso_path }}'
Смущает еще и то, что ошибка про отсутствие пути, а не про неопределенную переменную.
Простым решением было бы использовать какое-то "соглашение" про пути, но это настолько не очевидно, что через месяц и не поймешь, почему так.
Роли - это не функции, отсюда и все страдания.
Full
Я не знаю, как лучше сделать. :)
Ждун
По идее роль сущность которую можно выполнить саму по себе. Вот подумайте если будет запущена только вторая роль, что будет происходить и как ее инициалищировать