manefesto
да вот docker kill отрабатывает не быстрее
Aleksey
откуда требования по скорости docker kill ?
manefesto
kill -9 должен отрабатывать быстрее чем рестарт сервиса, если конечно docker kill делает подобное
Aleksey
он делает нечто похожее. но ладно я понял. расскажешь чем кончилось и каковы бенчмарки по убийству контейнеров
manefesto
да мне бенчмарки тут не важны, если я буду уверен контейнеры перезапустят и всё поедет, то проблем нет, у меня отваливается по TIMEOUT
manefesto
можно увеличить
manefesto
но как то очень долго всё это
Aleksey
👍 рад что работает всё.
Andrey
может для начала посмотреть откуда таймаут, по идеи то его там как бы не очень должно быть
manefesto
посмотрю на свой entrypoint, может он и в правду кривоват
manefesto
ну вот не самый страшный entrypoint #!/bin/sh if [ -z $TEMPLATE_DIR ] then TEMPLATE_DIR="/var/www/html" fi for inputfile in $(find $TEMPLATE_DIR -type f -iname "*.tpl"); do outputfile=$(echo $inputfile | sed s/\.tpl//g) envsubst < $inputfile > $outputfile done cat << EOF > /usr/local/etc/php-fpm.d/www.conf [www] listen = 127.0.0.1:9000 user = www-data group = www-data pm = static pm.max_children = $MAX_CHILDREN pm.start_servers = $START_SERVERS pm.min_spare_servers = $MIN_SPARE_SERVERS pm.max_spare_servers = $MAX_SPARE_SERVERS pm.max_requests = 5000 request_terminate_timeout = 60 slowlog = /var/log/php-fpm/slow.log php_flag[display_errors] = off php_admin_flag[log_errors] = on php_admin_value[upload_tmp_dir] = /var/tmp EOF php-fpm здесь я генерю из env конфиги
George
Я думаю, что сигнал может не в тот процесс уходить
George
Есть как бы разница между тем же nginx, который сам все хендлит и sh скриптом
George
Но это требует бенчмаркинга и тестирования
manefesto
ну вроде бы да, но контейнер не всегда долго рестартует
manefesto
`` # time systemctl restart docker-movies real 0m10.960s user 0m0.003s sys 0m0.009s ```
manefesto
проблема в том что контейнер c php-fpm рестартует дольше всех
Aleksey
ты должидаешься штатного таймаута докера после sighup
manefesto
ладно, буду траблшутить почему долго рестартует php-fpm
Aleksey
потому что вам нужен какой то супервизор для php-fpm
Aleksey
https://github.com/krallin/tini
Aleksey
например
Aleksey
там же описана проблематика.
George
ну вроде бы да, но контейнер не всегда долго рестартует
Если ты думаешь, что образы с докер хаба без ошибок и багов, то ты глубоко ошибаешься
manefesto
Надо подумать. Хотя смотрел dockerfile и не нашёл ничего критичного
Aleksey
а вы и не должны найти ничего критичного
Aleksey
проблема специфична для контенеров
manefesto
ну а как docker живет в проде если есть такие проблемы ?
George
Есть, но их как бы не замечают, т.к. никто в кубере не гоняет по одной реплике сервиса
George
А когда их >10 - твои проблемы - вовсе не проблемы
manefesto
берем количеством, а не качеством
George
К сожалению
manefesto
видимо придется делать несколько копий и через upstream балансировать между ними
George
Вариант, ога
manefesto
Но такой себе
George
У тебя при количество реплик=1 все равно нет отказоустойчивости
Baktiyar
как вытащить папку (где будут хранится созданные файлы) вне докера
Baktiyar
docker-options ?
Ruslan
Использую связку docker + nginx + gunicorn + flask. У сервера OAuth код авторизации даётся на 30 секунд, а у меня воркер gunicorn умирает по таймауту больше 30. Получается, что я не успеваю дождать ответа, как код авторизации стухает... Что может быть причиной такого? Без доцкера скрипт работает отлично
George
копай логи
Ruslan
копай логи
Логи не контейнеров?
George
Логи не контейнеров?
логи своих сервисов
George
а уж отображаются ли они в логи контейнеров - это от тебя зависит
Ruslan
Так вот там-то всё чистенько... Либо где-то мимо меня они ещё собираются, не понимаю
George
по умолчанию фласк в гюникорн не серит логами
George
https://medium.com/@trstringer/logging-flask-and-gunicorn-the-manageable-way-2e6f0b8beb2f
George
смотри
George
я уж не говорю, что раз у тебя все в одном контейнере, то там у тебя еще и сюпервизорд явно
George
который тоже ухудшает ситуацию с логами
Ruslan
У меня два контейнера: под nginx и под flask с gunicorn
George
У меня два контейнера: под nginx и под flask с gunicorn
а, ну, сорри, значит показалось
manefesto
Подскажите, имеет ли использовать docker swarm на единственной машине, с одной стороны я могу иметь несколько реплик моего контейнера, с другой легко управлять перезапуском сервисов
manefesto
Может я чего-то пропустил, реплики можно только со свормом
George
Нет
George
Ты скалировать сервисы можешь и без сворма
manefesto
хм, сейчас посмотрю
manefesto
У нас есть baremetal сервера расположенные по европе Я так понимаю оркестрация docker-compose + ansible не является "серебрянной пулей". А что тогда ?
manefesto
swarm не стабилен, k8s избыточен в данном кейсе
manefesto
я правильно понял ?
Max xbim 🌴
почему не стабилен?)
manefesto
ну многие на него плюются
Max xbim 🌴
на кубернетис еще больше людей плюются)
manefesto
я так понимаю что swarm single node избавить меня от гемора в виде systemd над docker-compose ?
Max xbim 🌴
да
manefesto
будут все теже docker-compose но при этом нормальный оркестратор над ними ?
Gleb
только слово "нормальный" убрать
Max xbim 🌴
композ немного будет отличаться
manefesto
только слово "нормальный" убрать
А если по сравнению с systemd?
Gleb
лично я верю в systemd больше. Я правда не совсем понимаю зачем вообще системд надо. ну сделай ты полиски для контейнера правильный и все
Aleksey
Gleb
точно
George
😂
Kamal
установил себе Gitlab у меня теперь сервер нагружается чем до 70% установил я по пакеуту из сайта гитлаб gitlab.com теперь и сайты открывается медленее
Kamal
до 127% поднимается сука