George
Блин, точно, есть же add. Точно!
Адд в докерфайле немного не то, ну, да ладно
Vyacheslav
какой сигнал посылает docker приложению при обновлении сервиса? kill -9?
George
Сначала term потом kill
George
Или наоборот
George
Не помню
Vyacheslav
а както изменить можно?
Vyacheslav
из оркестратора, или мб в докер-композе
George
что изменить?
George
у тебя все четенько - сначала один сигнал, потом докер ждет, потом второй, чтоб наверняка
Vyacheslav
изменить сигнал для завершения сейчас проверили - конейтнеру приходит kill
George
нет, никак
Terry
Доброе утро всем! Какое-то жутко аномальное поведение наблюдаю в последние несколько дней с кластером Swarm. Было 3 менеджер ноды, столько-же слейвов, все прекрасно работало, репликация несколько раз отрабатывала и сама переезжала на другого менеджера, когда отваливался Leader. Но потом, сервисы начали хуевничать и ничего не оставалось как плавно ребутать ноды, так как другого способа решить возникшую проблему не было. Речь о 2менеджер нодах и 1 слеве, начал постепенно ребутать их, сначала слев, потом менеджера который в Reacheble, дождался пока все поднимется, проверил доступность, статус кластера, развртку и все было ок, затем начал ребутать Leader ноду и она просто сдохла, после того как я смог получить доступ к терминалу, она волялась в режиме восстановления, который просто тупо не отрабатывал, прошерстив журналы, единственное что могло быть не так - это ошибка GlusterFS, но он был примонтирован в отдельный каталог, не содержал ни системных файлов, ни сервисов, ничего критичного, что могло повлиять на систему, только volumes контейнеров лежали на нём. Нода так и не поднялась, никакие танцы с бубнами не помогли, загружать пробовал с разными версиями ядра, все бестолку. После этого я обнаружил, что автоматической репликации не произошло, я залез на второго менеджера docker node ls выдавал ошибку, кластер не собирался и предлагал подождать пока появится Leader. В ребутнул docker.service и при помощи docker swarm init --force-new-cluster оживил свой кластер. Но жить с 2-мя менеджерами совсем не дело, поэтому я хотел назначить 3-го, делаю ещё одну ноду, уже новую, на ней закидываю запрос на Leader на прецепление нового managera и тут кластер рассыпается снова, не могу посмотреть статус нод, ничего. Ребутаться я сразу не стал и попробовал перезапустить docker.service, все повисло, весело минут 5, без результатов, отменяю ещё пару попыток, причем тоже самое поведенеи и на новом managere, все команды работают, нагрузке на сервере никакой, но вот docker.service никак не ребутается, не останавливается и не выдаёт ошибок, просто висит. Ну я взял и ребутнул этого Leadera и конечно-же он повторил учесть 1-го своего собрата, а тот новый manager так и весит. Помогите чем сможете пожалуйста, вдруг кто-то сталкивался с похожим поведением, или может у кого есть мысли какие по этому поводу, в идеале хочется избежать этого в будущем.
George
https://docs.docker.com/engine/reference/commandline/stop/
George
The main process inside the container will receive SIGTERM, and after a grace period, SIGKILL.
George
Доброе утро всем! Какое-то жутко аномальное поведение наблюдаю в последние несколько дней с кластером Swarm. Было 3 менеджер ноды, столько-же слейвов, все прекрасно работало, репликация несколько раз отрабатывала и сама переезжала на другого менеджера, когда отваливался Leader. Но потом, сервисы начали хуевничать и ничего не оставалось как плавно ребутать ноды, так как другого способа решить возникшую проблему не было. Речь о 2менеджер нодах и 1 слеве, начал постепенно ребутать их, сначала слев, потом менеджера который в Reacheble, дождался пока все поднимется, проверил доступность, статус кластера, развртку и все было ок, затем начал ребутать Leader ноду и она просто сдохла, после того как я смог получить доступ к терминалу, она волялась в режиме восстановления, который просто тупо не отрабатывал, прошерстив журналы, единственное что могло быть не так - это ошибка GlusterFS, но он был примонтирован в отдельный каталог, не содержал ни системных файлов, ни сервисов, ничего критичного, что могло повлиять на систему, только volumes контейнеров лежали на нём. Нода так и не поднялась, никакие танцы с бубнами не помогли, загружать пробовал с разными версиями ядра, все бестолку. После этого я обнаружил, что автоматической репликации не произошло, я залез на второго менеджера docker node ls выдавал ошибку, кластер не собирался и предлагал подождать пока появится Leader. В ребутнул docker.service и при помощи docker swarm init --force-new-cluster оживил свой кластер. Но жить с 2-мя менеджерами совсем не дело, поэтому я хотел назначить 3-го, делаю ещё одну ноду, уже новую, на ней закидываю запрос на Leader на прецепление нового managera и тут кластер рассыпается снова, не могу посмотреть статус нод, ничего. Ребутаться я сразу не стал и попробовал перезапустить docker.service, все повисло, весело минут 5, без результатов, отменяю ещё пару попыток, причем тоже самое поведенеи и на новом managere, все команды работают, нагрузке на сервере никакой, но вот docker.service никак не ребутается, не останавливается и не выдаёт ошибок, просто висит. Ну я взял и ребутнул этого Leadera и конечно-же он повторил учесть 1-го своего собрата, а тот новый manager так и весит. Помогите чем сможете пожалуйста, вдруг кто-то сталкивался с похожим поведением, или может у кого есть мысли какие по этому поводу, в идеале хочется избежать этого в будущем.
tl;dr, сорри
George
https://stackoverflow.com/questions/50898134/what-does-docker-stopsignal-do
George
есть еще такая ботва, но я ее не юзал
George
@Ozyab
Terry
Сори, что так длинно, короче не описать никак(
Vyacheslav
есть еще такая ботва, но я ее не юзал
ок, посмотрю-попробую 👌
George
Доброе утро всем! Какое-то жутко аномальное поведение наблюдаю в последние несколько дней с кластером Swarm. Было 3 менеджер ноды, столько-же слейвов, все прекрасно работало, репликация несколько раз отрабатывала и сама переезжала на другого менеджера, когда отваливался Leader. Но потом, сервисы начали хуевничать и ничего не оставалось как плавно ребутать ноды, так как другого способа решить возникшую проблему не было. Речь о 2менеджер нодах и 1 слеве, начал постепенно ребутать их, сначала слев, потом менеджера который в Reacheble, дождался пока все поднимется, проверил доступность, статус кластера, развртку и все было ок, затем начал ребутать Leader ноду и она просто сдохла, после того как я смог получить доступ к терминалу, она волялась в режиме восстановления, который просто тупо не отрабатывал, прошерстив журналы, единственное что могло быть не так - это ошибка GlusterFS, но он был примонтирован в отдельный каталог, не содержал ни системных файлов, ни сервисов, ничего критичного, что могло повлиять на систему, только volumes контейнеров лежали на нём. Нода так и не поднялась, никакие танцы с бубнами не помогли, загружать пробовал с разными версиями ядра, все бестолку. После этого я обнаружил, что автоматической репликации не произошло, я залез на второго менеджера docker node ls выдавал ошибку, кластер не собирался и предлагал подождать пока появится Leader. В ребутнул docker.service и при помощи docker swarm init --force-new-cluster оживил свой кластер. Но жить с 2-мя менеджерами совсем не дело, поэтому я хотел назначить 3-го, делаю ещё одну ноду, уже новую, на ней закидываю запрос на Leader на прецепление нового managera и тут кластер рассыпается снова, не могу посмотреть статус нод, ничего. Ребутаться я сразу не стал и попробовал перезапустить docker.service, все повисло, весело минут 5, без результатов, отменяю ещё пару попыток, причем тоже самое поведенеи и на новом managere, все команды работают, нагрузке на сервере никакой, но вот docker.service никак не ребутается, не останавливается и не выдаёт ошибок, просто висит. Ну я взял и ребутнул этого Leadera и конечно-же он повторил учесть 1-го своего собрата, а тот новый manager так и весит. Помогите чем сможете пожалуйста, вдруг кто-то сталкивался с похожим поведением, или может у кого есть мысли какие по этому поводу, в идеале хочется избежать этого в будущем.
так
George
это в облаке или на баре метал?
Alexander
Господа, приветствую! Поскажите плз бест-практис работы с файрволом. Сервисы поднимаются docker-compose. Вопрос в ограничении доступа к сервисам только с определенных IP. Как такие задачи решаются? Что то ничего из коробки не нагуглилось.. Делать извращения типа комментов напротив ports в docker-compose.yml, который парсить и создавать правила в DOCKER-USER?
George
ооооо
George
это вообще интересный вопрос, потому что бестпректис ты нигде не прочитаешь
George
кратко - проще всего все сувать в хост нетворк моде.
George
как бонус - у тебя летенси по сети становится внятный
Alexander
спасибо за подсказку, лейтенси надо будет потестить, не думал что ощутимая разница..
George
Нет не в облаке
больше про ноды расскажи
George
хост моде - и ты можешь управлять файрволлом нормально. Вешаешь условный сервис на порт 8000 и ты в iptables можешь легко настроить правила. Это тебе не DOCKER-USER цепочку насиловать
George
что еще сказать... теоретически ты можешь публиковать все сервисы внутри бриджей, а снаружи ходить в какой-нибудь traefik/nginx, которым все закрыто, но в операционном разрезе это сложно, т.е. дорого и ведет к ошибкам конфигурации
Terry
больше про ноды расскажи
Всего 6 нод, 3 из них Manager, 3 Slave, по ресурсам все с запасом, на вырост, почти все контейнеры которые на них крутились были жестко ограниченны по рессурсам и жестко раскатываолись на заданных нодах. Отдельно на всех нодах был поднят GlusterFS для того, чтобы хранить на нем Volume самих контейеров и иметь доступ к ним со всех нод, он монтировался в /opt и хранил там непорсредственно volumes, развертка через модуль GlusterFS не увенчалась успехом, поэтому лежали они там через mount points. Что ещё нужно по нодам предоставить из инфы?
George
Да вроде никакого криминала
Terry
Да вроде никакого криминала
Криминала не было, по сетям тоже. Все разврнуто локально почти, внутри закрытого периметра
Terry
Также на slave нодах docker.service свалился в deactivating, ошибка подключения к Swarm
Terry
2 Leader вешел из ребута, спустя полтора часа, но Swarm рассыпался, сейчас повторно перепнул его, но на Slave нодах deactivate сервиса, не хочет сервис перезагружать
Terry
Вот и у меня идеи закончились
Terry
Может где-то можно проанализировать логи непосредственно самого Swarm кластера
George
В логах докера, очевидно
Terry
Очевидно, но как-то в /var/log их не нашел
George
Надо настройки смотреть
George
Может писать в журналди
George
Может в файл
George
journalctl -xe -u docker - начни с этого
Terry
Спасибо
Terry
Нашлась ошибка: failed to allocate space when creating new wal file (no space left on device)
Ilya
Господа, а где-то можно захостить кубер или компоуз бесплатно?
Ilya
Ну, точнее, приложение на оных
Sergey
вроде да
George
И gke можно?
Очень быстро за ьемлптаные лимиты выйдешь
George
Но они 300 баков дарят
George
Может тебе на какое-то время хватит
Terry
Данная ошибка вылезла в момент работы консенсуса и принятия решения, причем нашлась она на Slave ноде, к сожалению на остальных нодах лог полу пустой
Vit
люди а Dockerfile это для docker-compose?
Alexander
в том числе
Sergey
люди а Dockerfile это для docker-compose?
композ это обертка над докером чтобы управлять кофнигурациями имеджей
Sergey
докерфайл это набор инструкций для сборки имеджа
Mentat
люди а Dockerfile это для docker-compose?
Dockerfile он про то, как именно собрать тебе контейнер. классически - он для docker build команды. А обертки типа компоуза умеют под капотом делать этот docker build
Маfеt
подскажите, как дать доступ юзеру в гитлабе только к регистри?
Маfеt
Создать токен
как создать один токен на несколько проектов?
Dmytro 🇺🇦
как создать один токен на несколько проектов?
Токены даются пользователю, а не на проект
Павел
И gke можно?
минимальный кластер из трех машинок 1ядро 1Гб будет стоить ~13 виртуальных баксов в месяц
Маfеt
Dmytro 🇺🇦
это который "Impersonation Tokens" ?
Точно не подскажу.
Vit
Dockerfile он про то, как именно собрать тебе контейнер. классически - он для docker build команды. А обертки типа компоуза умеют под капотом делать этот docker build
а можно так - я запустил образ Убунты(docker pull ubuntu потом запустил, docket run -it ubuntu) а уже там клонирую приложение в котором есть Dockerfile и зайдя в папку с этим проектом я должен запустить docker build?
Spirit
господа, хз куда такой вопрос задавать, но может подскажете: подключаюсь по ssh к кластеру. пишу в консоль и через какое-то время начинает переносить текст в эту же строку. может как-то можно пофиксить?
Spirit
и celery не запускает свой псевдогуй, просто черный экран на его месте
Spirit
к кластеру чего
под кубера