Docker Tip
Вот как можно проанализировать, что раздувает образ.
Как вы, возможно, знаете, каждый Docker-образ состоит из слоёв.
Каждый слой добавляется отдельной инструкцией в вашем Dockerfile.
И именно эти слои могут объяснить, почему образ получается большим, долго билдится или плохо кешируется.
Вот как можно посмотреть слои и понять, что изменилось в каждом из них.
Можно воспользоваться утилитой dive.
Она даёт наглядное представление о:
✅ каждом созданном слое
✅ какие файлы были добавлены или изменены
✅ сколько места занимает каждый слой
Когда начинаешь анализировать слои образа, можно понять:
- какая команда добавляет лишний «вес»
- как оптимизировать Dockerfile для более компактных и эффективных сборок
Также утилита показывает image efficiency score — метрику, которая отражает, сколько данных дублируется или расходуется впустую между слоями образа
👉 DevOps Portal
Вот как можно проанализировать, что раздувает образ.
Как вы, возможно, знаете, каждый Docker-образ состоит из слоёв.
Каждый слой добавляется отдельной инструкцией в вашем Dockerfile.
И именно эти слои могут объяснить, почему образ получается большим, долго билдится или плохо кешируется.
Вот как можно посмотреть слои и понять, что изменилось в каждом из них.
Можно воспользоваться утилитой dive.
Она даёт наглядное представление о:
Когда начинаешь анализировать слои образа, можно понять:
- какая команда добавляет лишний «вес»
- как оптимизировать Dockerfile для более компактных и эффективных сборок
Также утилита показывает image efficiency score — метрику, которая отражает, сколько данных дублируется или расходуется впустую между слоями образа
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6❤3🔥2
Docker 101: Загрузка образа для конкретной платформы
Имя образа описывает, где он хранится: реестр, репозиторий и тег. Но в нём нет информации о целевой платформе (операционная система и архитектура CPU). Тогда как же docker pull подтягивает нужную сборку?
Учись на практике: https://labs.iximiuz.com/challenges/docker-pull-image-for-platform
👉 DevOps Portal
Имя образа описывает, где он хранится: реестр, репозиторий и тег. Но в нём нет информации о целевой платформе (операционная система и архитектура CPU). Тогда как же docker pull подтягивает нужную сборку?
Учись на практике: https://labs.iximiuz.com/challenges/docker-pull-image-for-platform
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1👍1
KAOS — это Kubernetes-наной координацитивный фреймворк для деплоя и оркестрации AI-агентов с интеграцией MCP-инструментов, поддержкой мультиагенти, иерархической делегации, OpenAI-совместимыми эндпоинтами, а также визуальным дашбордом для мониторинга и дебага
GitHub: kaos
👉 DevOps Portal
GitHub: kaos
Please open Telegram to view this post
VIEW IN TELEGRAM
❤5
SecurityContext в Kubernetes - одна из самых важных и при этом часто игнорируемых частей безопасности Kubernetes
Он применяется на уровне Pod и Container.
🔵 Уровень Pod → значения по умолчанию для ВСЕХ контейнеров
🟢 Уровень контейнера → кастомные настройки для каждого контейнера (переопределяют Pod-level)
Вот практический гайд, в котором разбираем:
- Почему важно запускать контейнеры не от root
- Какой UID по умолчанию назначается Pod’ам
- Разницу между SecurityContext на уровне Pod и контейнера (с примерами)
- Как Kubernetes обрабатывает образы контейнеров с non-root пользователями и без них
Читать здесь:
https://newsletter.devopscube.com/p/secure-kubernetes-pods-with-securitycontext
👉 DevOps Portal
Он применяется на уровне Pod и Container.
Вот практический гайд, в котором разбираем:
- Почему важно запускать контейнеры не от root
- Какой UID по умолчанию назначается Pod’ам
- Разницу между SecurityContext на уровне Pod и контейнера (с примерами)
- Как Kubernetes обрабатывает образы контейнеров с non-root пользователями и без них
Читать здесь:
https://newsletter.devopscube.com/p/secure-kubernetes-pods-with-securitycontext
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8❤1
Объяснение Route 53 Private Hosted Zone
В этом подробном блоге вы узнаете ключевые концепции, необходимые для работы с DNS в корпоративной инфраструктуре
- Разбор Route 53 Private Hosted Zones
- Понимание работы AWS DNS Resolver
- Наглядный пошаговый разбор DNS-флоу с использованием VPN
- Как работает AWS DNS Resolver внутри VPC
Подробный блог: https://devopscube.com/route53-private-hosted-zone/
👉 DevOps Portal
В этом подробном блоге вы узнаете ключевые концепции, необходимые для работы с DNS в корпоративной инфраструктуре
- Разбор Route 53 Private Hosted Zones
- Понимание работы AWS DNS Resolver
- Наглядный пошаговый разбор DNS-флоу с использованием VPN
- Как работает AWS DNS Resolver внутри VPC
Подробный блог: https://devopscube.com/route53-private-hosted-zone/
Please open Telegram to view this post
VIEW IN TELEGRAM
❤4👍2
Совет дня по Linux
Большинство людей используют
Но в многих случаях его также можно использовать, чтобы избежать ошибок
👉 DevOps Portal
Большинство людей используют
echo для вывода информацииНо в многих случаях его также можно использовать, чтобы избежать ошибок
echo позволяет развернуть подстановочные знаки и понять, что произойдёт, ещё до выполнения команды.Please open Telegram to view this post
VIEW IN TELEGRAM
❤12👍11🤔1
This media is not supported in your browser
VIEW IN TELEGRAM
Когда тебя наняли на роль DevOps,
но в итоге ты ещё и тащишь на себе SRE, Cloud Engineering и обязанности Incident Manager-а.
👉 DevOps Portal
но в итоге ты ещё и тащишь на себе SRE, Cloud Engineering и обязанности Incident Manager-а.
Please open Telegram to view this post
VIEW IN TELEGRAM
😁24👍12🔥7🤯4
Архитектура Argo CD: разбор
К концу этого материала вы:
Поймёте, как Argo CD реально работает под капотом.
Внутри:
- Ключевые компоненты и их фактические роли
- Как они взаимодействуют между собой и синхронизируют изменения
- Как Argo CD хранит данные и как правильно настраивать бэкапы
- Как запускать Argo CD в режиме высокой доступности
- Безопасность и мониторинг (Prometheus + Grafana)
и многое другое…
Подробный гайд: https://devopscube.com/argo-cd-architecture
👉 DevOps Portal
К концу этого материала вы:
Поймёте, как Argo CD реально работает под капотом.
Внутри:
- Ключевые компоненты и их фактические роли
- Как они взаимодействуют между собой и синхронизируют изменения
- Как Argo CD хранит данные и как правильно настраивать бэкапы
- Как запускать Argo CD в режиме высокой доступности
- Безопасность и мониторинг (Prometheus + Grafana)
и многое другое…
Подробный гайд: https://devopscube.com/argo-cd-architecture
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9❤2
Please open Telegram to view this post
VIEW IN TELEGRAM
❤9🤔6😁4🔥3👍1
Краткий совет по Linux
Вы можете использовать команду
Вы можете использовать это с подстановкой команды, чтобы завершить процесс:
👉 DevOps Portal
Вы можете использовать команду
pgrep, чтобы найти PID процесса по его имени, шаблону или другим критериям.$ pgrep firefox
Вы можете использовать это с подстановкой команды, чтобы завершить процесс:
$ kill -9 $(pgrep firefox)
Please open Telegram to view this post
VIEW IN TELEGRAM
❤14🔥7
Обработка миллионов файлов – это та точка, где большинство распределённых систем хранения начинают тормозить.
По мере роста количества файлов основной проблемой становится их быстрый поиск.
Большинство систем держат единый индекс, в котором хранится информация о размещении всех файлов.
Когда тысячи запросов одновременно бьют в этот индекс, всё начинает замедляться.
В CubeFS это реализовано иначе.
Система разбивает файловый индекс между несколькими серверами.
Вместо того чтобы один сервер обрабатывал все запросы, нагрузка распределяется.
Поэтому система остаётся быстрой даже тогда, когда множество приложений одновременно читают миллионы файлов.
Если ты работаешь с данными для обучения ИИ или обрабатываешь большие датасеты, такая архитектура имеет значение.
Github: cubefs
👉 DevOps Portal
По мере роста количества файлов основной проблемой становится их быстрый поиск.
Большинство систем держат единый индекс, в котором хранится информация о размещении всех файлов.
Когда тысячи запросов одновременно бьют в этот индекс, всё начинает замедляться.
В CubeFS это реализовано иначе.
Система разбивает файловый индекс между несколькими серверами.
Вместо того чтобы один сервер обрабатывал все запросы, нагрузка распределяется.
Поэтому система остаётся быстрой даже тогда, когда множество приложений одновременно читают миллионы файлов.
Если ты работаешь с данными для обучения ИИ или обрабатываешь большие датасеты, такая архитектура имеет значение.
Github: cubefs
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5❤4
Linux Storage 101: Форматирование пустого диска
Продолжая тему управления хранилищем — сможешь ли ты отформатировать пустой диск в файловую систему ext4, затем примонтировать его и записать файл, чтобы убедиться, что всё работает как ожидается?
Супербазовая задача, но знать обязательно: https://labs.iximiuz.com/challenges/storage-simple-format
👉 DevOps Portal
Продолжая тему управления хранилищем — сможешь ли ты отформатировать пустой диск в файловую систему ext4, затем примонтировать его и записать файл, чтобы убедиться, что всё работает как ожидается?
Супербазовая задача, но знать обязательно: https://labs.iximiuz.com/challenges/storage-simple-format
Please open Telegram to view this post
VIEW IN TELEGRAM
❤4
Совет по Kubernetes: Ресайзинг подов в месте их работы
Вот как это работает 👇
Функция изменения размера пода In-Place Pod Resize позволяет изменять запросы и ограничения по CPU и памяти на работающем поде без его удаления или воссоздания.
Когда необходимо изменить размер,
Kubelet обновляет cgroup контейнера на уровне Linux напрямую, без удаления пода или перезапуска контейнера, если только это не запрашивается явно.
Флаг
Вот подробный гайд, в котором разобрано:
- как это работает под капотом
- как изменить размер пода на месте с использованием VPA.
- проблемы с уменьшением памяти и многое другое...
Читать здесь: https://devopscube.com/vpa-in-place-pod-resize/
👉 DevOps Portal
Вот как это работает 👇
Функция изменения размера пода In-Place Pod Resize позволяет изменять запросы и ограничения по CPU и памяти на работающем поде без его удаления или воссоздания.
Когда необходимо изменить размер,
Kubelet обновляет cgroup контейнера на уровне Linux напрямую, без удаления пода или перезапуска контейнера, если только это не запрашивается явно.
Флаг
--subresource resize сообщает Kubernetes, что обновляются только изменяемые поля пода (CPU и память).Вот подробный гайд, в котором разобрано:
- как это работает под капотом
- как изменить размер пода на месте с использованием VPA.
- проблемы с уменьшением памяти и многое другое...
Читать здесь: https://devopscube.com/vpa-in-place-pod-resize/
Please open Telegram to view this post
VIEW IN TELEGRAM
❤8
This media is not supported in your browser
VIEW IN TELEGRAM
Все используют балансировщик нагрузки, но немногие понимают алгоритмы балансировки
Вот несколько популярных:
🔹 Round Robin — распределяет входящие запросы по серверам по очереди в фиксированном циклическом порядке.
🔹 IP Hash — использует хеш-функцию от IP-адреса клиента, чтобы стабильно направлять его на один и тот же сервер.
🔹 Least Connections — перенаправляет новые запросы на сервер с наименьшим количеством активных соединений.
🔹 Weighted Round Robin — распределяет запросы с учётом веса (веса или производительности) каждого сервера, передавая больше трафика более мощным узлам.
🔹 Least Response Time — направляет запросы на сервер с наименьшей средней задержкой или временем отклика.
🔹 Random — выбирает сервер случайным образом для каждого входящего запроса, без определённой логики или последовательности.
👉 DevOps Portal
Вот несколько популярных:
Please open Telegram to view this post
VIEW IN TELEGRAM
❤13👍1
Как собрать продакшн-готовый образ контейнера для 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
❤9
Podman — альтернатива Docker без демона
Podman – это container runtime, который имитирует Docker на уровне основных команд (
Вот несколько практических челленджей, если хотите попробовать Podman и сравнить его с Docker:
- Запуск и инспектирование контейнера в Podman
https://labs.iximiuz.com/challenges/start-container-with-podman
- Автоматический рестарт контейнера Podman после перезагрузки хоста
https://labs.iximiuz.com/challenges/podman-101-container-restart-on-host-reboot
- Запуск и инспектирование контейнера в Docker (для сравнения)
https://labs.iximiuz.com/challenges/start-container-with-docker
👉 DevOps Portal
Podman – это container runtime, который имитирует Docker на уровне основных команд (
run, exec, kill и т.д.), но при этом под капотом использует daemonless-архитектуру. У такого подхода есть свои плюсы (например, меньше moving parts, более простой rootless-сетап) и минусы (например, без демона некоторые операции с контейнерами требуют дополнительной интеграции с systemd).Вот несколько практических челленджей, если хотите попробовать Podman и сравнить его с Docker:
- Запуск и инспектирование контейнера в Podman
https://labs.iximiuz.com/challenges/start-container-with-podman
- Автоматический рестарт контейнера Podman после перезагрузки хоста
https://labs.iximiuz.com/challenges/podman-101-container-restart-on-host-reboot
- Запуск и инспектирование контейнера в Docker (для сравнения)
https://labs.iximiuz.com/challenges/start-container-with-docker
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6❤3
Настройка Kubernetes-кластера на Kubeadm 1.36 (пошагово)
Вот почему стоит развернуть собственный self-hosted Kubernetes-кластер.
Когда вы поднимаете кластер с нуля,
вы начинаете гораздо лучше понимать, как устроены control plane-компоненты и worker-ноды Kubernetes.
Кроме того, если вы готовитесь к экзаменам CKA или CKS, управление кластером через Kubeadm входит в официальный syllabus этих сертификаций.
Вот обновлённый гайд по настройке Kubeadm 1.36, где весь процесс разобран пошагово.
https://devopscube.com/setup-kubernetes-cluster-kubeadm/
Для DevOps-инженера крайне важно глубоко понимать все компоненты, из которых состоит Kubernetes-кластер.
Рекомендую в процессе обучения использовать именно self-hosted Kubernetes-кластер, а не готовые managed-решения, которые легко доступны "из коробки".
👉 DevOps Portal
Вот почему стоит развернуть собственный self-hosted Kubernetes-кластер.
Когда вы поднимаете кластер с нуля,
вы начинаете гораздо лучше понимать, как устроены control plane-компоненты и worker-ноды Kubernetes.
Кроме того, если вы готовитесь к экзаменам CKA или CKS, управление кластером через Kubeadm входит в официальный syllabus этих сертификаций.
Вот обновлённый гайд по настройке Kubeadm 1.36, где весь процесс разобран пошагово.
https://devopscube.com/setup-kubernetes-cluster-kubeadm/
Для DevOps-инженера крайне важно глубоко понимать все компоненты, из которых состоит Kubernetes-кластер.
Рекомендую в процессе обучения использовать именно self-hosted Kubernetes-кластер, а не готовые managed-решения, которые легко доступны "из коробки".
Please open Telegram to view this post
VIEW IN TELEGRAM
❤10👍7
This media is not supported in your browser
VIEW IN TELEGRAM
Stakpak — это опенсос AI-агент для терминала, заточенный под DevOps: генерирует инфраструктурный код, дебажит Kubernetes и автоматизирует деплои. При этом использует подстановку секретов, чтобы LLM никогда не получала доступ к вашим реальным данным
https://github.com/stakpak/agent
👉 DevOps Portal
https://github.com/stakpak/agent
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13❤5
Apache Airflow на Kubernetes (MLOps)
Если вы хотите работать с проектами в области MLOps, Data Engineering или AI-инфраструктуры,
знание Apache Airflow может дать вам серьёзное преимущество.
Apache Airflow — это open-source платформа для построения и управления сложными воркфлоу и пайплайнами.
В этом блоге разобрали:
- Что такое Apache Airflow
- Как работают DAG’и
- Как устроены executors в Airflow
- Развёртывание Airflow в Kubernetes
- Настройку GitSync для управления DAG’ами
- Важные Day 2 operational insights и многое другое...
Читайте здесь: https://devopscube.com/apache-airflow-on-kubernetes/
Изучение Airflow значительно упрощает понимание таких платформ, как Kubeflow, потому что их ключевые концепции очень похожи:
- DAG’и
- Оркестрация задач
- Выполнение пайплайнов и т.д.
👉 DevOps Portal
Если вы хотите работать с проектами в области MLOps, Data Engineering или AI-инфраструктуры,
знание Apache Airflow может дать вам серьёзное преимущество.
Apache Airflow — это open-source платформа для построения и управления сложными воркфлоу и пайплайнами.
В этом блоге разобрали:
- Что такое Apache Airflow
- Как работают DAG’и
- Как устроены executors в Airflow
- Развёртывание Airflow в Kubernetes
- Настройку GitSync для управления DAG’ами
- Важные Day 2 operational insights и многое другое...
Читайте здесь: https://devopscube.com/apache-airflow-on-kubernetes/
Изучение Airflow значительно упрощает понимание таких платформ, как Kubeflow, потому что их ключевые концепции очень похожи:
- DAG’и
- Оркестрация задач
- Выполнение пайплайнов и т.д.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤5🔥2👍1
Когда 🤔
Тебе дали падающий контейнер – простой Go-сервер, который при получении запроса ходит в HTTPS API и проксирует ответ обратно клиенту.
Сможешь починить?
https://labs.iximiuz.com/challenges/when-from-scratch-image-is-not-good-enough
👉 DevOps Portal
FROM scratch-образа уже недостаточно Тебе дали падающий контейнер – простой Go-сервер, который при получении запроса ходит в HTTPS API и проксирует ответ обратно клиенту.
Сможешь починить?
https://labs.iximiuz.com/challenges/when-from-scratch-image-is-not-good-enough
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5
Этот туториал показывает, как добавить observability в EKS-кластер: перейти на паттерн App of Apps в ArgoCD и развернуть kube-prometheus-stack с корректно настроенным EBS CSI driver и конфигурацией kubelet cAdvisor
Читайте тут
👉 DevOps Portal
Читайте тут
Please open Telegram to view this post
VIEW IN TELEGRAM
❤3