В werf — нашей Open Source-утилите для CI/CD — представлена ранняя поддержка Helm 3. Мы не торопились с ней, потому что ключевые фичи нового Helm'а уже были реализованы нами внутри werf (ещё до выхода Helm 3), но пользователи всё равно просили и ждали.
Из других изменений в werf — стабилизация публичного сервера синхронизации для распределённого режима работы и альфа-версия нового алгоритма очистки стадий и образов.
Подробности см. в прикрепленном сообщении и по ссылкам из него.
Из других изменений в werf — стабилизация публичного сервера синхронизации для распределённого режима работы и альфа-версия нового алгоритма очистки стадий и образов.
Подробности см. в прикрепленном сообщении и по ссылкам из него.
Forwarded from Timofey Kirillov
⛵️⛵️ Базовые команды Helm 3 доступны в альфа-канале werf через подкоманду
Данная поддержка подкоманд Helm 3 может быть полезна уже сейчас всем тем, кто использует команду
🗞📰 Подпишись на issue, чтобы следить за дальнейшими работами по Helm 3: https://github.com/werf/werf/issues/1606
🌏🪐 Доехала до stable версия werf, которая использует публичный сервер синхронизации для распределённого режима работы. Подробнее в предыдущем посте: https://xn--r1a.website/werf_ru/13337
🧹🧹 Новый алгоритм очистки стадий и образов на основе истории git включён по умолчанию в alpha канале (начиная с версии v1.1.22-alpha6) для любых стратегий тегирования. В дальнейшем эта версия распространится и на другие каналы. Рекомендуется ознакомиться с новыми настройками и логикой работы на страницах: https://ru.werf.io/documentation/configuration/cleanup.html и https://ru.werf.io/documentation/reference/cleaning_process.html#%D0%B0%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC-%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D1%8B-%D0%BE%D1%87%D0%B8%D1%81%D1%82%D0%BA%D0%B8-%D0%BF%D0%BE-%D0%B8%D1%81%D1%82%D0%BE%D1%80%D0%B8%D0%B8-git.
🐎🐎 Начаты работы по параллельной сборке образов, объявленных в werf.yaml.
Скоро:
⛵️⛵️ Полная поддержка Helm 3.
🐎🐎 Параллельная сборка образов, объявленных в werf.yaml.
🧤🧹 Доделки связанные с авто-очисткой локального хоста от старых docker-образов при использовании распределённой сборки.
🐳⛴ Официальная поддержка запуска werf в docker (docker-образ с werf, возможность работы в Kubernetes — пока в привилигерованном режиме, документация).
werf helm-v3. Добавлена поддержка отслеживания вывода деплоя через kubedog в эти команды. Пример использования:werf helm-v3 upgrade --namespace myproj myproj . --install --create-namespace --atomic --waitПоддерживаются все аннотации werf, связанные с отслеживанием ресурсов: https://ru.werf.io/documentation/reference/deploy_process/deploy_into_kubernetes.html#%D0%BD%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B0-%D0%BE%D1%82%D1%81%D0%BB%D0%B5%D0%B6%D0%B8%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F-%D1%80%D0%B5%D1%81%D1%83%D1%80%D1%81%D0%BE%D0%B2
Данная поддержка подкоманд Helm 3 может быть полезна уже сейчас всем тем, кто использует команду
werf helm deploy-chart для Helm 2. А мы продолжаем работу по переходу на Helm 3 для команд werf deploy/dismiss и поддержкой остальных доработок (секреты, поддержка replicas autoscaler для 3-way-merge managed fields, adoption ресурсов, автоматическое добавление произвольных аннотаций и лейблов в ресурсы чарта и пр.).🗞📰 Подпишись на issue, чтобы следить за дальнейшими работами по Helm 3: https://github.com/werf/werf/issues/1606
🌏🪐 Доехала до stable версия werf, которая использует публичный сервер синхронизации для распределённого режима работы. Подробнее в предыдущем посте: https://xn--r1a.website/werf_ru/13337
🧹🧹 Новый алгоритм очистки стадий и образов на основе истории git включён по умолчанию в alpha канале (начиная с версии v1.1.22-alpha6) для любых стратегий тегирования. В дальнейшем эта версия распространится и на другие каналы. Рекомендуется ознакомиться с новыми настройками и логикой работы на страницах: https://ru.werf.io/documentation/configuration/cleanup.html и https://ru.werf.io/documentation/reference/cleaning_process.html#%D0%B0%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC-%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D1%8B-%D0%BE%D1%87%D0%B8%D1%81%D1%82%D0%BA%D0%B8-%D0%BF%D0%BE-%D0%B8%D1%81%D1%82%D0%BE%D1%80%D0%B8%D0%B8-git.
🐎🐎 Начаты работы по параллельной сборке образов, объявленных в werf.yaml.
Скоро:
⛵️⛵️ Полная поддержка Helm 3.
🐎🐎 Параллельная сборка образов, объявленных в werf.yaml.
🧤🧹 Доделки связанные с авто-очисткой локального хоста от старых docker-образов при использовании распределённой сборки.
🐳⛴ Официальная поддержка запуска werf в docker (docker-образ с werf, возможность работы в Kubernetes — пока в привилигерованном режиме, документация).
GitHub
Helm 3 support · Issue #1606 · werf/werf
Hello, guys! Amazing project! Looks like exactly what I’m looking for. Just some probably weird question for me, if Helm 3 is supported? I know it’s still alpha, but it still works well for us even...
Оказывается, прошлую версию нашего плагина для Grafana — statusmap panel (https://github.com/flant/grafana-statusmap) — скачали более 2 миллионов раз! Интересно, каких показателей достигнет новый релиз, представленный в прошлом месяце…
Новая статья в нашем блоге посвящена установке Kubernetes на… Raspberry Pi. Впрочем, она может быть интересна и просто в качестве базовой инструкции — любителям vanilla и bare metal: https://habr.com/ru/company/flant/blog/513908/
Хабр
Полноценный Kubernetes с нуля на Raspberry Pi
Совсем недавно одна известная компания объявила, что переводит линейку своих ноутбуков на ARM-архитектуру. Услышав эту новость, я вспомнил: просматривая в очер...
Уже сегодня начинается главное мероприятие по Kubernetes, которое вынужденно перешло в виртуальное пространство: KubeCon + CloudNativeCon Europe 2020.
Компания «Флант» участвует в нём с докладом про одну из своих Open Source-разработок — shell-operator. Он прозвучит в четверг (20 августа): https://kccnceu20.sched.com/event/cfea816a0ae640df39193f45baf18cc1
Компания «Флант» участвует в нём с докладом про одну из своих Open Source-разработок — shell-operator. Он прозвучит в четверг (20 августа): https://kccnceu20.sched.com/event/cfea816a0ae640df39193f45baf18cc1
Sched
KubeCon + CloudNativeCon Europe 2020: Go? Bash! Meet the Shell-operator - Andr...
View more about this event at KubeCon + CloudNativeCon Europe 2020
Новый перевод в блоге — об эволюции микросервисов в Uber и к чему там пришли, чтобы жизнь с ними по-настоящему наладилась (в масштабах конкретной компании, конечно): https://habr.com/ru/company/flant/blog/514830/
Хабр
Предметно-ориентированная микросервисная архитектура от Uber
Прим. перев.: недавняя статья от Uber Engineering рассказывает о путешествии этой крупной компании к своей улучшенной версии микросервисной архитектуры. Несмотря...
Для блога перевели занятный post mortem от Red Hat по проблеме, с которой некоторые могли столкнуться: перебоями в функционировании сервиса container registry компании — Quay.io — в мае и июне. https://habr.com/ru/company/flant/blog/515932/
Хабр
Post Mortem по недоступности Quay.io
Прим. перев.: в начале августа Red Hat публично рассказала о решении проблем доступности, что возникали в предыдущие месяцы у пользователей её сервиса Quay.io (в его основе — реестр для образов...
Рассказываем про грядущий релиз Kubernetes: https://habr.com/ru/company/flant/blog/516322/
Хабр
Kubernetes 1.19: обзор основных новшеств
Сегодня, 25 августа, состоится новый релиз Kubernetes (его в общей сложности задержали почти на 2 месяца) — 1.19. По традиции нашего блога, рассказываем о наибол...
Forwarded from Timofey Kirillov
Helmfile теперь можно использовать с werf!
Доступно в alpha / beta каналах в версии 1.1.22.
1. Устанавливаем последний helmfile.
2. Устанавливаем плагин helm-diff (его требует helmfile для helm):
3. Подготавливаем helmfile.yaml:
4. Устанавливаем переменную окружения
5. Проверяем установленный релиз:
Есть нюансы:
- helmfile не поддерживает live-вывод, когда вызывает helm/werf и печатает на экран вывод только когда helm/werf завершится;
- для получения вывода kubedog надо использовать флаг wait: true в манифесте helmfile (это соответствует стандартному helm-флагу:
- несмотря на отсутствие live-вывода в helmfile использование werf всё равно полезней, т.к. в итоге этот вывод будет получен, и werf как обычно завершит процесс деплоя если обнаружит ошибку (fail fast);
- для получения live-вывода рекомендуется использовать чистый werf.
Полная поддержка helm-3 в стандартных командах werf deploy/dismiss — скоро.
Доступно в alpha / beta каналах в версии 1.1.22.
1. Устанавливаем последний helmfile.
2. Устанавливаем плагин helm-diff (его требует helmfile для helm):
source $(multiwerf use 1.1 alpha --as-file)
werf helm-v3 plugin install https://github.com/databus23/helm-diff
3. Подготавливаем helmfile.yaml:
repositories:
- name: stable
url: https://kubernetes-charts.storage.googleapis.com
releases:
- name: mytraefik
namespace: aaa
createNamespace: true
wait: true
chart: stable/traefik
labels:
name: traefik-public
version: 1.86.2
4. Устанавливаем переменную окружения
WERF_HELM3_MODE=1 — это превратит cli-интерфейс бинарника werf в совместимый с helm-3, затем запускаем helmfile с опцией --helm-binary.source $(multiwerf use 1.1 alpha --as-file)
export WERF_HELM3_MODE=1
helmfile -b $(multiwerf werf-path 1.1 alpha) apply
5. Проверяем установленный релиз:
export WERF_HELM3_MODE=1
werf list --namespace aaa
# или
unset WERF_HELM3_MODE
werf helm-v3 list --namespace aaa
Есть нюансы:
- helmfile не поддерживает live-вывод, когда вызывает helm/werf и печатает на экран вывод только когда helm/werf завершится;
- для получения вывода kubedog надо использовать флаг wait: true в манифесте helmfile (это соответствует стандартному helm-флагу:
helm upgrade --wait или werf helm-v3 upgrade --wait);- несмотря на отсутствие live-вывода в helmfile использование werf всё равно полезней, т.к. в итоге этот вывод будет получен, и werf как обычно завершит процесс деплоя если обнаружит ошибку (fail fast);
- для получения live-вывода рекомендуется использовать чистый werf.
Полная поддержка helm-3 в стандартных командах werf deploy/dismiss — скоро.
Перевели для блога недавний анонс Hierarchical Namespace Controller. Что это такое и зачем его придумали в Google: https://habr.com/ru/company/flant/blog/517478/
Хабр
Анонс иерархических пространств имен для Kubernetes
Прим. перев.: недавно в блоге Kubernetes был представлен проект «иерархических пространств имён». Формально он существует с конца прошлого года, но именно теперь авторы сочли уместным анонсировать...
Испанский DevOps-инженер Miguel Fontanilla написал замечательную обзорную статью и мини-руководство по нашей утилите werf для сборки образов и их деплоя в Kubernetes. Прочитать (и поделиться с англоязычными коллегами) можно здесь: https://kubesandclouds.com/index.php/2020/09/01/werf-gitops/
Перевели интересную историю о том, как много классических crontab'ов мигрировали на Kubernetes: https://habr.com/ru/company/flant/blog/518358/
Хабр
Как в Lyft улучшали Kubernetes CronJobs
Прим. перев.: эту статью, в оригинале состоящую из двух частей, написал Kevin Yang — software engineer из компании Lyft, которая хорошо известна в Kubernetes-соо...
В прошлом месяце «Флант» выступал на KubeCon EU 2020 с докладом про Open Source-проект shell-operator. Видео этого доклада, его слайды, а также русскоязычный обзор опубликованы здесь: https://habr.com/ru/company/flant/blog/519208/
Хабр
Go? Bash! Встречайте shell-operator (обзор и видео доклада с KubeCon EU'2020)
В этом году главная европейская конференция по Kubernetes — KubeCon + CloudNativeCon Europe 2020 — была виртуальной. Впрочем, такая смена формата не помешала нам выступить с давно запланированным...
Рады представить новую услугу — Managed Kubernetes от «Фланта»!
Если совсем вкратце, то это Kubernetes as a Service, главные особенности которого:
1) любая инфраструктура: разные облачные провайдеры, OpenStack, vSphere и даже bare metal (может быть и on-premises);
2) upstream-дистрибутив Kubernetes, в котором мы подготовили к реальной работе всё самое главное (метрики/графики, настроенный Nginx Ingress, SSL-сертификаты, Dashboard и т.д.);
3) поддержка от наших инженеров.
Подробности и калькулятор стоимости: https://flant.ru/services/managed-kubernetes-as-a-service
Если совсем вкратце, то это Kubernetes as a Service, главные особенности которого:
1) любая инфраструктура: разные облачные провайдеры, OpenStack, vSphere и даже bare metal (может быть и on-premises);
2) upstream-дистрибутив Kubernetes, в котором мы подготовили к реальной работе всё самое главное (метрики/графики, настроенный Nginx Ingress, SSL-сертификаты, Dashboard и т.д.);
3) поддержка от наших инженеров.
Подробности и калькулятор стоимости: https://flant.ru/services/managed-kubernetes-as-a-service
Флант | Специалисты по DevOps и Kubernetes pinned «Рады представить новую услугу — Managed Kubernetes от «Фланта»! Если совсем вкратце, то это Kubernetes as a Service, главные особенности которого: 1) любая инфраструктура: разные облачные провайдеры, OpenStack, vSphere и даже bare metal (может быть и on-premises);…»
Новый перевод для блога — об опыте австралийской компании по использованию Kubernetes для нагруженного сервиса в production: https://habr.com/ru/company/flant/blog/519962/
Хабр
3 года с Kubernetes в production: вот что мы поняли
Прим. перев.: в очередной статье из категории «lessons learned» DevOps-инженер австралийской компании делится главными выводами по итогам продолжительного исполь...
И ещё один перевод lessons learned — в этот раз от GitLab, процесс переезда у которой длится вот уже год: https://habr.com/ru/company/flant/blog/520150/
Хабр
Наши выводы за год миграции GitLab.com на Kubernetes
Прим. перев.: адаптацию Kubernetes в GitLab считают одним из двух главных факторов, способствующих росту компании. Тем не менее, до недавнего времени инфраструкт...
Известные специалисты по Kafka — компания Confluent — подготовила «симуляцию production-окружения с Kafka и своими продуктами, которое управляется декларативной инфраструктурой и GitOps». Для реализации операторов в образах, используемых в этом проекте, использовался наш shell-operator (https://github.com/flant/shell-operator). Подробнее о том, что назвали «Apache Kafka DevOps», см. в блоге авторов: https://www.confluent.io/blog/kafka-devops-with-confluent-kubernetes-and-gitops/
Новая статья в блоге — про Kubernetes-операторы для PostgreSQL вообще и наш опыт с решением от Zalando в частности: https://habr.com/ru/company/flant/blog/520616/
Хабр
Краткий обзор операторов PostgreSQL для Kubernetes, наш выбор и опыт
Всё чаще от клиентов поступают такие запросы: «Хотим как Amazon RDS, но дешевле»; «Хотим как RDS, но везде, в любой инфраструктуре». Чтобы реализовать подобное...
И ещё одна классная новость из области Open Source-сотрудничества! 😉 Реализация MCM-провайдера для Яндекс.Облака, сделанная R&D-отделом компании «Флант», стала частью проекта Gardener: https://github.com/gardener/machine-controller-manager-provider-yandex
Gardener — это система для управления всем жизненным циклом Kubernetes-кластеров, развернутых у разных провайдеров (AWS, Azure, GCP, OpenStack и др.). MCM (Machine Controller Manager) предоставляет декларативный способ управления виртуальными машинами (как Custom Resources в Kubernetes).
Gardener — это система для управления всем жизненным циклом Kubernetes-кластеров, развернутых у разных провайдеров (AWS, Azure, GCP, OpenStack и др.). MCM (Machine Controller Manager) предоставляет декларативный способ управления виртуальными машинами (как Custom Resources в Kubernetes).
GitHub
GitHub - gardener/machine-controller-manager-provider-yandex: Machine controller manager provider for Yandex
Machine controller manager provider for Yandex. Contribute to gardener/machine-controller-manager-provider-yandex development by creating an account on GitHub.