Андрей Бородин из Yandex Cloud попал в топ-50 главных контрибьюторов проекта PostgreSQL
PostgreSQL — самая популярная опенсорсная СУБД на рынке. По данным Stack Overflow 2025, её юзают 55,6% профи по БД. Любой апдейт тут влияет на миллионы продов и корпоративных инсталляций.
Бородин коммитит с версии 9.7, ревьюит патчи, чинит баги, менторит джунов и пилит ключевые тулзы: WAL-G, Odyssey, SPQR. Последняя, тот самый Stateless Postgres Query Router, на базе которого недавно Yandex Cloud выкатили Managed Service for Sharded PostgreSQL (пока в превью).
Ранее разработчик работал в AWS. Преподаёт в ШАД и УрФУ. А теперь ещё и major contributor PostgreSQL.
👉 DevOps Portal
PostgreSQL — самая популярная опенсорсная СУБД на рынке. По данным Stack Overflow 2025, её юзают 55,6% профи по БД. Любой апдейт тут влияет на миллионы продов и корпоративных инсталляций.
Бородин коммитит с версии 9.7, ревьюит патчи, чинит баги, менторит джунов и пилит ключевые тулзы: WAL-G, Odyssey, SPQR. Последняя, тот самый Stateless Postgres Query Router, на базе которого недавно Yandex Cloud выкатили Managed Service for Sharded PostgreSQL (пока в превью).
Ранее разработчик работал в AWS. Преподаёт в ШАД и УрФУ. А теперь ещё и major contributor PostgreSQL.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤13👍9🔥1😁1
Please open Telegram to view this post
VIEW IN TELEGRAM
😁26❤13👍4
Как собрать продакшн-готовый образ контейнера для Go-приложения
Достаточно ли тебе
👉 DevOps Portal
Достаточно ли тебе
FROM scratch? Посмотри эти практические задания, чтобы разобраться с типичными проблемами контейнеризации Go:- Cтатическая линковка: https://labs.iximiuz.com/challenges/dockerize-golang-application-static-linking
- Динамическая линковка https://labs.iximiuz.com/challenges/dockerize-golang-application-dynamic-linking
Please open Telegram to view this post
VIEW IN TELEGRAM
❤7👍6🔥4
Forwarded from Мир Linux
Сообщество Kubernetes официально объявило о выводе ingress-nginx из эксплуатации
Много лет этот контроллер был выбором по умолчанию для маршрутизации HTTP/HTTPS-трафика в бесчисленных кластерах, но в марте 2026 года он перейдёт в архивный режим.
Основная причина этого решения в том, что Kubernetes Ingress API уже давно заморожен. В сам API больше не добавляются новые фичи, что ограничивает дальнейшее развитие ingress-nginx.
Параллельно экосистема смещается в сторону Gateway API, который обеспечивает больше гибкости, лучшую расширяемость и более чёткий дизайн для современных сценариев управления трафиком.
До марта 2026 года ingress-nginx будет получать только best-effort поддержку - без гарантированных релизов, исправлений багов или обновлений безопасности. После этого он больше не будет получать активную поддержку.
Командам, зависящим от ingress-nginx, стоит начать подготовку уже сейчас: определить кластеры, где он используется, оценить альтернативы, протестировать план миграции и рассмотреть контроллеры, поддерживающие Gateway API, чтобы дальнейшие апгрейды проходили безболезненно
@linuxos_tg
Много лет этот контроллер был выбором по умолчанию для маршрутизации HTTP/HTTPS-трафика в бесчисленных кластерах, но в марте 2026 года он перейдёт в архивный режим.
Основная причина этого решения в том, что Kubernetes Ingress API уже давно заморожен. В сам API больше не добавляются новые фичи, что ограничивает дальнейшее развитие ingress-nginx.
Параллельно экосистема смещается в сторону Gateway API, который обеспечивает больше гибкости, лучшую расширяемость и более чёткий дизайн для современных сценариев управления трафиком.
До марта 2026 года ingress-nginx будет получать только best-effort поддержку - без гарантированных релизов, исправлений багов или обновлений безопасности. После этого он больше не будет получать активную поддержку.
Командам, зависящим от ingress-nginx, стоит начать подготовку уже сейчас: определить кластеры, где он используется, оценить альтернативы, протестировать план миграции и рассмотреть контроллеры, поддерживающие Gateway API, чтобы дальнейшие апгрейды проходили безболезненно
@linuxos_tg
👍9❤3
Замечательный туториал: How to Build Smaller Container Images: Docker Multi-Stage Builds.
Основная задача материала научить делать маленькие/тонкие и более безопасные образы для приложений. Одним из основных посылов является: "build and runtime images should also be completely separate!".
В статье:
- Как делать не надо.
- Что такое
- Примеры
👉 DevOps Portal
Основная задача материала научить делать маленькие/тонкие и более безопасные образы для приложений. Одним из основных посылов является: "build and runtime images should also be completely separate!".
В статье:
- Как делать не надо.
- Что такое
Multi-Stage сборки- Примеры
Multi-Stage сборки для Node.js, Go, Rust, Java, PHPPlease open Telegram to view this post
VIEW IN TELEGRAM
❤8👍1
DevOps vs SRE vs Platform Engineering
DevOps Engineers обеспечивают эффективную и надёжную доставку ПО, сокращая разрыв между командами разработки и операций.
Site Reliability Engineers (SRE) концентрируются на оптимизации надёжности, производительности и эффективности программных систем.
Platform Engineers проектируют, создают и поддерживают инфраструктуру и инструменты для поддержки разработки, деплоя и эксплуатации ПО.
Вот простенькая картинка, чтобы тебе было легче понять.
👉 DevOps Portal
DevOps Engineers обеспечивают эффективную и надёжную доставку ПО, сокращая разрыв между командами разработки и операций.
Site Reliability Engineers (SRE) концентрируются на оптимизации надёжности, производительности и эффективности программных систем.
Platform Engineers проектируют, создают и поддерживают инфраструктуру и инструменты для поддержки разработки, деплоя и эксплуатации ПО.
Вот простенькая картинка, чтобы тебе было легче понять.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤10👍5🔥4
Когда на одной машине крутится несколько контейнеров, один из них легко может начать потреблять больше CPU, чем ожидается.
Docker не балансирует CPU между контейнерами автоматически: если одному контейнеру нужно больше циклов, он их заберёт, пока не заданы ограничения. Это может замедлить другие контейнеры или сделать работу системы нестабильной по ощущениям
Docker предоставляет два основных механизма для контроля CPU:
Это соответствует модели планировщика Docker:
Без этих параметров один загруженный контейнер может занять столько CPU, сколько ему позволит хост.
В реальных нагрузках такие ограничения делают работу контейнеров более предсказуемой и защищают критичные сервисы, работающие на той же машине.
👉 DevOps Portal
Docker не балансирует CPU между контейнерами автоматически: если одному контейнеру нужно больше циклов, он их заберёт, пока не заданы ограничения. Это может замедлить другие контейнеры или сделать работу системы нестабильной по ощущениям
Docker предоставляет два основных механизма для контроля CPU:
--cpus – задаёт жёсткий лимит CPU (например, --cpus="0.5" позволяет контейнеру использовать не более 50% одного ядра).--cpu-shares – задаёт относительный вес, а не жёсткий лимит. Контейнеры с более высоким значением получают больше CPU только когда несколько контейнеров конкурируют за ресурсы.Это соответствует модели планировщика Docker:
cpu_shares влияет на приоритет, а cpus задаёт фактический потолок.Без этих параметров один загруженный контейнер может занять столько CPU, сколько ему позволит хост.
В реальных нагрузках такие ограничения делают работу контейнеров более предсказуемой и защищают критичные сервисы, работающие на той же машине.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍14❤5🔥2
This media is not supported in your browser
VIEW IN TELEGRAM
Интерактивные лабораторные по Kubernetes
Проект Kubelab предлагает готовую инфраструктуру для обучения и экспериментов с Kubernetes. Он позволяет реализовать «интерактивный Kubernetes-тренажер» локально и проходить различные задания.
Для лабораторных есть подсказки или готовые решения, если не получилось сделать самостоятельно. Кроме этого, Kubelab обладает Web UI и редактором кода, чтобы упростить обучение
Забираем с GitHub
👉 DevOps Portal
Проект Kubelab предлагает готовую инфраструктуру для обучения и экспериментов с Kubernetes. Он позволяет реализовать «интерактивный Kubernetes-тренажер» локально и проходить различные задания.
Для лабораторных есть подсказки или готовые решения, если не получилось сделать самостоятельно. Кроме этого, Kubelab обладает Web UI и редактором кода, чтобы упростить обучение
Забираем с GitHub
Please open Telegram to view this post
VIEW IN TELEGRAM
👍17❤3
Проверить bash-скрипт на синтаксические ошибки можно командой:
bash -n scriptname
Please open Telegram to view this post
VIEW IN TELEGRAM
❤27👍11
Когда вы собираете контейнерные образы, которые должны запускаться на разном железе, одного тега недостаточно.
Нужно понимать, действительно ли образ поддерживает несколько архитектур, и здесь помогает
С её помощью можно точно увидеть, под какие платформы собран образ, например, AMD64 для облачных серверов и ARM64 для edge-устройств, всё это под одним тегом. Это простой способ убедиться, что образ, который вы тянете, будет стабильно работать в разных окружениях.
Это особенно важно для гибридных деплоев. Например, ваш бэкенд крутится в облаке на AMD64, а edge-шлюзы или IoT-устройства работают на ARM.
Проверяя манифест, вы гарантируете, что одна и та же версия контейнера будет корректно работать везде, без необходимости вручную собирать и тегировать отдельные образы.
Для команд, которые доставляют приложения на разнородное железо, использование
👉 DevOps Portal
Нужно понимать, действительно ли образ поддерживает несколько архитектур, и здесь помогает
docker manifest. Команда docker manifest позволяет инспектировать и управлять мультиархитектурными образами.С её помощью можно точно увидеть, под какие платформы собран образ, например, AMD64 для облачных серверов и ARM64 для edge-устройств, всё это под одним тегом. Это простой способ убедиться, что образ, который вы тянете, будет стабильно работать в разных окружениях.
Это особенно важно для гибридных деплоев. Например, ваш бэкенд крутится в облаке на AMD64, а edge-шлюзы или IoT-устройства работают на ARM.
Проверяя манифест, вы гарантируете, что одна и та же версия контейнера будет корректно работать везде, без необходимости вручную собирать и тегировать отдельные образы.
Для команд, которые доставляют приложения на разнородное железо, использование
docker manifest – простой способ избежать ситуации, когда работает на одной машине, но не работает на другой.Please open Telegram to view this post
VIEW IN TELEGRAM
❤13👍4
Многим организациям сложно управлять несколькими Kubernetes-кластерами
Например,
У вас могут быть отдельные кластеры для dev, stage и prod.
Если вы хотите задеплоить что-то вроде стека Prometheus в каждый кластер, вам обычно приходится переключать контексты kubeconfig и накатывать всё по одному.
Вместо этого вы можете использовать Clusternet (открытый проект CNCF) чтобы управлять всеми Kubernetes-кластерами из одного хост-кластера.
Clusternet умеет работать с:
- обычными Kubernetes-кластерами
- managed-кластерами
- on-prem кластерами
- edge-кластерами
В хост-кластере вы поднимаете hub и регистрируете кластеры, которыми хотите управлять, как дочерние.
После регистрации вы можете использовать API-сервер хост-кластера, чтобы деплоить приложения и выполнять операции во всех этих кластерах.
GitHub: clusternet
👉 DevOps Portal
Например,
У вас могут быть отдельные кластеры для dev, stage и prod.
Если вы хотите задеплоить что-то вроде стека Prometheus в каждый кластер, вам обычно приходится переключать контексты kubeconfig и накатывать всё по одному.
Вместо этого вы можете использовать Clusternet (открытый проект CNCF) чтобы управлять всеми Kubernetes-кластерами из одного хост-кластера.
Clusternet умеет работать с:
- обычными Kubernetes-кластерами
- managed-кластерами
- on-prem кластерами
- edge-кластерами
В хост-кластере вы поднимаете hub и регистрируете кластеры, которыми хотите управлять, как дочерние.
После регистрации вы можете использовать API-сервер хост-кластера, чтобы деплоить приложения и выполнять операции во всех этих кластерах.
GitHub: clusternet
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6❤1
Kubeshark обеспечивает глубокую видимость и мониторинг всего API-трафика и payload'ов, проходящих внутрь, наружу и между контейнерами и подами внутри кластера Kubernetes
Забираем здесь
👉 DevOps Portal
Забираем здесь
Please open Telegram to view this post
VIEW IN TELEGRAM
❤13🔥6👍3
Иногда нужно забэкапить пачку однотипных ресурсов и потом без боли восстановить.
Делимся двумя проверенными способами.
Очищаем YAML от лишних метаданных и превращаем массив в отдельные документы:
kubectl get <resource> -n <namespace> -o yaml \
| kubectl-neat \
| yq eval '.items[] | split_doc' - > resources.yaml
kubectl apply -f resources.yaml
Автоматизирует сохранение/восстановление по проектам:
kubedump dump <namespace> --resources <resource> --project <project-name>
kubedump restore --project <project-name>
Что выбрать?
— kubectl-neat + yq: лёгкий, гибкий, для разовых задач.
— kubedump: для регулярных бэкапов и больших кластеров.
Бонус:
Реклама ООО "Кортэл"
ИНН: 7816246925
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥5❤3👍3
Большинство обсуждений Docker в итоге приходят к одному вопросу: использовать slim или alpine, какой базовый образ выбрать?
Alpine очень маленький и выглядит привлекательно, если нужно максимально ужать размер образа.
Но он использует musl вместо glibc, поэтому некоторые приложения ведут себя иначе, некоторые библиотеки работают не так, как ожидается, и отладка может быть болезненной.
Отлично подходит для простых статических бинарников, которые почти не завязаны на зависимости уровня ОС.
Slim-образы (например,
Это обычно означает меньше сюрпризов в проде, проще отладку и лучшую совместимость с существующей документацией и примерами.
Для большинства веб-приложений, API и инструментов slim — более безопасный выбор по умолчанию. Вы всё равно получаете меньшие образы, быстрые pull’ы и нормальную безопасность, но без борьбы с странными edge-кейсами musl.
Alpine имеет смысл, когда вы:
- доставляете один статический бинарник,
- полностью понимаете свои зависимости,
- готовы разруливать возможные проблемы совместимости, если они появятся.
👉 DevOps Portal
Alpine очень маленький и выглядит привлекательно, если нужно максимально ужать размер образа.
Но он использует musl вместо glibc, поэтому некоторые приложения ведут себя иначе, некоторые библиотеки работают не так, как ожидается, и отладка может быть болезненной.
Отлично подходит для простых статических бинарников, которые почти не завязаны на зависимости уровня ОС.
Slim-образы (например,
debian:slim или node:22-slim) больше, чем Alpine, но всё ещё значительно меньше полноразмерных дистрибутивов. Они используют glibc, поэтому большинство инструментов и библиотек просто работают.Это обычно означает меньше сюрпризов в проде, проще отладку и лучшую совместимость с существующей документацией и примерами.
Для большинства веб-приложений, API и инструментов slim — более безопасный выбор по умолчанию. Вы всё равно получаете меньшие образы, быстрые pull’ы и нормальную безопасность, но без борьбы с странными edge-кейсами musl.
Alpine имеет смысл, когда вы:
- доставляете один статический бинарник,
- полностью понимаете свои зависимости,
- готовы разруливать возможные проблемы совместимости, если они появятся.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍14❤11🤔1
This media is not supported in your browser
VIEW IN TELEGRAM
Быстрый совет по командам Linux
Скорее всего, вы не знали, но команда
👉 DevOps Portal
Скорее всего, вы не знали, но команда
find позволяет быстро найти все исполняемые файлы в каталоге:find . -type f -executable
Please open Telegram to view this post
VIEW IN TELEGRAM
❤6👍6💊1
This media is not supported in your browser
VIEW IN TELEGRAM
Ассистент для триажа: ИИ теперь не просто вываливает список проблем
Теперь плагины PT AI для IDE предлагают, с чего начать, какие уязвимости подтвердить или отклонить в первую очередь. Похожие — группируются для пакетной обработки.
Ключевые новые функции:
● Массовое управление уязвимостями: Выделите несколько уязвимостей и разом поменяйте им статус.
● Copilot на основе LLM (большая языковая модель): Экспериментальная фича (YandexGPT) для автоматического исправления кода с предпросмотром, пояснением логики и историей рекомендаций.
Теперь плагины PT AI для IDE предлагают, с чего начать, какие уязвимости подтвердить или отклонить в первую очередь. Похожие — группируются для пакетной обработки.
Ключевые новые функции:
● Массовое управление уязвимостями: Выделите несколько уязвимостей и разом поменяйте им статус.
● Copilot на основе LLM (большая языковая модель): Экспериментальная фича (YandexGPT) для автоматического исправления кода с предпросмотром, пояснением логики и историей рекомендаций.
❤5
Одна простая привычка, которая делает Dockerfile гораздо проще в поддержке: это алфавитная сортировка многострочных списков пакетов.
Звучит мелочью, но это сильно влияет на читаемость и долгосрочную поддержку
Когда вы ставите пакеты внутри многострочного блока
Алфавитный порядок полностью убирает эту проблему: список можно быстро просканировать, моментально найти дубликаты и держать всё единообразным в разных окружениях.
Это также уменьшает «шумные» диффы в код-ревью
Когда пакеты отсортированы, добавление или удаление одного пункта даёт чистое и предсказуемое изменение.
Без сортировки маленькое обновление часто превращается в большой дифф, усложняя ревью больше, чем нужно.
Этот приём помогает и при росте команды.
Когда Dockerfile трогают несколько человек, никто не будет по-разному переставлять пакеты или использовать несогласованное форматирование.
Структура остаётся стабильной, и поддержка со временем становится проще.
Мелкое улучшение, но на сотнях билдов оно экономит массу нервов
👉 DevOps Portal
Звучит мелочью, но это сильно влияет на читаемость и долгосрочную поддержку
Когда вы ставите пакеты внутри многострочного блока
apt-get install или apk add, легко случайно добавить дубликаты или пропустить что-то, затерявшееся в середине списка.Алфавитный порядок полностью убирает эту проблему: список можно быстро просканировать, моментально найти дубликаты и держать всё единообразным в разных окружениях.
Это также уменьшает «шумные» диффы в код-ревью
Когда пакеты отсортированы, добавление или удаление одного пункта даёт чистое и предсказуемое изменение.
Без сортировки маленькое обновление часто превращается в большой дифф, усложняя ревью больше, чем нужно.
Этот приём помогает и при росте команды.
Когда Dockerfile трогают несколько человек, никто не будет по-разному переставлять пакеты или использовать несогласованное форматирование.
Структура остаётся стабильной, и поддержка со временем становится проще.
Мелкое улучшение, но на сотнях билдов оно экономит массу нервов
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10❤3
K2 Cloud собирает сетевых инженеров на митап 🌐
28 ноября эксперты из K2 Cloud, Positive Technologies, Avitotech, Wildberries & Russ и Точка Банка встретятся на митапе «Поговорим про сети»
Что будем делать:
— разберем метрики, которые спасают продукт;
— научимся «гадать» по сетевым пакетам;
— сыграем в сетевую версию игры «100 к 1».
Опыт из очень разных инфраструктур и LinkMeUp в роли ведущего — регистрация по ссылке
28 ноября эксперты из K2 Cloud, Positive Technologies, Avitotech, Wildberries & Russ и Точка Банка встретятся на митапе «Поговорим про сети»
Что будем делать:
— разберем метрики, которые спасают продукт;
— научимся «гадать» по сетевым пакетам;
— сыграем в сетевую версию игры «100 к 1».
Опыт из очень разных инфраструктур и LinkMeUp в роли ведущего — регистрация по ссылке
❤1
NGINX Gateway Fabric - это опенсорс проект, который реализует Gateway API, используя NGINX в качестве data plane.
Цель проекта: реализовать базовые возможности Gateway API.
GitHub: nginx-gateway-fabric
👉 DevOps Portal
Цель проекта: реализовать базовые возможности Gateway API.
GitHub: nginx-gateway-fabric
Please open Telegram to view this post
VIEW IN TELEGRAM
💊3❤2👍2