Флант | Специалисты по DevOps и Kubernetes
2.19K subscribers
442 photos
3 videos
1 file
775 links
С 2008 года внедряем практики для автоматизации процессов разработки и управления инфраструктурами: flant.ru
В канале — наши технические статьи, видео, Open Source-проекты и новости для технических специалистов.

Русскоязычный чат: t.iss.one/+_eOEtncbZ1hkZDNi
Download Telegram
Docker без контейнеров: разбираем, при чем здесь WebAssembly

«Если бы WASM+WASI существовали в 2008 году, нам бы не пришлось создавать Docker. WebAssembly на сервере — будущее компьютерных технологий», — считает Соломон Хайкс, соучредитель корпорации Docker и автор Docker Open Source Initiative.

Сравнительно недавно Docker объявил о поддержке WebAssembly на базе WasmEdge. А мы перевели фундаментальный и практичный материал о том, как пользоваться этой технологией в экосистеме Docker и чем Wasm-контейнер отличается от классического.
👍7🤔31
«Флант» любит цифры. И сейчас наши внутренние перфекционисты ликуют: «Флант» вырос до 200 человек и отметил 15 лет.

И еще — наш канал перешагнул цифру в 1️⃣0️⃣0️⃣0️⃣ подписчиков. В соцсетях существует негласное правило: после этого канал считается взрослым. Спасибо, что помогаете нам «взрослеть».

Больше, чем цифры, мы любим только делиться опытом. И мы решили отметить дату подборкой наших самых читаемых статей:
1️⃣ «Тренды Kubernetes и контейнеризации в 2023 году»
2️⃣ «Git для ленивых: обзор консольной утилиты Lazygit»
3️⃣ «Git happens! 6 типичных ошибок Git и как их исправить»
4️⃣ «Устройство и механизм работы Prometheus Operator в Kubernetes»
5️⃣ «Наглядное руководство по SSH-туннелям»
6️⃣ «Обзор UI-инструментов для мониторинга и управления кластерами Apache Kafka»
7️⃣ «Как поднять Kubernetes на двух старых ноутбуках с Gentoo»
8️⃣ «LINSTOR — это как Kubernetes, но для блочных устройств»
9️⃣ «Пожалуйста, перестаньте рекомендовать Git Flow»
🔟 «Внутреннее устройство Kubernetes-кластера простым языком»
🎉20🔥8👏5
«Однажды темным-темным вечером в темной-темной комнате», — так должна начинаться любая по-настоящему страшная история. Однако история, от которой шевелятся волосы на голове DevOps-инженера, звучит совсем иначе: прод упал и ничего не работает.

Об одном таком случае — как Kube API-серверы заняли всю память и уронили API Kubernetes — мы и рассказали в новой статье на Хабре. И конечно, поделились деталями, как ограничивать число запросов в Kubernetes API, чтобы с вами такого не случалось.
🔥8👍31
Дано: 2 кластера Kubernetes в облаке. Нам нужно перенести хранилище данных из одного в другой. Есть нюанс: выключать хранилище нельзя, чтобы не вызвать коллапс сервисов, которые с ним работают.

Решение: В статье на Хабре разобрали не самый очевидный способ, как настроить миграцию etcd между двумя облачными кластерами Kubernetes так, чтобы она происходила без простоев.
👍8🔥4
Сервисы Datadog упали 8 марта 2023 года и не работали более суток. В результате инцидента компания потеряла более $5 млн. Кроме того, информации в режиме реального времени сотрудники Datadog не давали, клиенты не понимали, что происходит, и доверие части пользователей было подорвано.

Мы перевели детальное расследование инцидента, который случился со службой наблюдения за облачными приложениями. В нем подробно разбирается, какие ошибки допустила компания и как можно было их избежать.
🔥12👎3
Регулярно изучаем закоулки в документации разных инструментов — и недавно в очередной раз читали про DRBD. Раздел про внутреннее устройство этой системы хранения данных показался нам настолько полезным, что мы решили его перевести. У документации DRBD нет разделов на разных языках, поэтому выложили его на Хабре.

Что вы найдете в переводе:
как оценить размер метаданных;
как устроены идентификаторы поколений и как их использует DRBD;
как выбрать подходящий размер для журнала активности;
как устроена внутренняя структура данных quick-sync bitmap.
👍12🔥4
Минута славы у нашего Open Source-инструмента shell-operator — он набрал 2000 звезд на GitHub. Благодарим сообщество за поддержку!

Немного истории
Несколько лет назад, еще до появления K8s-платформы Deckhouse, нам понадобился инструмент, который бы помог упростить и ускорить автоматизацию небольших задач вроде тиражирования секретов для доступа к docker registry. Операторы под Kubernetes удобно писать на Go, но системные администраторы его обычно не знают — да и не должны. Бегать же по каждой мелочи в команду разработки долго и затратно. Зато администраторы точно знают shell/bash и почти точно — Python.

Конечно, писать на bash или Python какие-то автоматизации для K8s можно и без shell-operator, но такие решения получаются немного костыльными. shell-operator же позволяет подписаться на события от объектов Kubernetes, а когда получает их, автоматически запускает какую-то внешнюю программу (например, тот самый bash-скрипт) и передает в нее информацию о событии.

shell-operator и Deckhouse
Наши инженеры очень широко использовали shell-operator в своих ежедневных задачах. Более того, он стал «пластилином и веточками», из которых мы собрали прототип нашей будущей Kubernetes-платформы Deckhouse и проверили разные гипотезы относительно автоматизации работы с K8s. Со временем, конечно, все важные модули и операторы Deckhouse мы переписали на Go.

Инструмент получился классным, а мы всегда любили Open Source и старались максимально делиться наработками с сообществом. В итоге мы выложили shell-operator в открытый доступ — чтобы другие системные администраторы и инженеры тоже могли быстро писать операторы и сценарии для автоматизации привычным способом.

Больше о том, как устроен shell-operator и как с ним работать:
🔹«Представляем shell-operator: создавать операторы для Kubernetes стало ещё проще»
🔹«Go? Bash! Встречайте shell-operator»

P.S. Если вам понравился shell-operator, поставьте ему звездочку на GitHub😛
🔥15👏31
7 июня в 10.00 на конференции по безопасности контейнеров «БеКон» выступит с докладом руководитель разработки платформы Deckhouse Константин Аксенов. Он расскажет о разных вариантах предоставления доступа к Kubernetes API и рассмотрит, насколько безопасны самые распространенные из них:
✔️ X.509-сертификаты;
✔️ токены сервисных аккаунтов;
✔️ OIDC от провайдера;
✔️ внешний вебхук аутентификации.

Константин подсветит самые частые проблемы и подводные камни и, конечно, подскажет инструменты, которые помогут их диагностировать и устранить.

Конференция пройдет в Москве в офлайн-формате.

Купить билет >>
👍7
Любая команда, работающая одновременно над несколькими проектами, понимает, как сложно и больно удержать баланс: не перегрузить сотрудников и выполнить ожидания клиентов. Нам постройка универсальной и работающей системы управления проектами далась непросто, за прошедшие 3 года мы во многом пересмотрели свои подходы и ввели новые практики. О том, как мы шли-шли и пришли к ним и какая нам и клиентам от этого польза, рассказали в статье на Хабре.

О чем узнаете из статьи:
Почему прежняя система не работала так, как нам того хотелось.
Почему WIP-лимиты (Work in Progress Limits) помогли нам, но не стали универсальным решением.
Как мы придумали флоу работы с приоритетами и блокировками.
Как мы искали (и нашли!) универсальную единицу измерения работ инженера, и почему это не часы.
Как мы сейчас планируем работу без перегрузок и делаем ее прозрачной для клиента.
🔥11👍2
🔥 State of DevOps 2023: результаты исследования

Ребята из «Экспресс 42» при поддержке наших экспертов, а также коллег из Yandex Cloud, OTUS и HeadHunter, провели масштабное исследование состояния DevOps в России. Поделимся результатами, а также подробно обсудим тренды и итоги отрасли 15 июня на вебинаре.

Спикеры
🔹Виталий Хабаров — ведущий инженер, «Экспресс 42».
🔹Александр Баталов — генеральный директор, «Флант».
🔹Павел Селиванов — архитектор, Yandex Cloud.

Что будет
🔸DevOps в цифрах — статистика по участникам DevOps-отрасли, результаты компаний за 2022 год и планы на 2023-й, роль IT в бизнесе.
🔸Метрики, инструменты и практики — профили эффективности 2023 года, актуальные инструменты и сервисы, ключевые практики.
🔸Cloud & Kubernetes — облачные решения и провайдеры, Managed и PaaS сервисы, экосистема Kubernetes.

Дата и время: 15 июня в 20:00 по МСК.

⚡️ Зарегистрироваться на вебинар
🔥14👍2🤔1
20 июня генеральный директор «Фланта» Александр Баталов выступит на форуме «CNews Forum Кейсы. Опыт ИТ-лидеров» в секции «ИТ в финсекторе». Тема доклада: «Купить или создать свое? Стратегии построения контейнерной разработки на базе Kubernetes». Он расскажет, стоит ли создавать кастомный Kubernetes или лучше воспользоваться готовым решением и как финансовой компании реализовать контейнерную разработку.

Если планировали посетить форум — приходите на наш стенд пообщаться с Артемом Кожокиным, директором по развитию Kubernetes-платформы Deckhouse, и Андреем Радыгиным, директором по развитию бизнеса. Они с удовольствием ответят на вопросы про DevOps, Kubernetes, Deckhouse, werf, Okmeter.
👍12🔥3👎21
Мы подготовили подробный разбор Coroot — утилиты с открытым исходным кодом для сбора и анализа данных о работе приложения. Coroot адаптирует данные телеметрии eBPF в понятные и наглядные графики. Тестировали инструмент в кластере Kubernetes 1.23 под управлением K8s-платформы Deckhouse.

Что будет в обзоре:
✔️ Как установить и настроить Coroot.
✔️ Какая информация доступна по умолчанию, а где не обойтись без фильтрации.
✔️ Какие возможности для мониторинга и уведомлений предоставляет Coroot.
✔️ Что нам понравилось и показалось удобным, а что — не очень.
✔️ Какие альтернативы Coroot существуют.

А еще будет много скриншотов.
🔥8👍4🤔1
1000 звезд на GitHub у нашей Open Source-утилиты ovpn-admin — веб-интерфейса для удобного управления OpenVPN

Лет пять назад мы стали искать инструмент для работы с OpenVPN — только централизованный, чтобы не бегать по всем серверам и контейнерам, выполняя команды вручную. Мы искали удобный веб-интерфейс. Но выяснилось, что те решения, функциональность которых нас устраивала, были платными и закрытыми (например, Pritunl и OpenVPN AS).


В итоге наш коллега @vitaliy-sn написал на Python замену этим платным решениям — новую утилиту мы назвали ovpn-admin. В 2021 году @pashcovich переписал ее на Go, а erste обновил интерфейс. И мы подумали, что утилита дозрела до того, чтобы выйти в Open Source и послужить всему человечеству😁

Ведь она уже умела добавлять пользователей, генерировать, отзывать и восстанавливать сертификаты пользователей, выдавать готовый файл конфигурации, отдавать метрики для Prometheus и еще кучу всего полезного.

Уже в октябре 2021 года вышла версия 1.7, а в 2022 году — 2.0.1. Добавлялись новые фичи вроде ротации сертификатов или поддержки работы на arm. Утилита явно пользовалась спросом — за год у нее набралось 700 звездочек на GitHub и куча PR от коммьюнити. Собественно, во многом она развивалась именно благодаря пользователям, которые охотно контрибьютили в утилиту, приходили со своими идеями и замечаниями.

И тут нам придется покаяться: в последний год у @pashcovich было совсем мало времени, в итоге мы как-то расслабились, перестали следить за новыми PR и issue и немного запустили проект. Однако приближение к 1000 звездам вновь наполнило нас энтузиазмом и на днях мы сели разгребать все накопившиеся PR.

Вот чем мы будем заниматься в ближайшее время:
🔹 Смотреть/принимать/поправлять многочисленные PR от комьюнити. Особенно благодарны авторам за авторизацию, возможность работы за reverse proxy и исправление репликации.
🔹 Отвечать на вопросы, запросы и сообщения об ошибках.
🔹 Добавить второй фактор вместо паролей (по причине реализации хранения пользователей) — ветка TOTP.
🔹 Добавить multiarch-сборку контейнеров.
🔹 Написать документацию и добавить примеры интеграции с уже существующими OpenVPN-серверами.
🔹 Перейти с Easy RSA на PKI CA, реализованный на Golang.

Где почитать про ovpn-admin подробнее:
🔹 GitHub
🔹 «Представляем ovpn-admin — веб-интерфейс для управления пользователями OpenVPN».
🔹 «Веб-интерфейс ovpn-admin для управления пользователями OpenVPN обновился до версии 1.7».
🔹 «Совместимость с Raspberry Pi 4, ротация сертификатов и другие улучшения в новом релизе ovpn-admin».

P.S. Ну и мы всегда рады новым звездочкам на GitHub, а особенно — пользователям, которым пригодился наш инструмент. Обсудить ovpn-admin можно в нашем чате.
👍12👏4
В мае «Фланту» исполнилось 15 лет, и мы решили порефлексировать о том, как мы развивались, какие решения принимали и как начали становиться продуктовой компанией.

Получилась не «парадная биография» или история про «успешный успех», а рассказ о том, как из небольших, на первый взгляд, утилит выросли наши флагманские проекты. И какую роль во всем этом сыграли вера в принципы Open Source и постепенный отказ от всех направлений бизнеса — кроме всего, что связано с Kubernetes.

https://habr.com/ru/companies/flant/articles/743462
🎉20🔥10👎1
В начале июня CNCF выпустил отчет о развитии Kubernetes: как оркестратор расцветал после передачи всех прав от Google в эту некоммерческую организацию.

Мы изучили материалы отчета и поделились самыми интересными данными: кто вносит наибольший вклад в проект, насколько выросло количество контрибьюторов с 2014 года и как много компаний из списка Fortune 100 используют K8s.

https://habr.com/ru/companies/flant/news/744706
👍5🔥2
Мы построили свою систему виртуализации на основе KubeVirt. А на DevOps Conf 2023 наш архитектор решений Андрей Квапил рассказал, почему мы выбрали именно KubeVirt и не стали использовать OpenStack, какие платформы виртуализации рассматривали, что нас не устроило в KubeVirt и как мы это исправили.

Что еще есть в докладе:
— Из каких компонентов состоит KubeVirt.
— Как KubeVirt работает с виртуальными машинами.
— Как устроено хранилище KubeVirt.
— Особенности сетевых интерфейсов KubeVirt.
— Как мы изменили KubeVirt под свои задачи.

🗒 Текстовая версия: https://habr.com/ru/companies/flant/articles/745034
📺 Видео: https://youtu.be/SgJf8uvpDCc

P.S. Если вы давно хотели почитать или посмотреть детальный разбор KubeVirt — это тот самый случай.

@flant_ru
🔥18👍5
Организаторы конференции «БЕКОН», посвященной безопасности контейнеров и контейнерных сред, выложили все доклады и презентации в открытый доступ.

Первый в плейлисте — доклад нашего руководителя Kubernetes-платформы Deckhouse Константина Аксенова. Он рассказал об аутентификации в K8s. По словам Константина, ему очень понравился уровень докладов — так что рекомендуем посмотреть все видео.

📺 Плейлист со всеми докладами
🗒 Презентации
👍15👏3
Инженеры «Фланта» вместе с коллегами из Microsoft и Google значительно доработали систему аутентификации Kubernetes. Теперь можно будет одновременно подключать несколько провайдеров аутентификации, использовать как OIDC-токены, так и любой ID JWT, задавать правила с помощью Common Expression Language и динамически изменять конфигурацию. Обновления должны появиться в релизе K8s 1.28.

Мы рассказали и показали на примерах, что внутри нового KEP и как всё это будет работать: https://habr.com/ru/companies/flant/news/747712
🔥28🤔1
Отчет о состоянии DevOps в России 2023 — полная версия

Команда «Экспресс 42» вместе с «Флантом» и другими партнерами провела масштабное исследование состояния DevOps в России. Ранее мы уже делились видеозаписью большой дискуссии с обсуждением результатов исследования.

А на днях ребята закончили обрабатывать все данные и собрали большой подробный отчет о состоянии метрик, практик и инструментов, о результатах и планах компаний, о новых трендах на IT-рынке.

Полную версию отчета можно скачать по ссылке: https://e42.link/3NQZIcC
🔥8👍1🤔1
Мы знаем, что существуют Redis Sentinel и Redis Cluster, но не хотим их использовать, потому что в этом случае придется дорабатывать клиентское приложение и искать подходящие библиотеки. Поэтому мы постоянно находимся в поиске какого-то варианта, который позволил бы преодолеть «одноядерность» Redis и ускорять взаимодействие с БД.

Относительно недавно мы обратили внимание на режимы Active Replica и Multi-Master в KeyDB. Под них не нужны какие-то хитрые библиотеки и переделка приложения — ему будет казаться, что оно работает все с тем же старым добрым Redis. При этом кластер получается отказоустойчивым и можем читать данные как с мастера, так и с реплики.

Решение выглядело очень круто и мы решили его обстоятельно проверить. По ссылке — статья с разбором этих режимов работы и несколько историй из нашего опыта: https://habr.com/ru/companies/flant/articles/747760
👍12🔥4🤔2