В погоне за лучшей или, правильнее сказать, удобной жизнью я начал искать решение, которое помогало бы писать чарты для Kubernetes и лучше разбираться в зависимостях — что, куда и откуда подставляется в созданных чартах. Так я наткнулся на программу под названием Monokle. В ее описании сказано: «Вы сможете составлять чарты, быстро находить какие либо несовместимости или неправильный код, а также деплоить ваши чарты сразу в K8s». Глаза загорелись, я приступил к установке.
Рубрика «helm»
Обзор IDE Monokle, или Рассказ о неоправдавшихся ожиданиях
2022-09-30 в 7:01, admin, рубрики: devops, helm, IDE, kubernetes, monokle, Блог компании Флант, системное администрированиеЗадаём порядок деплоя ресурсов в Kubernetes с помощью werf-Helm
2022-09-02 в 6:16, admin, рубрики: continuous delivery, devops, helm, kubernetes, werf, Блог компании Флант, системы сборкиПри деплое в Kubernetes часто требуется выкатывать ресурсы в определённом порядке, а иногда и дожидаться готовности сторонних ресурсов. Например, сначала нужно запустить БД, дождаться создания динамического Secret’а сторонним оператором, потом выполнить инициализацию/миграции БД, а уже затем запустить само приложение.
Рассмотрим, как решать такие задачи с помощью Helm, а также сравним с более быстрым и удобным вариантом, который предлагает Open Source-утилита werf.
Во что обернулась пересылка MQTT-сообщений в Telegram?
2022-08-20 в 15:43, admin, рубрики: api, automation, github actions, helm, hobby, java, telegrambot, ПрограммированиеПериодически возникает желание получать уведомления, иметь возможность настраивать источник, фильтровать сообщения по темам, и писать как можно меньше кода. Например, присылать себе картинку/цитату/слово дня или дельту по изменениям ордеров на бирже. В результате получился универсальный инструмент - бот и персональное АПИ для отправки сообщений в Telegram. Прошу под кат.
Архитектура
Как подружить helm со своим шаблонизатором?
2021-10-10 в 9:40, admin, рубрики: devops, golang, gomplate, helm, kubernetesHelm использует go templates для рендеринга манифестов. Есть функции, которые были разработаны специально для helm. Но в большинстве своем используется библиотека Sprig.
Но что, если нам мало функций и мы хотим воспользоваться каким-нибудь своим кастомным шаблонизатором?
werf vs. Helm: корректно ли их вообще сравнивать?
2021-04-29 в 7:11, admin, рубрики: continuous delivery, devops, helm, kubernetes, open source, werf, Блог компании Флант, системное администрированиеЭта статья — развернутый ответ на вопрос, который нам периодически задают: чем werf отличается от Helm? На первый взгляд можно предположить, что задача у них примерно одинаковая: автоматизировать деплой приложений в Kubernetes. Но всё, конечно, немного сложнее…
Роль в CI/CD
Если упрощенно показать утилиты в рамках полного цикла CI/CD, то их функции значительно отличаются:
Helm |
werf |
— |
Эксплуатация MongoDB в Kubernetes: решения, их плюсы и минусы
2021-03-26 в 6:18, admin, рубрики: devops, helm, kubernetes, kubernetes operator, mongodb, Блог компании Флант, системное администрированиеMongoDB — одна из самых популярных NoSQL/документоориентированных баз данных в мире веб-разработки, поэтому многие наши клиенты используют её в своих продуктах, в том числе и в production. Значительная их часть функционирует в Kubernetes, так что хотелось бы поделиться накопленным опытом: какие варианты для запуска Mongo в K8s существуют? В чем их особенности? Как мы сами подошли к этому вопросу?
Продвинутая Helm-шаблонизация: выжимаем максимум
2020-12-02 в 9:51, admin, рубрики: devops, go-templates, helm, kubernetes, yaml, Блог компании Флант, системное администрирование
Стандартной Helm-библиотеки и привычных подходов к написанию Helm-чартов обычно хватает для автоматизации несложных приложений. Но когда количество и сложность Helm-чартов растут, то минималистичных Go-шаблонов и неоднозначной стандартной Helm-библиотеки быстро перестаёт хватать. В этой статье речь пойдет о том, как сделать ваши Helm-шаблоны гораздо более гибкими и динамичными, реализуя свои собственные «функции» в Helm, а также эксплуатируя tpl
.
NB. Всё описанное было проверено с werf, но так как шаблоны в этой утилите практически идентичны Helm-шаблонам, то и всё нижеприведенное будет полностью или почти полностью совместимо с обычным Helm обеих версий (v2 и v3).
А теперь разберем, как получить от Helm-шаблонов всё, что можно… и даже всё, что нельзя!Читать полностью »
Из жизни с Kubernetes: Как мы выносили СУБД (и не только) из review-окружений в статическое
2020-05-14 в 8:55, admin, рубрики: continuous delivery, devops, helm, helm hooks, kubernetes, mongodb, postgresql, RabbitMQ, Блог компании Флант, системное администрирование
Примечание: эта статья не претендует на статус лучшей практики. В ней описан опыт конкретной реализации инфраструктурной задачи в условиях использования Kubernetes и Helm, который может быть полезен при решении родственных проблем.
Использование review-окружений в CI/CD может быть весьма полезным, причём как для разработчиков, так и для системных инженеров. Давайте для начала синхронизируем общие представления о них:
- Review-окружения могут создаваться из отдельных веток в Git-репозитории, определяемых разработчиками (так называемые feature-ветки).
- Они могут иметь отдельные экземпляры СУБД, обработчиков очередей, кэширующих сервисов и т.п. — в общем, всё для полноценного воспроизведения production-окружения.
- Они позволяют вести параллельную разработку, значительно ускоряя выпуск новых функций в приложении. При этом каждый день могут потребоваться десятки подобных окружений, из-за чего скорость их создания критична.
На пересечении второго и третьего пунктов зачастую и возникают сложности: поскольку инфраструктура бывает очень разной, её компоненты могут деплоиться долгое время. В это затрачиваемое время, например, входит восстановление базы данных из уже подготовленного бэкапа*. Статья — о том, каким увлекательным путем мы однажды отправились для решения такой проблемы.Читать полностью »
Полезен ли Слёрм?
2020-04-01 в 7:12, admin, рубрики: helm, Istio, k8s, kubernetes, prometheus, service mesh, Блог компании Southbridge, борьба со скукой и паникой, Вечерняя школа Слёрма, интенсив, интервью, контейнеризация, конференции, мероприятие, нет гречке и туалетной бумаге, опрос, радио Пустошей, системное администрирование, Слёрм, что бы поделатьСлёрму полтора года. Шесть интенсивов только по базовому курсу Kubernetes, плюс Мега, DevOps, SRE и Agile — более тысячи участников.
7 апреля стартует «Вечерняя школа Слёрма: базовый курс по Kubernetes», рассчитанная на 4 месяца занятий по вечерам (бесплатные вебинары по теории и платная практика). В мае пройдет седьмой Слёрм по Kubernetes (онлайн-интенсив, «как офлайн, только онлайн»). Будет всё «по-оффлайновому»: с голосовым чатом, видеосвязью, «курилкой» в зуме, групповой работой, выделенными наставниками и техподдержкой.
Мы заявляем, что Слёрм открывает путь к проектам на Kubernetes и росту зарплаты. Так ли это на самом деле?
Мы задали этот вопрос выпускникам Слёрмов. Полтора года — достаточный срок, чтобы стали заметными изменения в карьере, зарплате, работе и сфере задач.
Что важно понимать про этот опрос? Тут есть «ошибка выжившего»: нам ответили те, кто следит за чатом своего Слёрма и готов общаться. Наверняка есть те, кому Слёрм оказался бесполезен, и они молчат об этом. Жизнь меняется: те, кто начал работать с Kubernetes год назад, были в другом положении, чем те, кто начинает сейчас. Это работает в обе стороны: стать архитектором решений сейчас куда сложнее, а найти место джуниора куда проще.
Тем не менее, ответы вполне показательны. По ним можно понять, ради чего стоит проходить Слёрмы.
Карантин — хороший повод поинтересоваться, как там дела в других бункерах на Пустошах, кто какие технологии использует вместе с Kubernetes, что собирается изучать ещё и в какую сторону двигается, не вставая с кресла. Quarantine. Quarantine Never Changes.
Организация деплоя в множество k8s окружений с помощью helmfile
2020-03-04 в 19:41, admin, рубрики: deploy, devops, helm, helmfile, kubernetesHelmfile — обёртка для helm, которая позволяет в одном месте описывать множество helm релизов, параметризовать их чарты для нескольких окружений, а также задавать порядок их деплоя.
О самом helmfile и примерах его использования можно почитать в readme и best practices guide.
Мы же познакомимся с неочевидными способами описать релизы в helmfile
Допустим, у нас есть пачка helm-чартов (для примера пусть будет postgres и некое backend приложение) и несколько окружений (несколько kubernetes кластеров, несколько namespace'ов или несколько и того, и другого). Берём helmfile, читаем документацию и начинаем описывать наши окружения и релизы:
.
├── envs
│ ├── devel
│ │ └── values
│ │ ├── backend.yaml
│ │ └── postgres.yaml
│ └── production
│ └── values
│ ├── backend.yaml
│ └── postgres.yaml
└── helmfile.yaml