Sergej
а кто каую файловую систему использует под ОС k8. У нас недавно что-то подвисло на тестовом стенде и поды быстро расплодившись исчерпали inode.
Vasily
Правда, у меня OpenShift.
Sergej
Да у нас ext4 везде. Это первый случай. Когда все успокоили то занятость inode 25%
Anonymous
Или можно использовать xfs :)
Sergej
Это шоурум. Там однонодовый кластер. Дальше Уже минимум 3 ноды. На проде будет три мастера.
Vitalii
у докера overlay storage driver пожирает inode обычно
Sergej
Как то исторически aufs ставится
Anonymous
Ресурсов на всё хватает?
угу, 3% cpu занято и 20% памяти
Anonymous
Как то исторически aufs ставится
Но не стоит так делать.
Logan
Как то исторически aufs ставится
я использую overlayfs2, но она по сути - не FS, с голыми дисками работать не может
Sergej
Но не стоит так делать.
А почему? У меня как раз были проблемы с оверлей2 даже было время когда мастер kubeadm не хотел активироваться с этой фс.
Sergej
Кстати в рекомендации встречал "we will continue to recommend users to use the default storage backend, which is Aufs as of now."
Sn00part
aufs?
Sn00part
бгг
Sn00part
она жёстко глючит
Sn00part
особенно в убунту
Sn00part
не встречали когда ломаются permissions?
Sn00part
и ещё сотня багов
Sn00part
просто docker/issues
Sn00part
а вот этот баг просто сказка
Sn00part
https://github.com/docker/docker/issues/13940
Sn00part
я видел его в 3 ядрах из шести в убунтах
Sn00part
то есть то нет то опять опа
Sn00part
в ядрах lts
Sergej
Да я вкурсе. У меня везде 16.04 и 4.4.0-66
Sn00part
я для себя решил использовать btrfs результаты отличные
Vladimir
А я вот в первый, и, наверно, последний раз, воспользовался CentOS в качестве ОС для Docker
Anonymous
А я вот в первый, и, наверно, последний раз, воспользовался CentOS в качестве ОС для Docker
В чем проблема? Более года в проде, именно centos 7.x и последний docker 1.13
Vladimir
Так получилось, что нужно было развернуть один сервис, а под рукой была только виртуалка с CentOS. Развертывание нужно было для внутреннего использования, поэтому я решил просто поставить докер и в нем развернуть то, что нужно
Vladimir
И все было прекрасно на протяжении нескольких месяцев. Потом виртуалка стала подвисать, а сегодня контейнеры перестали запускаться
Vladimir
Оказалось, что в закончилось место на device mapper, который был в файле на loopback
Anonymous
Это потому-что ты использовал devicemapper и старый докер и ядро не более свежее, у нас ядро с elrepo было, потом стали почти ванильное + патч в одну строку
Vladimir
И не просто закончилось, а к херам закончилось - все решения, которые я встретил сводились у тому, что нужно сделать rm -rf /var/lib/docker и начать сначала
Anonymous
С overlay2 таких проблем нетв
Vladimir
Это потому-что ты использовал devicemapper и старый докер и ядро не более свежее, у нас ядро с elrepo было, потом стали почти ванильное + патч в одну строку
Насколько я видел в баг трекер докера, только последней осенью они вылили *воркарунд*! который не дает полностью закончится месту (так, что еще можно реанимировать все это дело)
Vladimir
И я видел предупреждение о том, что device mapper на лупбеке не стоит использовать а проде (и да, я смотрел, что основная причина - это перформанс, мне это было некритично)
Vladimir
Но вот чтобы поведение по умолчанию было "я работаю пока не сдохну без предупреждения" это что то
Vladimir
И да, я был не лучшего мнения о aufs в убунте
Anonymous
я для себя решил использовать btrfs результаты отличные
я его тоже юзал продолжительное время, но устал от постоянных глюков
Sn00part
хз. aufs не работает, layerfs не работает, layerfs2 ещё нет, devmapper не работает
Sn00part
в дебиане кстати более менее aufs в отличии от убунты)
Sn00part
ядро разное. собрано с разным конфигом
Sn00part
для примера можешь скачать 4 ядра лтс убунты и сделать zcat /boot/config.gz | grep aufs
Sn00part
или как там она называется. я в мирантисе кучу багов заводил что не работает dir perm
Sn00part
из-за того что в ядре пролюбили включить xattr
Sn00part
выглядит как permission denied при попытке записать в валидную директорию в многослойный докер
Sn00part
например в tomcat9
Sn00part
дебиан просто в сислог гадит. убунта колтрейс в ядро, сервер неадекватен
Sn00part
github.com/docker/docker/issues/783
Sn00part
4 года гоняют мыло по тазику
Sn00part
откроют закроют
Sn00part
починят, потом дочинят, потом уже точно пофиксят, потом уже точно точно
Sn00part
потом снова открывают
Sn00part
вон чувак опять шесть дней назад словил тоже самое. хотя ведра уже у всех 4 поди
Sn00part
не знаю как назвать это цензурно
Denis
Такие дела :) https://www.nixp.ru/news/13963.html
Denis
Sn00part
а в начале монолитность докера преподносилось как преимущество
Sn00part
можно будет containerd и runV подменять на другие oci-совместимые реализации
Vladimir
выглядит как permission denied при попытке записать в валидную директорию в многослойный докер
Видел такое в убунте. Но мне наверно повезло, когда я уже понял, что это ядерный баг и хотел было завести баг в трекере, оказалось, что он уже пару дней как known и что уже даже есть фикс в 16.04 proposed - я его поставил и это решило проблему.
Vladimir
"мне наверно повезло" - это к тому, что в моем случае было идеально: проблему зарепортили, пофиксили и зарелизили за несколько дней, что очень крутой user experience
Vladimir
Жаль, что так не со всеми проблемами в убунте :)
Anonymous
Такие дела :) https://www.nixp.ru/news/13963.html
Да, они на прошлой неделе (в среду) презентовали. Причем на том же колле и CoreOS rkt презентовали с той же целью.
Anonymous
Но это только презентация, за эти проекты еще проголосовать должны.
Anonymous
а в начале монолитность докера преподносилось как преимущество
только готовые решения от Docker Inc мягко говоря не взлетели, вот и пытаются наверстать где проебали.
Дамир
Всем привет. Совсем недавно познакомился с Kubernetes. Не могу понять некоторые моменты. Допустим, пытаюсь как-то настроить бакэнд на nodejs и mongo rs через statefulSet, которому изначально выделим 3 шарда. Вопрос в том, как сообщить бакэнду что добавили новые либо удалили шарды и сделать так, чтобы он подцепил изменения?
Etki
Это уже вопрос взаимодействия приложения и БД, ситуация особо не отличается от аналогичной вне куба. Проще всего пересоздавать клиенты через промежутки времени, если только они не являются умными и не реагируют на изменение топологии сами.
Дамир
Благодарю. Как лучше список шардов пасануть приложению, можете подсказать? Вижу два варианта: либо при инициализации пода command и пихать список в envVar, если такое взможно, либо через запрос к apiserver вытаскивать список statefulSet подов и как-то пытаться его загрузить. Со вторым у меня уже произошёл затык, т.к. пока список достаётся, GridFS уже падает иза отсутствия DB)), т.ч. не думаю, что 2й вариант рабочий
Etki
Боюсь, я недостаточно владею терминологией, но если под шардами подразумеваются отдельные инстансы монги (а это все-таки немного не то), то вам нужен стандартный service куба.
Дамир
Возможно я тоже недостаточно ей владею. Делал mongo statefulSet по статье. Там создаётся headless service и описана подача списка из 3х подов в mongo.connect строкой типа "...//mongo-1.mongo,,mongo-2.mongo,mongo-3.mongo:27017..." И опять к вопросу, как мне динамически эту строку формировать для приложения, может быть будут мысли?
Etki
резолвить headless service через DNS и забирать айпишники оттуда
Дамир
Благодарю, буду обдумывать Ваш совет