DevOps Portal | Linux
13.2K subscribers
731 photos
85 videos
10 files
731 links
Присоединяйтесь к нашему каналу и погрузитесь в мир DevOps

Связь: @devmangx

РКН: https://clck.ru/3P8kFH
Download Telegram
Андрей Бородин из 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
Please open Telegram to view this post
VIEW IN TELEGRAM
13👍9🔥1😁1
This media is not supported in your browser
VIEW IN TELEGRAM
что ощущаешь, занимаясь DevOps, когда всё спокойно

👉 DevOps Portal
Please open Telegram to view this post
VIEW IN TELEGRAM
😁2613👍4
Как собрать продакшн-готовый образ контейнера для Go-приложения

Достаточно ли тебе FROM scratch? Посмотри эти практические задания, чтобы разобраться с типичными проблемами контейнеризации Go:

- Cтатическая линковка: https://labs.iximiuz.com/challenges/dockerize-golang-application-static-linking

- Динамическая линковка https://labs.iximiuz.com/challenges/dockerize-golang-application-dynamic-linking


👉 DevOps Portal
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
👍93
Структура файла pod.yaml в Kubernetes

👉 DevOps Portal
Please open Telegram to view this post
VIEW IN TELEGRAM
👍14🥱53🔥3
Замечательный туториал: How to Build Smaller Container Images: Docker Multi-Stage Builds.

Основная задача материала научить делать маленькие/тонкие и более безопасные образы для приложений. Одним из основных посылов является: "build and runtime images should also be completely separate!".

В статье:

- Как делать не надо.
- Что такое Multi-Stage сборки
- Примеры Multi-Stage сборки для Node.js, Go, Rust, Java, PHP

👉 DevOps Portal
Please 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
Please open Telegram to view this post
VIEW IN TELEGRAM
10👍5🔥4
Когда на одной машине крутится несколько контейнеров, один из них легко может начать потреблять больше CPU, чем ожидается.

Docker не балансирует CPU между контейнерами автоматически: если одному контейнеру нужно больше циклов, он их заберёт, пока не заданы ограничения. Это может замедлить другие контейнеры или сделать работу системы нестабильной по ощущениям

Docker предоставляет два основных механизма для контроля CPU:

--cpus – задаёт жёсткий лимит CPU (например, --cpus="0.5" позволяет контейнеру использовать не более 50% одного ядра).

--cpu-shares – задаёт относительный вес, а не жёсткий лимит. Контейнеры с более высоким значением получают больше CPU только когда несколько контейнеров конкурируют за ресурсы.

Это соответствует модели планировщика Docker: cpu_shares влияет на приоритет, а cpus задаёт фактический потолок.

Без этих параметров один загруженный контейнер может занять столько CPU, сколько ему позволит хост.

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

👉 DevOps Portal
Please open Telegram to view this post
VIEW IN TELEGRAM
👍145🔥2
This media is not supported in your browser
VIEW IN TELEGRAM
Интерактивные лабораторные по Kubernetes

Проект Kubelab предлагает готовую инфраструктуру для обучения и экспериментов с Kubernetes. Он позволяет реализовать «интерактивный Kubernetes-тренажер» локально и проходить различные задания.

Для лабораторных есть подсказки или готовые решения, если не получилось сделать самостоятельно. Кроме этого, Kubelab обладает Web UI и редактором кода, чтобы упростить обучение

Забираем с GitHub

👉 DevOps Portal
Please open Telegram to view this post
VIEW IN TELEGRAM
👍173
💡 Быстрый совет по Linux

Проверить bash-скрипт на синтаксические ошибки можно командой:

bash -n scriptname


👉 DevOps Portal
Please open Telegram to view this post
VIEW IN TELEGRAM
27👍11
Когда вы собираете контейнерные образы, которые должны запускаться на разном железе, одного тега недостаточно.

Нужно понимать, действительно ли образ поддерживает несколько архитектур, и здесь помогает docker manifest. Команда docker manifest позволяет инспектировать и управлять мультиархитектурными образами.

С её помощью можно точно увидеть, под какие платформы собран образ, например, AMD64 для облачных серверов и ARM64 для edge-устройств, всё это под одним тегом. Это простой способ убедиться, что образ, который вы тянете, будет стабильно работать в разных окружениях.

Это особенно важно для гибридных деплоев. Например, ваш бэкенд крутится в облаке на AMD64, а edge-шлюзы или IoT-устройства работают на ARM.

Проверяя манифест, вы гарантируете, что одна и та же версия контейнера будет корректно работать везде, без необходимости вручную собирать и тегировать отдельные образы.

Для команд, которые доставляют приложения на разнородное железо, использование docker manifest – простой способ избежать ситуации, когда работает на одной машине, но не работает на другой.

👉 DevOps Portal
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
Please open Telegram to view this post
VIEW IN TELEGRAM
👍61
Kubeshark обеспечивает глубокую видимость и мониторинг всего API-трафика и payload'ов, проходящих внутрь, наружу и между контейнерами и подами внутри кластера Kubernetes

Забираем здесь

👉 DevOps Portal
Please open Telegram to view this post
VIEW IN TELEGRAM
13🔥6👍3
🗓 Как быстро сохранить и восстановить ресурсы в Kubernetes

Иногда нужно забэкапить пачку однотипных ресурсов и потом без боли восстановить.
Делимся двумя проверенными способами.

1️⃣ kubectl-neat + yq
Очищаем YAML от лишних метаданных и превращаем массив в отдельные документы:


kubectl get <resource> -n <namespace> -o yaml \
| kubectl-neat \
| yq eval '.items[] | split_doc' - > resources.yaml

kubectl apply -f resources.yaml


2️⃣ kubedump
Автоматизирует сохранение/восстановление по проектам:


kubedump dump <namespace> --resources <resource> --project <project-name>
kubedump restore --project <project-name>


Что выбрать?
kubectl-neat + yq: лёгкий, гибкий, для разовых задач.
kubedump: для регулярных бэкапов и больших кластеров.

Бонус:
➡️ Лимиты ресурсов в Kubernetes
➡️ Как настроить basicAuth в Traefik

➡️ Больше лайфхаков и практичных утилит для инженеров DevOps — в CORTEL

Реклама ООО "Кортэл"
ИНН: 7816246925
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥53👍3
Большинство обсуждений Docker в итоге приходят к одному вопросу: использовать slim или alpine, какой базовый образ выбрать?

Alpine очень маленький и выглядит привлекательно, если нужно максимально ужать размер образа.
Но он использует musl вместо glibc, поэтому некоторые приложения ведут себя иначе, некоторые библиотеки работают не так, как ожидается, и отладка может быть болезненной.

Отлично подходит для простых статических бинарников, которые почти не завязаны на зависимости уровня ОС.

Slim-образы (например, debian:slim или node:22-slim) больше, чем Alpine, но всё ещё значительно меньше полноразмерных дистрибутивов. Они используют glibc, поэтому большинство инструментов и библиотек просто работают.

Это обычно означает меньше сюрпризов в проде, проще отладку и лучшую совместимость с существующей документацией и примерами.

Для большинства веб-приложений, API и инструментов slim — более безопасный выбор по умолчанию. Вы всё равно получаете меньшие образы, быстрые pull’ы и нормальную безопасность, но без борьбы с странными edge-кейсами musl.

Alpine имеет смысл, когда вы:

- доставляете один статический бинарник,
- полностью понимаете свои зависимости,
- готовы разруливать возможные проблемы совместимости, если они появятся.

👉 DevOps Portal
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1411🤔1
This media is not supported in your browser
VIEW IN TELEGRAM
Быстрый совет по командам Linux

Скорее всего, вы не знали, но команда find позволяет быстро найти все исполняемые файлы в каталоге:

find . -type f -executable


👉 DevOps Portal
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) для автоматического исправления кода с предпросмотром, пояснением логики и историей рекомендаций.
5
Одна простая привычка, которая делает Dockerfile гораздо проще в поддержке: это алфавитная сортировка многострочных списков пакетов.

Звучит мелочью, но это сильно влияет на читаемость и долгосрочную поддержку

Когда вы ставите пакеты внутри многострочного блока apt-get install или apk add, легко случайно добавить дубликаты или пропустить что-то, затерявшееся в середине списка.

Алфавитный порядок полностью убирает эту проблему: список можно быстро просканировать, моментально найти дубликаты и держать всё единообразным в разных окружениях.

Это также уменьшает «шумные» диффы в код-ревью

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

Без сортировки маленькое обновление часто превращается в большой дифф, усложняя ревью больше, чем нужно.

Этот приём помогает и при росте команды.

Когда Dockerfile трогают несколько человек, никто не будет по-разному переставлять пакеты или использовать несогласованное форматирование.

Структура остаётся стабильной, и поддержка со временем становится проще.

Мелкое улучшение, но на сотнях билдов оно экономит массу нервов

👉 DevOps Portal
Please open Telegram to view this post
VIEW IN TELEGRAM
👍103
K2 Cloud собирает сетевых инженеров на митап 🌐

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
Please open Telegram to view this post
VIEW IN TELEGRAM
💊32👍2