This media is not supported in your browser
VIEW IN TELEGRAM
Уменьшил Docker-образ с 1.37 GB → 168 MB.
Всего лишь за счёт использования multi-stage сборок, slim-базовых образов и очистки неиспользуемых зависимостей.
Небольшие оптимизации = более быстрый CI/CD и более безопасные контейнеры👍
👉 DevOps Portal
Всего лишь за счёт использования multi-stage сборок, slim-базовых образов и очистки неиспользуемых зависимостей.
Небольшие оптимизации = более быстрый CI/CD и более безопасные контейнеры
Please open Telegram to view this post
VIEW IN TELEGRAM
❤12👍3🤯1
Please open Telegram to view this post
VIEW IN TELEGRAM
😁12❤5👍3
Настройка NVIDIA GPU Operator в Kubernetes
Базовый процесс настройки выглядит так:
- Проставить labels и taints для GPU-нод
- Добавить Helm-репозиторий Nvidia GPU Operator
- Установить Nvidia GPU Operator
- Проверить обнаружение GPU
Подробное руководство:
https://devopscube.com/setup-gpu-operator-kubernetes/
👉 DevOps Portal
Базовый процесс настройки выглядит так:
- Проставить labels и taints для GPU-нод
- Добавить Helm-репозиторий Nvidia GPU Operator
- Установить Nvidia GPU Operator
- Проверить обнаружение GPU
Подробное руководство:
https://devopscube.com/setup-gpu-operator-kubernetes/
Please open Telegram to view this post
VIEW IN TELEGRAM
❤5
Объединение слоёв контейнерного образа в «плоскую» файловую систему с помощью OverlayFS
Тема, о которой я слишком давно хотел рассказать — как контейнерные рантаймы превращают многослойные образы в «плоский» rootfs контейнера.
Разберёмся на практике в новом челлендже iximiuz Labs:
https://labs.iximiuz.com/challenges/union-mount-container-image-layers-using-overlayfs
👉 DevOps Portal
Тема, о которой я слишком давно хотел рассказать — как контейнерные рантаймы превращают многослойные образы в «плоский» rootfs контейнера.
Разберёмся на практике в новом челлендже iximiuz Labs:
https://labs.iximiuz.com/challenges/union-mount-container-image-layers-using-overlayfs
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8❤3🔥2
Разбираемся в архитектуре Istio за 12 минут (иллюстрированный гайд)
Если вы хотите лучше понять Istio,
вам необходимо разобраться в его полной архитектуре и в том, как компоненты Istio взаимодействуют друг с другом.
В cтатье подробно разбираем это с помощью наглядных диаграмм и простых объяснений.
Вот что вы узнаете
- Почему Istio понадобилась новая архитектура
- Обзор архитектуры Istio
- Подробный разбор ключевых компонентов: Istiod, Ztunnel, Waypoint Proxy и CNI
- Является ли Ztunnel единой точкой отказа?
- Бизнес-кейсы использования Ambient Mesh, включая преимущества по стоимости
- Практическое руководство по настройке Istio Ambient Mesh
Читать здесь: https://newsletter.devopscube.com/p/istio-ambient-mesh
Примечание: для лучшего понимания сначала разверните Ambient Mesh, а затем изучайте архитектуру. Так вам будет гораздо проще связать все концепции между собой.
👉 DevOps Portal
Если вы хотите лучше понять Istio,
вам необходимо разобраться в его полной архитектуре и в том, как компоненты Istio взаимодействуют друг с другом.
В cтатье подробно разбираем это с помощью наглядных диаграмм и простых объяснений.
Вот что вы узнаете
- Почему Istio понадобилась новая архитектура
- Обзор архитектуры Istio
- Подробный разбор ключевых компонентов: Istiod, Ztunnel, Waypoint Proxy и CNI
- Является ли Ztunnel единой точкой отказа?
- Бизнес-кейсы использования Ambient Mesh, включая преимущества по стоимости
- Практическое руководство по настройке Istio Ambient Mesh
Читать здесь: https://newsletter.devopscube.com/p/istio-ambient-mesh
Примечание: для лучшего понимания сначала разверните Ambient Mesh, а затем изучайте архитектуру. Так вам будет гораздо проще связать все концепции между собой.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6❤2
Сетевое взаимодействие в Kubernetes - штука сложная.
Но это не значит, что в ней невозможно разобраться. Если разложить всё на более мелкие части, станет понятно, как они между собой связаны.
Следующий урок курса Kubernetes the Very Hard Way посвящён именно этой теме:
https://labs.iximiuz.com/courses/kubernetes-the-very-hard-way-0cbfd997/cluster/network
👉 DevOps Portal
Но это не значит, что в ней невозможно разобраться. Если разложить всё на более мелкие части, станет понятно, как они между собой связаны.
Следующий урок курса Kubernetes the Very Hard Way посвящён именно этой теме:
https://labs.iximiuz.com/courses/kubernetes-the-very-hard-way-0cbfd997/cluster/network
Please open Telegram to view this post
VIEW IN TELEGRAM
❤4
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥13😁11❤2👀2
Контейнерный образ — это база любого релиза ❤️
Но когда версии, доступы и безопасность пущены на самотек, команда увязает в «починке доставки» и отвлекается от развития продукта.
На вебинаре вместе с экспертом Cloud․ru вы:
Вебинар будет полезен backend-разработчикам, DevOps-инженерам (сборка/доставка), архитекторам (инфраструктура/безопасность), техлидам и руководителям команд для ускорения релизов и снижения рисков ошибок.
👉 Зарегистрироваться👈
Но когда версии, доступы и безопасность пущены на самотек, команда увязает в «починке доставки» и отвлекается от развития продукта.
На вебинаре вместе с экспертом Cloud․ru вы:
▶️ рассмотрите контур артефактов и разберёте, где он чаще всего ломается;▶️ научитесь загружать Docker-образы, версионировать и управлять ими в Evolution Artifact Registry;▶️ настроите приватный доступ к репозиториям и разграничение прав;▶️ включите сканирование на уязвимости и примените политики безопасности;▶️ разберете, как поддерживать порядок в реестре: политики удаления и жизненный цикл.
Вебинар будет полезен backend-разработчикам, DevOps-инженерам (сборка/доставка), архитекторам (инфраструктура/безопасность), техлидам и руководителям команд для ускорения релизов и снижения рисков ошибок.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1
Kubernetes CNI vs Istio CNI
Вот ключевой момент, который нужно понять
Когда ты разворачиваешь Istio, тебе нужно запускать Istio CNI. Это не означает, что ты заменяешь CNI своего Kubernetes-кластера.
Он работает вместе с уже существующим CNI (например, Calico или Cilium) как chaining-плагин.
Вот в чём основное отличие.
Когда под стартует, Kubernetes вызывает CNI-плагин, чтобы настроить сеть: выдать IP, создать сетевые интерфейсы, прописать маршруты и т.д.
То есть именно он делает всю «реальную» сетевую работу.
Вот что делает Istio CNI:
- Работает только с подами, которые входят в mesh (неймспейсы с лейблом
- Когда он обнаруживает новые поды, входящие в mesh, он уведомляет Istio CNI node agent
- Node agent добавляет правила iptables в сетевой namespace пода, чтобы перенаправить трафик пода в прокси Ztunnel
В целом, Istio CNI - это chaining plugin. Это значит, что несколько CNI-плагинов выполняются последовательно для одного и того же пода, и каждый добавляет свою часть сетевой логики.
Например:
- Под стартует
- Calico (назначает IP, настраивает маршруты)
- Istio CNI (добавляет правила iptables для редиректа трафика)
👉 DevOps Portal
Вот ключевой момент, который нужно понять
Когда ты разворачиваешь Istio, тебе нужно запускать Istio CNI. Это не означает, что ты заменяешь CNI своего Kubernetes-кластера.
Он работает вместе с уже существующим CNI (например, Calico или Cilium) как chaining-плагин.
Вот в чём основное отличие.
Когда под стартует, Kubernetes вызывает CNI-плагин, чтобы настроить сеть: выдать IP, создать сетевые интерфейсы, прописать маршруты и т.д.
То есть именно он делает всю «реальную» сетевую работу.
Вот что делает Istio CNI:
- Работает только с подами, которые входят в mesh (неймспейсы с лейблом
dataplane-mode=ambient)- Когда он обнаруживает новые поды, входящие в mesh, он уведомляет Istio CNI node agent
- Node agent добавляет правила iptables в сетевой namespace пода, чтобы перенаправить трафик пода в прокси Ztunnel
В целом, Istio CNI - это chaining plugin. Это значит, что несколько CNI-плагинов выполняются последовательно для одного и того же пода, и каждый добавляет свою часть сетевой логики.
Например:
- Под стартует
- Calico (назначает IP, настраивает маршруты)
- Istio CNI (добавляет правила iptables для редиректа трафика)
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6❤2
Helm — это один из базовых инструментов, который обязательно нужно знать при работе с Kubernetes. Практические примеры, проходящие через полный жизненный цикл: добавление репозиториев, просмотр чартов, деплой NGINX ingress и настройка реальных override’ов – сильно помогают в обучении.
В этом гайде показан не только "счастливый путь": автор специально пушит некорректный тег образа, показывает, как падают поды, и затем демонстрирует, как с помощью rollback в Helm можно аккуратно восстановиться. Это максимально приближено к реальному опыту работы с Helm (и другими инструментами), поэтому материал лучше усваивается.
Shivam Soni даёт чёткий разбор команд без лишней абстракции. Если вы только начинаете работать с Helm или хотите освежить знания по версионированию релизов и механике rollback – это чистый, хорошо структурированный материал, на который стоит обратить внимание.
Читайте здесь
👉 DevOps Portal
В этом гайде показан не только "счастливый путь": автор специально пушит некорректный тег образа, показывает, как падают поды, и затем демонстрирует, как с помощью rollback в Helm можно аккуратно восстановиться. Это максимально приближено к реальному опыту работы с Helm (и другими инструментами), поэтому материал лучше усваивается.
Shivam Soni даёт чёткий разбор команд без лишней абстракции. Если вы только начинаете работать с Helm или хотите освежить знания по версионированию релизов и механике rollback – это чистый, хорошо структурированный материал, на который стоит обратить внимание.
Читайте здесь
Please open Telegram to view this post
VIEW IN TELEGRAM
❤7👍2
Kubernetes v1.36 официально выходит 22 апреля 2026 года
Вот 6 ключевых изменений, к которым нужно подготовить свои кластеры:
1️⃣ HPA Scale-to-Zero (включено по умолчанию):
→ Фича HPAScaleToZero выходит из alpha (была там с версии v1.16).
→ Теперь можно стабильно использовать minReplicas: 0.
→ Существенная экономия затрат для простаивающих staging-окружений и batch-пайплайнов.
2️⃣ Эфемерные SA-токены для pull образов:
→ Заменяют долгоживущие статические секреты для аутентификации в приватных registry.
→ Используются краткоживущие, автоматически ротируемые токены Service Account.
→ Доступ теперь привязан к identity конкретного pod’а, что значительно снижает риск утечек.
3️⃣ Более умный выбор pod’ов в HPA:
→ Исправлена проблема, когда HPA учитывал метрики orphaned или устаревших pod’ов.
→ Новая логика гарантирует, что HPA читает метрики только с pod’ов, управляемых целевым workload’ом.
→ Поведение автоскейлинга становится гораздо более предсказуемым и стабильным.
4️⃣ Удаление режима IPVS в kube-proxy:
→ Режим IPVS был deprecated в v1.35 и теперь полностью удаляется.
→ Пора мигрировать кластеры на iptables (backend на nftables) или eBPF-прокси (например, Cilium).
→ Запланируйте миграцию заранее, чтобы patch-апдейт не сломал сетевой стек.
5️⃣ Отказ от Ingress NGINX и переход на Gateway API:
→ Сообщество активно отказывается от Ingress NGINX.
→ Gateway API становится новым стандартом для управления трафиком.
→ Предоставляет нативный cross-namespace routing без необходимости городить кастомные аннотации.
6️⃣ Переход на containerd 2.x:
→ v1.36, вероятно, станет последним релизом с поддержкой старых версий containerd (например, 1.6.x).
→ Экосистема Kubernetes полностью выравнивается под containerd 2.x.
→ Обновите container runtime заранее, чтобы избежать ломающих изменений в следующем цикле.
👉 DevOps Portal
Вот 6 ключевых изменений, к которым нужно подготовить свои кластеры:
→ Фича HPAScaleToZero выходит из alpha (была там с версии v1.16).
→ Теперь можно стабильно использовать minReplicas: 0.
→ Существенная экономия затрат для простаивающих staging-окружений и batch-пайплайнов.
→ Заменяют долгоживущие статические секреты для аутентификации в приватных registry.
→ Используются краткоживущие, автоматически ротируемые токены Service Account.
→ Доступ теперь привязан к identity конкретного pod’а, что значительно снижает риск утечек.
→ Исправлена проблема, когда HPA учитывал метрики orphaned или устаревших pod’ов.
→ Новая логика гарантирует, что HPA читает метрики только с pod’ов, управляемых целевым workload’ом.
→ Поведение автоскейлинга становится гораздо более предсказуемым и стабильным.
→ Режим IPVS был deprecated в v1.35 и теперь полностью удаляется.
→ Пора мигрировать кластеры на iptables (backend на nftables) или eBPF-прокси (например, Cilium).
→ Запланируйте миграцию заранее, чтобы patch-апдейт не сломал сетевой стек.
→ Сообщество активно отказывается от Ingress NGINX.
→ Gateway API становится новым стандартом для управления трафиком.
→ Предоставляет нативный cross-namespace routing без необходимости городить кастомные аннотации.
→ v1.36, вероятно, станет последним релизом с поддержкой старых версий containerd (например, 1.6.x).
→ Экосистема Kubernetes полностью выравнивается под containerd 2.x.
→ Обновите container runtime заранее, чтобы избежать ломающих изменений в следующем цикле.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤8👍2
Как отечественная ОС стала лидером рынка и гарантом безопасности?
Рассказывам в спецпроекте «Российская ОС: код доверия». Он посвящен Astra Linux, самой популярной отечественной ОС, которая занимает 76% рынка российских операционных систем.
В проекте — пять развернутых материалов:
🔹 «17 лет эволюции Astra Linux: от первого релиза до версии 1.8» — о ключевых этапах становления продукта и его развитии.
🔹 Интерфейс Fly 2.0 — о создании графической оболочки во взаимодействии с пользователями и заказчикам.
🔹 Безопасность и встроенные СЗИ — о механизмах защиты в актуальной версии.
🔹 Опыт заказчика — Павел Лобанов, руководитель практики по продуктовому бизнес-анализу компании «Газпром нефть», рассказывает про процесс миграции и результаты внедрения.
🔹 Пошаговый гайд по переходу на версию 1.8 — рассказываем о ценности обновлений, даем рекомендации для ИТ-команд, демонстрируем переход на Astra Linux 1.8 в видео.
Отправиться в путешествие по галактике Astra Linux
Рассказывам в спецпроекте «Российская ОС: код доверия». Он посвящен Astra Linux, самой популярной отечественной ОС, которая занимает 76% рынка российских операционных систем.
В проекте — пять развернутых материалов:
🔹 «17 лет эволюции Astra Linux: от первого релиза до версии 1.8» — о ключевых этапах становления продукта и его развитии.
🔹 Интерфейс Fly 2.0 — о создании графической оболочки во взаимодействии с пользователями и заказчикам.
🔹 Безопасность и встроенные СЗИ — о механизмах защиты в актуальной версии.
🔹 Опыт заказчика — Павел Лобанов, руководитель практики по продуктовому бизнес-анализу компании «Газпром нефть», рассказывает про процесс миграции и результаты внедрения.
🔹 Пошаговый гайд по переходу на версию 1.8 — рассказываем о ценности обновлений, даем рекомендации для ИТ-команд, демонстрируем переход на Astra Linux 1.8 в видео.
Отправиться в путешествие по галактике Astra Linux
💊24🥱7❤2👍2🔥2
Как работают мультиплатформенные container images
Когда вы делаете
Чтобы представить несколько сборок через одну ссылку на образ (например, nginx:1.29), container registry использует специальный файл — Image Index, в котором перечислены манифесты для отдельных платформенных сборок. Поэтому при pull появляется дополнительный шаг:
- Сначала запрашивается index по адресу
- Затем в index находится манифест образа для нужной платформы, после чего он запрашивается по digest:
- И уже после этого по digest’ам из манифеста подтягиваются config образа и blobs слоёв файловой системы
Для single-platform image ссылка
Подробнее о внутреннем устройстве container images:
https://labs.iximiuz.com/tutorials/container-image-from-scratch
👉 DevOps Portal
Когда вы делаете
docker pull nginx:1.29 на AMD64-сервере и на ARM64-ноутбуке, Docker подтягивает совершенно разные сборки образа. Но как это возможно, если в обоих случаях используется одно и то же имя образа?Чтобы представить несколько сборок через одну ссылку на образ (например, nginx:1.29), container registry использует специальный файл — Image Index, в котором перечислены манифесты для отдельных платформенных сборок. Поэтому при pull появляется дополнительный шаг:
- Сначала запрашивается index по адресу
https://registry.example[.]com/v2/REPO/manifests/TAG- Затем в index находится манифест образа для нужной платформы, после чего он запрашивается по digest:
https://registry.example[.]com/v2/REPO/blobs/DIGEST- И уже после этого по digest’ам из манифеста подтягиваются config образа и blobs слоёв файловой системы
Для single-platform image ссылка
https://registry.example[.]com/v2/REPO/manifests/TAG указывает сразу на его manifest. То есть здесь на один уровень косвенности меньше.Подробнее о внутреннем устройстве container images:
https://labs.iximiuz.com/tutorials/container-image-from-scratch
Please open Telegram to view this post
VIEW IN TELEGRAM
❤4👍3
Наши планы на последнюю пятницу марта:
✅ Получить чек-лист по защите чувствительных данных на DBaaS
✅ Узнать различия и преимущества FoundationDB и Cassandra 5 на практике
✅ Понять, чем отличается путь масштабирования S3 в Авито
Всё потому, что мы узнали, что 27 марта будет Avito Database meetup в офисе Авито
Кстати, если будете не в Москве, то у ребят есть онлайн-трансляция.
Нашли и ссылку для регистрации, поэтому залетайте, увидимся✌️
✅ Получить чек-лист по защите чувствительных данных на DBaaS
✅ Узнать различия и преимущества FoundationDB и Cassandra 5 на практике
✅ Понять, чем отличается путь масштабирования S3 в Авито
Всё потому, что мы узнали, что 27 марта будет Avito Database meetup в офисе Авито
Кстати, если будете не в Москве, то у ребят есть онлайн-трансляция.
Нашли и ссылку для регистрации, поэтому залетайте, увидимся
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1🤝1