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
а вы и не должны найти ничего критичного
George
Aleksey
проблема специфична для контенеров
manefesto
ну а как docker живет в проде если есть такие проблемы ?
George
Есть, но их как бы не замечают, т.к. никто в кубере не гоняет по одной реплике сервиса
George
А когда их >10 - твои проблемы - вовсе не проблемы
manefesto
берем количеством, а не качеством
George
К сожалению
manefesto
видимо придется делать несколько копий и через upstream балансировать между ними
George
Вариант, ога
manefesto
Но такой себе
George
У тебя при количество реплик=1 все равно нет отказоустойчивости
Baktiyar
как вытащить папку (где будут хранится созданные файлы) вне докера
Baktiyar
docker-options ?
George
Ruslan
Использую связку docker + nginx + gunicorn + flask. У сервера OAuth код авторизации даётся на 30 секунд, а у меня воркер gunicorn умирает по таймауту больше 30. Получается, что я не успеваю дождать ответа, как код авторизации стухает... Что может быть причиной такого? Без доцкера скрипт работает отлично
George
копай логи
George
а уж отображаются ли они в логи контейнеров - это от тебя зависит
Ruslan
Так вот там-то всё чистенько... Либо где-то мимо меня они ещё собираются, не понимаю
George
по умолчанию фласк в гюникорн не серит логами
George
https://medium.com/@trstringer/logging-flask-and-gunicorn-the-manageable-way-2e6f0b8beb2f
George
смотри
George
я уж не говорю, что раз у тебя все в одном контейнере, то там у тебя еще и сюпервизорд явно
George
который тоже ухудшает ситуацию с логами
Ruslan
У меня два контейнера: под nginx и под flask с gunicorn
Ruslan
George
George
manefesto
Подскажите, имеет ли использовать docker swarm на единственной машине, с одной стороны я могу иметь несколько реплик моего контейнера, с другой легко управлять перезапуском сервисов
George
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
Gleb
лично я верю в systemd больше. Я правда не совсем понимаю зачем вообще системд надо. ну сделай ты полиски для контейнера правильный и все
Aleksey
Gleb
точно
George
😂
Kamal
установил себе Gitlab
у меня теперь сервер нагружается чем до 70%
установил я по пакеуту из сайта гитлаб gitlab.com
теперь и сайты открывается медленее
Kamal
до 127% поднимается сука