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
что еще сказать... теоретически ты можешь публиковать все сервисы внутри бриджей, а снаружи ходить в какой-нибудь traefik/nginx, которым все закрыто, но в операционном разрезе это сложно, т.е. дорого и ведет к ошибкам конфигурации
Terry
2 Leader вешел из ребута, спустя полтора часа, но Swarm рассыпался, сейчас повторно перепнул его, но на Slave нодах deactivate сервиса, не хочет сервис перезагружать