Сергей
migrations=backend-production-cli:master init-codebase=backend-production:master вот эти вот два это иниты
Rainbow
перестать использовать статичные теги образов
Rainbow
решение в лоб - git sha1
но так будет забиваться registry
решение получше - sha1 от source.
Rainbow
т.е.
migrations=backend-production-cli:$COMMIT_SHA
Сергей
вы меня не поняли. я же говорю, теги не статичные
Сергей
он не может обновить тег, потому что контейнер не в поде, контейнер находится в initContainers
Rainbow
backend-production-cli:master
это не имя image?
Сергей
deployment.extensions/backend-web image updated
error: unable to find container named "migrations"
error: unable to find container named "init-codebase"
Сергей
а теперь он master
Rainbow
- master это все же статический тег, он не будет менятся почти никогда
- деплоить через set image - такое себе. kubectl apply или ещё что получше на порядок
Grigorii
ну а вообще стата есть по этому вопросу? или чисто личные предпочтения
вот есть картинка, правда опрос был за 2017 год:
https://storage.googleapis.com/cdn.thenewstack.io/media/2017/08/d342f12f-networking-image.png
в этой книге она же и другие:
https://thenewstack.io/ebooks/kubernetes/state-of-kubernetes-ecosystem/
и вот прикольные цифры из Survey 2018 кому интересно:
https://docs.google.com/presentation/d/1utT0K-u1nl2apXRo29GaBvRV1x7mFLeQSgpw8mI_nGM/edit#slide=id.g3882d9116d_2_127
Rainbow
Сергей
А история деплоя при apply будет сохраняться?
Сергей
Или что нибудь типа того
Rainbow
Что за история? rollback?
Сергей
Какие вообще бестпрактисы по деплою?
Сергей
Rainbow
Rainbow
Rainbow
Вся фишка k8s в apply
Сергей
Понял, спасибо за ответы
Rainbow
kubectl describe
Rainbow
И никто не мешает сделать
ruby k8s.rb | kubectl apply -f -
или не rb, а js или другой яп, если прям не достаточно замены переменных.
Сергей
У меня ksonnet
Rainbow
Без понятия кстати чем jsonnet лучше любого другого яп
https://gist.github.com/alexesDev/7bf4a4921c42e92914d06633db5d6f48
Сергей
Да ничем он не лучше в принципе, просто заточен под структуру данных, но с возможностью писать код
Сергей
(Но он явно лучше го темплейтов)
Rainbow
Я пишу на jsonnet. Просто наблюдение
Rainbow
ЯП хуже только тем, что можно больше наломать дров. В jsonnet в сеть не пойдешь и тп
Салтыдык
#helmговно
Салтыдык
https://habr.com/ru/company/flant/blog/438814/
Misha
вопрос про cluster-autoscaler
Misha
а ему можно как-то сказать, чтобы он не гасил ноды, если на них есть хотя бы один под? не привязанный ни к какому деплойменту
Rainbow
@badfin миграции можно делать в ci/cd pipeline, это лучше initialContainer
Vadim
ох уж эти голанговцы с их особым определением DRY
Салтыдык
flant — рубисты, го они недавно завезли
Салтыдык
а на jsonnet проще описать деплой? Я просто helm-чарты устал плодить.
Yura
Misha
Yura
у них это в Notable Changes описано
https://github.com/kubernetes/autoscaler/tree/master/cluster-autoscaler
Ivan
Всем привет!
Подскажите по такому кейсу:
Есть сервис, который надо запустить в нескольких экзеплярах, отличающихся значением одной переменной окружения.
Я придумал только такой способ - поднимать каждый отдельным деплойментом с нужной переменной.
Но что-то подозреваю, что возможно есть более грамотный способ...
Ivan
есть у кого какие идеи?
Rainbow
Ivan
в принципе эта переменная нужна для того, чтобы изнутри иметь уникальный идентификатор.
если поднимать деплойментом несколько реплик, то им не назначается ли какая нибудь переменная окружения, разная для разных реплик?
Vadim
Maxim
MY_POD_NAME, MY_POD_IP?
https://kubernetes.io/docs/tasks/inject-data-application/environment-variable-expose-pod-information/
ну а вообще да, хостнейм норм
https://kubernetes.io/docs/tasks/run-application/run-replicated-stateful-application/
в initContainers пример использования для server-id разных в MySQL (но тут sts)
Denis
Нужна postgres в k8s. Есть идея использовать patroni. Я правильно понимаю что там сейчас в качевстве Distributed Configuration Store может configmap kubernetes использовать? И как оно вообще, живет?работает?)
Ivan
да, сейчас попробую так )) спасибо ))
Tadeusz
мб stolon?
Stefan
Denis
Ну тоже как варинт
Kirill
Всем привет. Можете посоветовать, как правильно подключить кластер к ceph? Я пробую по этой статье https://akomljen.com/using-existing-ceph-cluster-for-kubernetes-persistent-storage/ Хотел переместить деплой rbd-provision в kube-system, но, если я правильно понимаю, то я не могу настроить взаимодействие между неймспесами? Если я не прав, подскажите, пожалуйста. Спасибо
Stefan
кто-то сегодня деплоил кубер через kops в AWS? без конца эта хрень
unexpected error during validation: error listing nodes: Get https://api.lalala.com/api/v1/nodes: dial tcp 205.178.189.130:443: i/o timeout
когда хочу валидировать кластер, в даном случае хостед зона приватная, ранее пробовал и с публичной, практичесски идентичная ошибка
сами кластера работают нормально, все поды системные тоже ок, раньше подобной херни не было
кто-то наблюдал у себя такое?
Sergey
Stefan
io мониторинг че говорит
никаких проблем не наблюдаю
мониторинг кстати в этом же кластере, который не хочет валидироваться
Даня
я снова вернулся со своим оверхедовым кубером под 2 контейнера с джангой)
Даня
статику решил складывать на s3
Даня
а аппку держать в композе с nginx+uWSGI
Grigorii
блин этот кубернетес как тяжелый наркотик
подсядешь не него а потом хрен слезешь
Даня
для фронта я думаю будет достаточно бакета на s3+ cloudfront cdn
для бекенда простенький t2.micro (там 2 несчастных аппки) (nginx+uswgi все это с доступом по https)
Rainbow
Даня
осталась проблема с сертификатом для бекенда, но я думаю чет прикручу туда
Andrey
Sergey
Grigorii
мне вот тут тоже нужно было pet project развернуть на одной маашине
думаю поставлю композ, зачем мне куб
в итоге все равно куб поставил, удобно потому что и привык(
Даня
ыгыгы
Ale
Rainbow
Rainbow
ansible не удобно, когда много всего - медленно выходит.
Даня
та ну, я до сих пор не понял зачем они там собирают логи и метрики, если нет графаны и кибаны с эластиком))))
Даня
так хоть в aws есть cloudwatch
Даня