Anatoliy
через ингресс ты "вываливашь" свою апликуху в нэт
Т.е. все контейнеры подключены к ингресу? А если контейнеру не нужен ингресс как оно работает?
Anatoliy
У меня просто выходит что я вижу в инспекторе ингреса контейнер, но я его не подключал
Anatoliy
хочется разобраться...
Sergey️
Логи в одном из контейнеров стали весить 10 гигов, мне это не нужно вообще. Как правильно и безопасно их снести?
Sergey️
Sergey️
Просто файлик удалить?
Anatoliy
ну как вариант можно echo "" > /path/...
A1EF
ну как вариант можно echo "" > /path/...
Я обычно специально обученной командой:) truncate -s0 /file/name...
Anatoliy
ну вариант но я не знаю как скажется что там прям размер будет уменьшен, не знаю как конкретно работает команда, потмоу у меня echo :)
George
или я обычно нулю cat > /path/name потом Ctrl+D
Anatoliy
Народ, что я делаю не так? У меня никак не хочет работать скалирование... Есть Traefik, swarmMode там отключен(если включаю - на каждый ресурс выдает 404) Есть просто whoami приложение которое отдает свою инфу при обращении. Но обращение идет всегда на один и тот же адрес....
George
что ты хочешь?
George
скалирование работает ТОЛЬКО на сварммоуд
George
иначе пришлось выкручиться
George
поясняю
George
у тебя в случае сварм мода трефик делает один фронт и все контейнеры сует в беки
George
т.е. балансировка получается
George
если у тебя стенделоун докер, то на КАЖДЫЙ контейнер создает И ФРОНТ, И БЕК. Явная жопа
George
поэтому я сделал как. Тупо раскидал в конфиге трефике все сервисы либо по айпи (да, в докер-компоуз их можно по айпишникам), либо по имени сервиса на беки. И отдельно создал фронт
George
понятно?
Anatoliy
Эм... пока не очень.
Anatoliy
точнее не так, не очень понятно как ему там создать два бека например и 1 фронт
Anatoliy
но вообще у меня сложилось впечатление что сварммоуд не работает если сервер будет один
Anatoliy
а у меня он в текущий момент именно один...
George
в сворм моуд - он сделает сам
George
в стенделоун моде (для докера) - ТОЛЬКО РУКАМИ ЧЕРЕЗ КОНФИГ ТРЕФИКА
Anatoliy
да, но сворммоуд у меня просто не срабатывает
George
ясно?
Anatoliy
т.е. не через лейблы в yaml файлах docker stack?
Anatoliy
именно в конфиге traefik?
George
именно, верно
Anatoliy
бред какой-то... докер в сварм переходит с 1 железкой, а traefik нет, писец...
George
сварм говно
George
не юзай его
George
https://github.com/containous/traefik/issues/207
George
что-то подобное
George
я видел конкретный ишью, но сейчас его не могу найти
Anatoliy
а что вместо сварма?
George
задача какая?
George
понимаешь, мы и без кубера, и без сворма балансировку сервисов делали
arts
Тск и без докера можно, но зачем :-)
Gleb
а киньте чем то почитать про джокер, сигналы, энтрипоинт и тд. что сейчас стильно-модно-молодежно ? gosu или с dumb-init можно жить? Собственно ищу варианты как запускать "демоны" которые запускаются как "интерпретатор /путь/к/скрипту", демон выполняет некую джобу и умирает. Далее нужно его перезапустить что бы он мог начать выполнять следующую джобу. Если кто то решал подобный кейс могу подробно написать. Проблема на стыке gracefull stop приложения, указания опции что docker stop signal=SIGTERM и docker restart policy=ALWAYS. Приложение в нормальной ситуации нужно корректно включать. При деплое происходит "конфликт" между restart polisy always и командой docker stop. Контейнер запускается с энтрипоинтом который из себя представляет sh скрипт с командой. И вот вопрос, ловить в энтрипоинте трапами сигналы или взять какое-то готовое решение. Очевидно что "проблему" решит использование супервизора, но я не хочу делать потом кучу воркараундов для того что бы контейнеры с супервизором ожидаемым образом себя вели.
Anatoliy
задача какая?
задача - писать код и не думать что там как крутится. но для начала мне надо разобраться с этим свармом. ну и с traefik'ом. Нельзя скалировать без нескольких нод - фиг с ним, это - не критично. А вот то что у меня TeamCity Agent не цепляется к TeamCity Server'у - плохо. И я не понимаю почему оно так.
Sergey
а киньте чем то почитать про джокер, сигналы, энтрипоинт и тд. что сейчас стильно-модно-молодежно ? gosu или с dumb-init можно жить? Собственно ищу варианты как запускать "демоны" которые запускаются как "интерпретатор /путь/к/скрипту", демон выполняет некую джобу и умирает. Далее нужно его перезапустить что бы он мог начать выполнять следующую джобу. Если кто то решал подобный кейс могу подробно написать. Проблема на стыке gracefull stop приложения, указания опции что docker stop signal=SIGTERM и docker restart policy=ALWAYS. Приложение в нормальной ситуации нужно корректно включать. При деплое происходит "конфликт" между restart polisy always и командой docker stop. Контейнер запускается с энтрипоинтом который из себя представляет sh скрипт с командой. И вот вопрос, ловить в энтрипоинте трапами сигналы или взять какое-то готовое решение. Очевидно что "проблему" решит использование супервизора, но я не хочу делать потом кучу воркараундов для того что бы контейнеры с супервизором ожидаемым образом себя вели.
куча статей на хабре не за что
Gleb
куча статей на хабре не за что
прочитал. костыли на костылях. спасибо
George
а киньте чем то почитать про джокер, сигналы, энтрипоинт и тд. что сейчас стильно-модно-молодежно ? gosu или с dumb-init можно жить? Собственно ищу варианты как запускать "демоны" которые запускаются как "интерпретатор /путь/к/скрипту", демон выполняет некую джобу и умирает. Далее нужно его перезапустить что бы он мог начать выполнять следующую джобу. Если кто то решал подобный кейс могу подробно написать. Проблема на стыке gracefull stop приложения, указания опции что docker stop signal=SIGTERM и docker restart policy=ALWAYS. Приложение в нормальной ситуации нужно корректно включать. При деплое происходит "конфликт" между restart polisy always и командой docker stop. Контейнер запускается с энтрипоинтом который из себя представляет sh скрипт с командой. И вот вопрос, ловить в энтрипоинте трапами сигналы или взять какое-то готовое решение. Очевидно что "проблему" решит использование супервизора, но я не хочу делать потом кучу воркараундов для того что бы контейнеры с супервизором ожидаемым образом себя вели.
щито?
George
я не понимаю, что тебе мешает навернуть супервизор снаружи докера
George
пускай тупо перезапускает контейнер. Или я не понял, что ты хочешь
Anatoliy
При этом тот же TeamCity Server тоже не может достучаться до git'а который лежит на том же сервере рядом. Обращаюсь по внешним адресам, т.е. по tc.example.com и т.п., не хочет(
George
можешь хоть через крон docker run -d —rm blablabla
George
и пускай в фоне молотиит
Anatoliy
George
ну, больше деталей надо
George
я не понимаю, что ты хочешь от тимсити
George
т.к. возможно, что у тебя тупо файрволл не настроен. или днс лажовые
George
или ты все через прокси пускаешь? ну, тоже такое себе решение
Anatoliy
вот есть ощущение что именно с фаерволлом и проблемы. но так да, сейчас там все через прокси
Anatoliy
изнутри кстати по именам контейнеров запустить получилось вроде, а вот именно снаружи - нет(
George
файрволл отключи и посмотри
Gleb
пускай тупо перезапускает контейнер. Или я не понял, что ты хочешь
не хочется такого изврата. у меня есть универсальный ci/cd который позволяет без изменений 95% кода деплоить сотню разных проектов. Я не думаю что было бы нормально делать исключение для одного проекта, поэтому ищу более универсальное решение.
George
«При деплое происходит "конфликт" между restart polisy always и командой docker stop.»
George
кажется въезжаю
George
смотри
George
мы решили эту проблему как
George
никто не мешает тебе поставить полиси always на рестарт
George
просто в момент деплоя форсированно грохнуть контейнер - не?
George
ну, либо действительно костылить что-то
George
и, да, тебе лучше политика unless-stopped, кмк
George
и еще соображение. в случае передеплоя apache airflow мы тупо делали следующее: 1. смотрели есть ли сейчас джобы 2. если есть - тупо ждем их окончания, но запрещаем спавнить новые 3. как только джобы завершились - катим обновления
George
в твоем случае возможно имеет смысл реализовать логику флага деплоя
George
в пайплайне он ставится как файл, который маунтится в контейнер. Если файл есть - СТОП
George
если нет - продолжаем бежать
George
реализуется просто )
Gleb
ну я вот пододбные мысли и хотел увидеть, спасибо. Вариантов то масса конечно, вплоть до смены полиси на-лету
Yan
ребят, подскажите, кто-нибудь сталкивался с подобной проблемой: использую gitlab ci чтобы сбилдить образ, в докерфайле присутствует curl, который должен загрузить архив с imagemagick и собрать его, но вот как раз на моменте со скачиванием curl минуту пытается достучатся на нужный урл и выдает curl: (56) Recv failure: Connection reset by peer
Yan
и я не могу понять, это проблема докера или курла в образе docker:stable