Comments 10

Сколько костылей-то и всё ради того, чтобы использовать latest в тэге образа (хотя на каждом заборе написано не делайте так). Мне кажется, что лучше всего писать в тэг образу SHA коммита из git и предварять префиксом окружения (типа production-d3adf00d1278fd…), и при каждом деплое его подставлять явно (во всех CI есть переменная окружения с sha коммита, на котором сейчас гоняется билд). Ещё это очень поможет при отладке проблем понять, какая версия приложения сейчас крутится.


На самом деле, в сложных многокомпонентных приложениях возможность не перезапускать все поды очень желательна, т.к. кроме подов с кодом приложения этим же helm-чартом запускаются (из зависимых подчартов) несколько вспомогательных контейнеров (например, websocket-сервер на go), которые держат коннекты от пользователей и без изменений в их версии или конфигурации их лучше не перезапускать. Т.е. каждый релиз должен перезапускать только то, что изменилось.


Но тем не менее, возможность сделать «просто рестарт приложения» должна быть заложена, но по умолчанию не должна использоваться, только для какой-нибудь отдельной команды. Т.е. вставлять {{ .Release.Date }} мне кажется не очень хорошей идеей, а вот {{ .Values.lastRestartTimestamp }} (который будет меняться только специальным скриптом для рестарта) выглядит для меня гораздо лучше.

Соглашусь, пока читал, задавался вопросом — «Почему latest?». Это накладывает ограничения и менее явно показывает, что на данный момент в продакшн среде стоит.
Специально для комментариев по поводу latest тега я указал disclaimer в середине статьи. Вы правы, в продакшене latest никто, конечно-же, использовать не будет — здесь он указан исключительно для эмуляции поведения при imagePullPolicy: Always.
Цель статьи — рассказать про внутреннее устройство Helm и его поведение при деплое. Я солидарен по поводу использования контрольных сумм, это оптимальный вариант, но требует задействования CI инструментов при любом деплое.

Статья интересная, но у меня один вопрос. Почему когда я добавляю товар в корзину, на вашем сайте, залогинившись в личном кабинете, то он у меня не появляется в корзине, в андроид приложении?

Спасибо за фидбек.

Короткий ответ — потому что сейчас они смотрят на разные миддлы. Проблему знаем, нормальная корзина в IOS находится на регресс-тестировании, по Андроиду доработка запланирована на Апрель.
«Сейчас у нас двадцать четыре кластера Kubernetes» — зачем вам 24 кластера? Что такого дает такая инфраструктура, что это перекрывает расходы на содержание этого добра?
Во всех современных компаниях, которые не зависли в 2000-х, огромное количество софта. ПО есть во всех частях бизнеса – начиная c веб-компонентов на фронте, заканчивая весами на выдаче в магазине. Об этом мы пишем в блоге.

Другой вопрос – как и с помощью чего запускается всё это добро. В нашем случае, это общепризнанный стандарт в индустрии – Kubernetes. О его преимуществах для бизнеса уже написано немало.

А если вопрос в том, почему не сложили всё в один кластер, ответ простой – так мы изолируем продуктовые команды и отделяем продуктивные окружения от стейджинга.
куча софта

Мне кажется у вас все переусложнено. Отсюда все проблемы. И вы проблему решаете самым тупым из возможных образов

У вас очень хороший магазин и во время ремонта (да и после по мелочи) пользовался им на постоянной основе. И продолжу пользоваться в будущем благо он в шаговой доступности.
Вполне возможно за этим стоит героическая работа по взвешиванию саморезов в бэкэнде.

Но на фронте — у вас беда. Начиная с того что он до сих пор не может адекватно определить регион (геоип, не, не слышали). И заканчивая форменным безобразием что в начале прошлого года у вас ТРИ !sic месяца с сафари было невозможно указать адрес для доставки(с винды работало). Три месяца, карл, на сайте позиционирующем себя, как интернет-магазин невозможно указать адрес доставки.
Сейчас ремонтами и строительством занимаются миллениалы, которые еще по старой привычке ходят в магазин ногами. Как только собирать камни начнут зумеры — при такой работе фронта у вас будут проблемы. По моему субъективному мнению — сайт это самый худший UX при столкновении с компанией Леруа.

Helm, конечно, бывает полезен, но вообще тот, кто придумал текстовую шаблонизацию yaml, в душе, наверное, изощрённый садист. Особенно радует подсчёт пробелов и случайно потерянные newlines. Ещё встречал цирк с числами в scientific notation на выходе шаблона. Так и не смог свыкнуться с этим «подходом»; поигрался немного в kustomize в качестве альтернативы и, в конце концов, остановился на jsonnet (qbec.io)

Only those users with full accounts are able to leave comments. Log in, please.