G72K
там же controller reference или что-то такое было, новый стейтфулсет подберет поды?
Anonymous
насколько я понял из документации - должен (поправьте если ошибаюсь): https://kubernetes.io/docs/tutorials/stateful-application/basic-stateful-set/#non-cascading-delete
G72K
Anonymous
как вы обновляете поды в вашем кластере? какой самый удобный способ делать это из CD? через частный helm репозиторий?
G72K
смешались в кучу люди кони
G72K
о чем вопрос?:)
Anonymous
я сначала думал, что кубер сам фетчит последний образ докера, потом понял что видимо нет и надо делать kubectl rolling update, нашел блог, там человек говорит, что вызывать kubectl из cd сервиса моветон (докер-в-докере) и надо юзать helm репозиторий, я немножко запутался и решил спросить у вас как надо делать
вот блог:
http://blog.lwolf.org/post/how-to-create-ci-cd-pipeline-with-autodeploy-k8s-gitlab-helm/
Magistr
аааааарх как меня достал фаервол и кубер и фланель, оно так просто ломаеться
Logan
Magistr
Anonymous
памажите советом девопсоны ><
Alexey
Denis
что лучше?
Denis
почему гавно?
Denis
при чем тут это?
Vitalii
Аналогов helm нет:) А гавно потому что баг на баге. То wait сломают, то изменения не применяются при upgrade
Denis
ну видимо мы его пока не в том масштабе используем, чтобы так критиковать. Если его правильно использовать, замены ему пока нет
G72K
Vitalii
Уже починили, но было неприятно когда сломали)
Vitalii
Сделали свой wait в итоге
Anonymous
ну то есть чтобы не наткнуться случайно на проблемки лучше напряму из kubectl делать rolling-update в CD?
Vitalii
Если нет ощущения, что helm сильно нужен, то можно без него. Просто делать apply для deployment. Update сам запустится
G72K
поддерживаю, если можно обойтись без helm, то лучше без него
Vitalii
Мы резко захотели helm, когда второй кластер появился
G72K
другое дело, что темплейтить ресурсы захочется очень быстро :)
G72K
у нас есть generic-app chart где много разной магии. приложения это пустые charts (в них нет templates), они подтягивают generic-app как зависимость и переопределяют её переменные
Anonymous
ну я использую helm только для развертывания софта, и он в этом плане норм... а для деплоя я deis юзаю например
Anonymous
темплейты можно так же helm'ом описывать, helm-template'ом генерировать, пушить в репу, а потом с помощью kubectl применять
Zon
И хранить в репе манифесты для всех окружений?
yolkov
если требуется почему нет, по бранчам например
yolkov
но мы так не делаем)
Anonymous
не обязательно, например хранить только манифесты для прода
Sn00part
порноторренты? нелицензионные песни ваенги? спс не надо
Logan
посмотрел, посмеялся, спасибо
𝕍ℤ
товарищи, поделитесь опытом, кто как хранит файлики для куба, докера, дженкинса? отдельная репа, прямо в репе приложения? да и вообще, нормальная практика пихать их в репу, учитывая, что при деплое дженкинс вытягивает версию приложения и патчит файлы куба и докера? буду благодарен за советы, ибо вариантов море
Logan
товарищи, поделитесь опытом, кто как хранит файлики для куба, докера, дженкинса? отдельная репа, прямо в репе приложения? да и вообще, нормальная практика пихать их в репу, учитывая, что при деплое дженкинс вытягивает версию приложения и патчит файлы куба и докера? буду благодарен за советы, ибо вариантов море
храним в отдельном локальном репо, вытягиваем перед апплаем
G72K
у нас прямо в приложении лежит
𝕍ℤ
я тоже сначала сделал отдельную, но в дженкинсе удобно в приложении, т.к. один раз гит высасывается и всё. а пайплайн как у кого? файлом или в дженкинсе храните?
Logan
𝕍ℤ
а ещё вопрос, пишут DIND порочная практика, но у меня, например, пока так, и образ, и apply куба вызываю в контейнере дженкинса. как вообще принято подобное обходить? я вот задумываюсь, стоит ли CI доверять куб, ну или хотя бы вынести это в отдельный пайплайн, а не в пайпе приложения всё делать
Alexander
привет) пользуетесь https://github.com/fission/fission ? стабильно/нет?
Alexander
интересно сравнение с https://github.com/alexellis/faas
Alexander
Zon
Anonymous
Vitalii
товарищи, поделитесь опытом, кто как хранит файлики для куба, докера, дженкинса? отдельная репа, прямо в репе приложения? да и вообще, нормальная практика пихать их в репу, учитывая, что при деплое дженкинс вытягивает версию приложения и патчит файлы куба и докера? буду благодарен за советы, ибо вариантов море
Мы все инфраструктурные штуки потихоньку выносим в отдельный репозиторий, который подключаем гит сабмодулем в 3 приложения. Хочется монорепозиторий, но пока морально не готовы.
Vitalii
Кроме самих приложений есть десятки системных чартов и образов, типа Prometheus и graylog. С ними автоматизация хромает. Сборка и деплой руками с локальной машины.
Etki
https://twitter.com/b0rk/status/872658092818927616 b0rk что-то задумала
Aleksandr
Чатик, у кого нить крон джобы в кубике работают?
сегодня как раз заработали, у меня 1.5.3 версия. Нужно api server запускать с —runtime-config=batch/v2alpha1=true и порестартить kubelet
дока https://kubernetes.io/docs/concepts/workloads/controllers/cron-jobs/
Bro
у меня celery для этого крутится
Bro
а есть какое-нибудь решение чтобы контейнеры билдить? например есть репы где код + докерфайлы для билда. можно как нибудь сбилдить имадж докера внутри куба?
Aleksandr
gitlab runner + gitlab ci
Aleksandr
http://docs.gitlab.com/ce/ci/runners/README.html ну и там дальше .gitlab-ci.yml ложится в репу где описываются все шаги. runner можно запускать просто как docker контейнер или внутри куба. Но если в кубе запускать, то там кажется не работал кеш докера между промежуточными билдами, а с dind тоже какая-то трабла была
Logan
коллеги, а есть ли возможность в кубере задать очередность развертывания контейнеров? Например, у меня в кубере лежит локальный рэджистри и я хочу, чтобы он стартовал ДО того, как начнут запускаться контейнеры, которые потащат из него данные
Logan
или пока никак?
Vitalii
А реестр и приложения как в аписервере оказываются?
Vitalii
А kubelet, kube-dns не из этого registry запускаются?)
G72K
G72K
кстатити сам не пробывал, но точно помню были баги на гитхабе о том, что registry внутри куба работает как-то плохо
G72K
что-то насчет того , что докер не мог тянуть имаджи из регистри, который запущен под этим же самым докером.
nvkv
Котаны, смотрите какая пепяка.
Есть кубернетес кластер (1.5.7 на данный момент), развёрнутый через kops на AWS. Кластер разработческий, на нём много редеплоев в день.
На нодах докер 1.12.3.
Через некоторое время лютейшим образом увеличивается время скачивания свежих образов через docker. Реджистри значения не имеет, с любого тянется медленно.
При этом сеть в принципе на ноде не деградирует вовсе.
nvkv
Куда бы вы копали?
nvkv
Некоторое время это +/- сутки
G72K
потом не возвращается в нормальное состояние?
G72K
рестарт демона исправляет ситуацию?
nvkv
Нет
nvkv
причём аффектятся все ноды
nvkv
рестарт демона лечит
nvkv
я подозреваю какой-то неприятный баг в докере, конечно
G72K
ну pprof его
G72K
благо гошечка православная, легко снимать дампы
🦠
Наблюдаю подобное же с версии 17.04 у соседа)
🦠
Каждый день рестартует докер
🦠
Засирается арпкеш