Бесплатный лайфхак для Linux 😎
Многие про это не знают или почти не пользуются.
В Linux можно сделать файл или каталог неудаляемым с помощью команды chattr, установив флаг +i:
Флаг +i запрещает удалять, изменять и переименовывать файл, даже root не сможет этого сделать, пока флаг не снят.
Опция -V включает подробный вывод (verbose), чтобы увидеть, что именно команда делает.
Чтобы вернуть всё обратно:
👉 DevOps Portal
Многие про это не знают или почти не пользуются.
В Linux можно сделать файл или каталог неудаляемым с помощью команды chattr, установив флаг +i:
sudo chattr +i -V CH-13.pdf
Флаг +i запрещает удалять, изменять и переименовывать файл, даже root не сможет этого сделать, пока флаг не снят.
Опция -V включает подробный вывод (verbose), чтобы увидеть, что именно команда делает.
Чтобы вернуть всё обратно:
sudo chattr -i CH-13.pdf
Please open Telegram to view this post
VIEW IN TELEGRAM
❤17👍5
This media is not supported in your browser
VIEW IN TELEGRAM
Dockly
Это интерактивный терминальный интерфейс для управления контейнерами Docker.
Утилита позволяет в режиме реального времени просматривать активные контейнеры, образы и сети, выполнять команды, такие как перезапуск или удаление контейнеров, а также получать доступ к их логам и ресурсам.
Подходит для разработчиков и администраторов, которым нужен быстрый и удобный способ мониторинга и управления Docker-средами.
GitHub: dockly
👉 DevOps Portal
Это интерактивный терминальный интерфейс для управления контейнерами Docker.
Утилита позволяет в режиме реального времени просматривать активные контейнеры, образы и сети, выполнять команды, такие как перезапуск или удаление контейнеров, а также получать доступ к их логам и ресурсам.
Подходит для разработчиков и администраторов, которым нужен быстрый и удобный способ мониторинга и управления Docker-средами.
GitHub: dockly
Please open Telegram to view this post
VIEW IN TELEGRAM
❤7👍1
Этот репозиторий - настоящая находка для инженеров DevOps и SRE
30+ практических лабораторных работ по Kubernetes, охватывающих всю экосистему DevOps
GitHub: Fast-Kubernetes
👉 DevOps Portal
30+ практических лабораторных работ по Kubernetes, охватывающих всю экосистему DevOps
GitHub: Fast-Kubernetes
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12❤6
Более чистый способ управлять алиасами kubectl
Мы подготовили подробное практическое руководство, чтобы помочь вам начать работу.
До выхода Kubernetes v1.33 приходилось вручную прописывать алиасы в
Это не было нативным и структурированным решением.
Теперь с kuberc вы можете определить все свои алиасы для
Это чисто, просто и даже можно держать под версионным контролем
Подробное руководство: https://devopscube.com/kubectl-aliases/
👉 DevOps Portal
Мы подготовили подробное практическое руководство, чтобы помочь вам начать работу.
До выхода Kubernetes v1.33 приходилось вручную прописывать алиасы в
.bashrc или .zshrc, вперемешку с другими настройками шеллаЭто не было нативным и структурированным решением.
Теперь с kuberc вы можете определить все свои алиасы для
kubectl в отдельном YAML-файле.Это чисто, просто и даже можно держать под версионным контролем
Подробное руководство: https://devopscube.com/kubectl-aliases/
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6❤4
Kubernetes 101: назначение Pod'ов на узлы
В статье подробно рассматриваются механизмы назначения Pod'ов на узлы в Kubernetes.
Автор объясняет такие инструменты, как nodeSelector, nodeAffinity и taints/tolerations, которые позволяют контролировать, где именно будут запускаться ваши Pod'ы
👉 Ссылка на статью
👉 DevOps Portal
В статье подробно рассматриваются механизмы назначения Pod'ов на узлы в Kubernetes.
Автор объясняет такие инструменты, как nodeSelector, nodeAffinity и taints/tolerations, которые позволяют контролировать, где именно будут запускаться ваши Pod'ы
Please open Telegram to view this post
VIEW IN TELEGRAM
❤3👍1
Kubernetes Swap
Когда вы деплойте Pod в Kubernetes, каждый нод использует свою физическую оперативную память (RAM) для запуска контейнеров.
Если на ноде заканчивается память, Kubernetes может начать убивать Pods, чтобы сохранить стабильность ноды.
С Kubernetes Swap можно избежать этого, разрешив ноде использовать часть диска как дополнительную виртуальную память (swap).
Вот статья, где подробно объяснили:
- Как работает Kubernetes Swap
- Основные сценарии использования swap
- Классы QoS для Pod и поведение при использовании swap
- Как выделяется swap для Pod'ов
- Практика: тестирование swap на воркер-нодах
- Определение нод с включённым swap с помощью NFD
- Мониторинг swap через метрики
Читайте здесь
👉 DevOps Portal
Когда вы деплойте Pod в Kubernetes, каждый нод использует свою физическую оперативную память (RAM) для запуска контейнеров.
Если на ноде заканчивается память, Kubernetes может начать убивать Pods, чтобы сохранить стабильность ноды.
С Kubernetes Swap можно избежать этого, разрешив ноде использовать часть диска как дополнительную виртуальную память (swap).
Вот статья, где подробно объяснили:
- Как работает Kubernetes Swap
- Основные сценарии использования swap
- Классы QoS для Pod и поведение при использовании swap
- Как выделяется swap для Pod'ов
- Практика: тестирование swap на воркер-нодах
- Определение нод с включённым swap с помощью NFD
- Мониторинг swap через метрики
Читайте здесь
Please open Telegram to view this post
VIEW IN TELEGRAM
❤8
Kubernetes Toolkit — это контейнерный образ, который включает в себя основные инструменты: kubectl, Helm, Kustomize, Trivy и Flux.
Он предназначен для использования в CI/CD-пайплайнах и при локальной разработке, обеспечивая валидацию, сканирование безопасности, GitOps-функциональность и другие возможности
Забираем с GitHub
👉 DevOps Portal
Он предназначен для использования в CI/CD-пайплайнах и при локальной разработке, обеспечивая валидацию, сканирование безопасности, GitOps-функциональность и другие возможности
Забираем с GitHub
Please open Telegram to view this post
VIEW IN TELEGRAM
❤11👍2
This media is not supported in your browser
VIEW IN TELEGRAM
Твой первый кластер Kubernetes не должен быть кошмаром
Большинство новичков начинают с KubeADM, и бросают уже через неделю.
В чём проблема?
KubeADM создан для продакшн-сред, а не для обучения. Чтобы сохранить мотивацию, тебе нужно сначала получить быстрый успех
https://www.youtube.com/shorts/rQDZgbZwNvs
👉 DevOps Portal
Большинство новичков начинают с KubeADM, и бросают уже через неделю.
В чём проблема?
KubeADM создан для продакшн-сред, а не для обучения. Чтобы сохранить мотивацию, тебе нужно сначала получить быстрый успех
https://www.youtube.com/shorts/rQDZgbZwNvs
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥7❤3👍3
This media is not supported in your browser
VIEW IN TELEGRAM
Освойте деплойменты в Kubernetes
Нашел практическое задание, которое поможет разобраться, как работают Deployment'ы — от их создания до масштабирования, обновления образов, проверки состояния Pod'ов и отката изменений.
Отлично подходит для практики реальных операций, стоящих за
Попробуйте здесь
👉 DevOps Portal
Нашел практическое задание, которое поможет разобраться, как работают Deployment'ы — от их создания до масштабирования, обновления образов, проверки состояния Pod'ов и отката изменений.
Отлично подходит для практики реальных операций, стоящих за
kubectl apply/create и kubectl rollout.Попробуйте здесь
Please open Telegram to view this post
VIEW IN TELEGRAM
❤7👍5🔥2
Kubero — это полностью self-hosted внутренняя платформа для разработчиков, которая переносит Heroku-подобные рабочие процессы в ваш кластер Kubernetes.
Она позволяет развёртывать приложения в несколько кликов, имеет встроенный CI/CD-пайплайн и поддерживает несколько стейджинг-окружений
Забираем здесь
👉 DevOps Portal
Она позволяет развёртывать приложения в несколько кликов, имеет встроенный CI/CD-пайплайн и поддерживает несколько стейджинг-окружений
Забираем здесь
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥3❤2👍2😁1
Не все Kubernetes Secrets одинаковы. Вот краткое описание типов:
- Opaque Secrets — тип по умолчанию, используется для хранения произвольных пар ключ–значение.
- ServiceAccount Token Secrets — автоматически создаются для аутентификации с API-сервером.
- Docker Config Secrets — применяются для хранения учётных данных Docker Registry, чтобы подтягивать приватные образы.
- Basic Authentication Secrets — содержат логины и пароли в формате base64.
- SSH Authentication Secrets — хранят приватные SSH-ключи для безопасного доступа.
- TLS Secrets — включают TLS-сертификаты и приватные ключи для HTTPS-соединений.
- Bootstrap Token Secrets — используются при подключении новых нод к кластеру.
Примечание: всегда используйте шифрование секретов "at rest" (в состоянии покоя) и интегрируйте инструменты управления секретами, такие как Sealed Secrets, HashiCorp Vault и т.п., чтобы повысить уровень безопасности и автоматизации
👉 DevOps Portal
- Opaque Secrets — тип по умолчанию, используется для хранения произвольных пар ключ–значение.
- ServiceAccount Token Secrets — автоматически создаются для аутентификации с API-сервером.
- Docker Config Secrets — применяются для хранения учётных данных Docker Registry, чтобы подтягивать приватные образы.
- Basic Authentication Secrets — содержат логины и пароли в формате base64.
- SSH Authentication Secrets — хранят приватные SSH-ключи для безопасного доступа.
- TLS Secrets — включают TLS-сертификаты и приватные ключи для HTTPS-соединений.
- Bootstrap Token Secrets — используются при подключении новых нод к кластеру.
Примечание: всегда используйте шифрование секретов "at rest" (в состоянии покоя) и интегрируйте инструменты управления секретами, такие как Sealed Secrets, HashiCorp Vault и т.п., чтобы повысить уровень безопасности и автоматизации
Please open Telegram to view this post
VIEW IN TELEGRAM
❤10👍5👀1
Андрей Бородин из 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👍11🔥1😁1
Please open Telegram to view this post
VIEW IN TELEGRAM
😁31❤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
❤9👍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
❤12👍6🔥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
👍17❤6🔥3