Наш очередной перевод в блоге — не про эксплуатацию, а про дебри SQL, в которые можно забраться с новыми возможностями MySQL 8: https://habr.com/ru/company/flant/blog/510686/
Хабр
Применение оконных функций и CTE в MySQL 8.0 для реализации накопительного итога без хаков
Прим. перев.: в этой статье тимлид британской компании Ticketsolve делится решением своей весьма специфичной проблемы, демонстрируя при этом общие подходы к со...
В lockgate, нашей Open Source-библиотеке для организации блокировок на языке Golang (используется в werf), появился новый тип локов — на базе HTTP-сервера, который может использовать для их хранения память или Kubernetes. Подробности — в README проекта: https://github.com/werf/lockgate
GitHub
GitHub - werf/lockgate: Lockgate is a cross-platform distributed locking library for Go. Supports distributed locks backed by Kubernetes…
Lockgate is a cross-platform distributed locking library for Go. Supports distributed locks backed by Kubernetes or HTTP lock server. Supports conventional OS file locks. - werf/lockgate
Новый перевод в блоге — объяснение сути service mesh на 16 примерах/причинах их возможного применения: https://habr.com/ru/company/flant/blog/512352/
Хабр
Сценарии использования service mesh
Прим. перев.: автор это статьи (Luc Perkins) — developer advocate в организации CNCF, являющейся домом для таких Open Source-проектов, как Linkerd, SMI (Servic...
Новая статья в блоге — подборка консольных команд для популярных операций в Kubernetes: https://habr.com/ru/company/flant/blog/512762/
Хабр
Kubernetes tips & tricks: удобные заготовки для kubectl
Внутри компании мы активно делимся между собой полученными знаниями: не только в виде формальных wiki-инструкций, но и сообщениями в Slack (а чтобы ничего не тер...
🎉 1800 звёзд на GitHub у https://github.com/werf/werf
GitHub
GitHub - werf/werf: A solution for implementing efficient and consistent software delivery to Kubernetes facilitating best practices.
A solution for implementing efficient and consistent software delivery to Kubernetes facilitating best practices. - werf/werf
Перевели для блога ежегодный мини-отчет Richard Hartmann о проекте Prometheus, его последним релизам и ближайшим перспективам: https://habr.com/ru/company/flant/blog/513574/
Хабр
Будущее Prometheus и экосистемы проекта (2020)
Прим. перев.: это перевод статьи, подготовленной по мотивам недавнего выступления Richard Hartmann — заметного представителя команды разработчиков Prometheus, ди...
Написали новость об очередной service mesh: https://habr.com/ru/company/flant/news/t/514066/
Хабр
Open Service Mesh — новая service mesh для Kubernetes от Microsoft
Вчера состоялся анонс очередного Open Source-решения класса service mesh — Open Service Mesh (OSM). Проект был представлен Michelle Noorali, что занимает должность Senior Software Engineer в команде...
Новый перевод в блоге — размышления (и небольшой эксперимент) про производительность логов в стандартной для Kubernetes связке с использованием fluentd: https://habr.com/ru/company/flant/blog/514216/
Хабр
Цена tailing'а логов в Kubernetes
Прим. перев.: эту статью написал старший DevOps-инженер американской компании Olark, главный продукт которой — live chat — используют тысячи организаций. Автор д...
У k8s-image-availability-exporter — нашего Prometheus exporter'а для отслеживания образов, используемых для ресурсов Kubernetes, но отсутствующих в реестрах контейнеров, — появился Helm-чарт. Подробности смотрите в репозитории: https://github.com/flant/k8s-image-availability-exporter (а о самом проекте в целом мы рассказывали здесь: https://habr.com/ru/company/flant/blog/495358/).
За появление этого чарта (и его последующее тестирование не только в Helm v3, но и v2) мы очень благодарны сторонним энтузиастам!
За появление этого чарта (и его последующее тестирование не только в Helm v3, но и v2) мы очень благодарны сторонним энтузиастам!
GitHub
GitHub - deckhouse/k8s-image-availability-exporter: Alert if an image used in Kubernetes cannot be pulled from container registry
Alert if an image used in Kubernetes cannot be pulled from container registry - deckhouse/k8s-image-availability-exporter
В 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/