Oleg
The —update-delay flag configures the time delay between updates to a service task or sets of tasks.
Oleg
правильно ли я понимаю что 10 секунд это время, которое сворм ждем после успешного апдейта последнего контейнера
Oleg
?
Oleg
извините за нубство)
Aleksei
between — вроде между апдейтами
Oleg
ну да, вопрос только в том, что ждет ли он успешного апдейта последнего, или сразу после команды UPDATE ждет 10 сек и запускает ее на 2 ноде, независимо от результата апдейта первой ноды?
Oleg
вот как то так)))
Aleksei
ждёт
Oleg
понял, спасибо
Aleksei
вы же дальше читайте
Aleksei
By default, when an update to an individual task returns a state of RUNNING, the scheduler schedules another task to update until all tasks are updated. If, at any time during an update a task returns FAILED, the scheduler pauses the update. You can control the behavior using the —update-failure-action flag for docker service create or docker service update.
Aleksei
https://docs.docker.com/engine/swarm/swarm-tutorial/rolling-update/
Aleksei
если вы конечно на этой старнице читали предыдущее :)
Oleg
да я вот только сейчас понял)))
Oleg
--update-failure-action string Action on update failure (pause|continue) (default "pause")
Oleg
то что надо спасибо
Aleksei
yep
Aleksei
а вот как вы забираете статус после обновления?
Aleksei
есть какая-то практика в этом у кого-либо?
Oleg
пока не думал об этом
Oleg
может просто грепнуть и авкнуть выводы ps ?
Aleksei
не по поцанске
Aleksei
тут ниже предлагают inspect
Aleksei
но это же надо костылить свой велосипед получается?
Aleksei
и еще вопрос: не думали про ручную откатку релизов? просто делать на тэгах?
Aleksei
Update status: State: completed Started: about a minute ago Completed: 13 seconds ago Message: update completed
Aleksei
в целом после обновления надо следить за этими строками и наверное будет достаточно
Aleksei
docker service inspect —format='{{.UpdateStatus.State}}'
Oleg
да норма
Danila
о, привет!
Sergei
Хело, чувак!
R-omk
хз. не тестил
диагноз - нуегонах вот работат как и раньше https://github.com/ContainX/docker-volume-netshare
Evgeny
Аргументируй плз?
R-omk
эм.. ну у меня он просто не работает
Evgeny
ааа...
Roman
Крон не забудь
А как быть с periodic jobs в контейнере?
Andrey
никак
Roman
никак
Збс же. Внезапно оказывается, что запихать что-то в контейнер нельзя, потому что нет там крона :))
R-omk
А как быть с periodic jobs в контейнере?
мы сделалли себе отдельный образ который фигачит задания по расписанию, умеет запускать контейнеры, умеет делать exec в контейнерах
Andrey
ибо оно там не надо
R-omk
ибо оно там не надо
до тех пор пока не оказывается что надо
R-omk
Не надо exec в контейнере
до тех пор пока не оказывается что надо
Andrey
и тут мы такие, опаньки, а засунуть что то в докер (контейнер) не панацея, ты глядика
R-omk
и тут мы такие, опаньки, а засунуть что то в докер (контейнер) не панацея, ты глядика
агада, до этого был отдельный kvm под такой процесс, и exec выглядел как ssh command
Andrey
тсс.. не пали контору
R-omk
это я к тому что exec збс работает уже достаточно давно
Aleksey
Главное его убивать
Aleksey
А лучше отдельный старт скрипт на том же имидже
Aleksey
У меня кое где он смешной прям. Типа command: sleep 3600; command
Evgeny
👍
Aleksey
И да, это костыль
R-omk
Главное его убивать
ну когда нужно именно в том же контейнере...
R-omk
👍
👍🏿
Aleksey
Почему нужно в том же?
Aleksey
Он же без стейта
R-omk
Он же без стейта
когда со стейтом контейнер
R-omk
вообще сейчас я подрузумеваю всегда один конкретный пример - переиндекация сфинкса, там нужнопойти в контейнер , запустить indexer —rotate
Evgeny
файлы надо перечиать
R-omk
вероятно можно все это преобрпазовать через адовые костыли в докер way , но и так не плохо работает
Anonymous
там один процесс отправляет сигналы другому,
Exec, хотя тут возможно тот случай, когда можно и крон
Evgeny
инконтейнер крон - необоснованное усложенени имхо
R-omk
у меня exec
R-omk
инконтейнер крон - необоснованное усложенени имхо
я ушел от того что бы в контейнере был крон - это говно
Evgeny
я к нему и не приходил
Anonymous
А как быть с periodic jobs в контейнере?
Когда periodic job должен быть упакован внутри контейнера это скорее исключение, чем правило Если нужно использовать тот же образ, то просто отдельный контейнер
Anonymous
инконтейнер крон - необоснованное усложенени имхо
Иногда нужно, например, засунуть автообновление каких-то данных, которые впаяны в сам образ Но это исключение, конечно, а не правило
Evgeny
как правило это лучше чем крон в контейнере
Anonymous
Docker kill посылает сигнал кстати
Anonymous
Можно поменять сигнал без всяких exec
Evgeny
блин, я все время об этом забываю
Anonymous
ребилд и редеплой
Это не всегда вариант, например, если это просто вспомогательный сервис и ты не пользуешься кластером