Присоединяйтесь к нашему каналу и погрузитесь в мир DevOps Связь: @devmangx № 5581790357
Docker 101: Передача переменных окружения в контейнеры
Приложения часто используют переменные окружения для настройки конфигурации. Однако контейнеризированные приложения работают в изолированной среде выполнения (в этом и суть контейнеров). Поэтому переменные окружения хост-системы по умолчанию им недоступны — это сделано намеренно.
Попрактикуйтесь в передаче переменных окружения в контейнеризированные приложения в рамках этого задания Docker 101:
https://labs.iximiuz.com/challenges/docker-101-container-run-env-var
👉 DevOps Portal
22 туториала по Jenkins
В этой серии туториалов по Jenkins
Ты узнаешь все ключевые темы, которые нужно знать DevOps-инженеру, чтобы прокачать свои скиллы по Jenkins. Всё пошагово и с практикой.
🔹Архитектура Jenkins
🔹Настройка отказоустойчивого Jenkins
🔹Установка Jenkins на Ubuntu
🔹Установка и настройка Jenkins 2 на CentOS/RedHat
🔹Подключение агента по SSH
🔹Настройка SSL
🔹Запуск Jenkins на 80 порту
🔹Бэкап данных и конфигов
🔹Кастомизация UI-темы
🔹Деплой Jenkins в кластер Kubernetes
🔹AWS: Auto Scaling Group, Load Balancer и EFS
🔹Docker-контейнеры как билд-агенты
🔹Билд-агенты на подах в Kubernetes
🔹Кластер AWS ECS как билд-агент
🔹Pipeline как код
🔹Jenkins Shared Library
🔹Использование параметров в Declarative Pipeline
🔹CI для Java-проектов
🔹Автоматический триггер сборки по Pull Request в GitHub
🔹Jenkins Multibranch Pipeline
🔹Настройка email-уведомлений в Jenkins
🔹Сборка Docker-образов с помощью kaniko и Jenkins в Kubernetes
В этом руководстве рассматривается настройка east-west маршрутизации с использованием CoreDNS, Traefik, cert-manager и trust-manager для разрешения доменных имён и управления безопасными сертификатами
https://dev.to/tbeijen/east-west-north-south-how-to-fix-your-local-cluster-routes-1n6b
👉 DevOps Portal
Все знают культовый туториал Kelsey Hightower «Kubernetes The Hard Way», где ты вручную собираешь кластер и настраиваешь каждый компонент. Но есть одна проблема — приходится тратить часы на разворачивание облачных VM и борьбу с конфигами.
Теперь появился Playground, где всё уже готово из коробки: полноценный кластер Kubernetes на обычных линуксовых тачках, компоненты запущены через systemd (без докер-контейнеров). Сверху докинули CoreDNS и Flannel, чтобы жизнь стала чуть менее больной.
Для продакшена схема не годится (сам знаешь почему 😉), но дома потренироваться, разобраться и набить шишки — идеально
Заценить можно тут
👉 DevOps Portal
Сегодня отмечается день системного администратора
Ежегодно в последнюю пятницу июля мир отмечает праздник людей, благодаря которым компьютеры работают, сети не падают, а проблемы решаются до того, как мы о них узнаем.
В 2025 году этот день выпал на 25 июля.
Поздравляем всех сисадминов с праздником 🍻
@linuxos_tg
Планирование подов в Kubernetes: руководство и лучшие практики
Планирование подов в Kubernetes определяет, где именно будут запускаться рабочие нагрузки в вашем кластере, напрямую влияя как на использование ресурсов, так и на производительность приложений. Планировщик оценивает множество факторов — от требований к ресурсам до доступности узлов и правил аффинности — чтобы оптимально распределить поды по инфраструктуре.
По мере роста кластеров неэффективное планирование подов может приводить к перерасходу ресурсов и деградации производительности приложений.
Задумывался ли ты, что происходит "под капотом", когда ты запускаешь команду kubectl?
Исследуй эту песочницу, чтобы поэкспериментировать с kube-apiserver в изоляции, без каких-либо контроллеров:
https://labs.iximiuz.com/playgrounds/kube-apiserver-e52fd50a
👉 DevOps Portal
Docker 101: Фоновые контейнеры, логи и потоки STDIO
Продолжаем серию "Знакомство с Docker". В продакшене чаще всего приходится иметь дело с фоновыми контейнерами.
Практикуемся в получении их логов и повторном подключении к потокам STDIO: https://labs.iximiuz.com/challenges/docker-101-container-run-in-background
👉 DevOps Portal
Kubernetes 1.28+ позволяет контролируемо использовать swap с помощью LimitedSwap
для pod-ов с приоритетом Burstable, что помогает избежать OOM при всплесках потребления памяти.
В этом гайде показано, как настроить swap-файлы, включить нужные флаги конфигурации Kubelet и протестировать поведение.
robertbotez/demystifying-swap-in-kubernetes-a-handbook-for-devops-engineers-e5ef934593e3" rel="nofollow">https://medium.com/@robertbotez/demystifying-swap-in-kubernetes-a-handbook-for-devops-engineers-e5ef934593e3
👉 DevOps Portal
«Bash + Git: от новичка до уверенного пользователя»
Привет! Если ты давно хотел «подружиться» с командной строкой, давай сделаем это вместе. В первой половине курса разбираем Bash с нуля: как устроена файловая система Linux и почему ls -lah быстрее, чем открыть «Проводник»; фильтрация и обработка данных через grep, awk, sed; скрипты на основе переменных, циклов и условий; автоматизация рутинных задач с cron; базовые сетевые утилиты (curl, wget, ping) и работа с разрешениями.
Каждый модуль заканчивается задачами: код пишешь прямо на Stepik, а ответ проверяет живой ментор — можно задать вопрос и получить развёрнутый фидбек.
Во второй части переключаемся на Git (короткие текстовые уроки + тестовые задачи). Ветвление, ребейзы, GitHub Actions, Git Hooks — всё, что пригодится в рабочих проектах.
Формат: 4–5 часов в неделю;
доступ навсегда.
задачи с ручной проверкой преподавателя.
Сертификат Stepik и чек‑лист полезных команд Bash и Git.
Для кого: Студенты, джуны, системные администраторы, разработчики, которым нужен надёжный набор инструментов командной строки без лишней теории.
До 24 июля вы можете приобрести курс со скидкой 20% по ссылке https://tglink.io/9e91a3c80f8e?erid=2W5zFHSbQgG
Принес интересный инструмент для сетевой загрузки дистрибутивов - https://netboot.xyz/
Поднимаем сервер с этим загрузчиком, и он предоставляет интерактивное меню для выбора нужного дистрибутива или утилиты прямо с экрана загрузки
🔹Имеется возможность развернуть self-hosted версию: https://netboot.xyz/docs/selfhosting
🔹Github проекта: https://github.com/netbootxyz/netboot.xyz
👉 DevOps Portal
Как работает сетевая подсистема контейнеров
Большинство Docker-инсталляций и Kubernetes-кластеров используют одинаковую схему сетей на основе мостов. Как лучше всего разобраться, как это устроено?
Попробуйте воссоздать такую сетевую конфигурацию с нуля, используя только стандартные Linux-команды: https://labs.iximiuz.com/tutorials/container-networking-from-scratch
👉 DevOps Portal
Более миллиона высоконагруженных операций в месяц в кластерах Kubernetes
Это — потребности PropTech-платформы от компании TrendTech, которые были полностью закрыты сервисом Managed Kubernetes от Selectel.
TrendTech — компания с особенными запросами: более 10 Тб контента, сложная система актуализации данных, множество внешних интеграций с застройщиками и большое количество микросервисов.
Гибридное решение на базе Managed Kubernetes от Selectel позволило:
🔹Обеспечить отказоустойчивость сервисов за счет кластеров с тремя мастер-нодами в разных сегментах пула
🔹Добиться моментального масштабирования с помощью автоскейлинга и гибкого управления вычислительными ресурсами
🔹Развернуть удобные изолированные окружения для восьми команд разработки
Переносите и вы проекты в отказоустойчивые и автомасштабируемые кластеры Managed Kubernetes от Selectel — миграция бесплатная: https://slc.tl/fwm70
Реклама. АО «Селектел», ИНН 7810962785, ERID: 2VtzqvZKqAP
Наглядно про то, как работает команда kubectl apply
👉 DevOps Portal
🛡 Что такое высокая доступность (HA) на практике?
Эксперты из VK поделились на Tproger про системы высокой доступности..
📌 Ключевые идеи:
— Архитектура должна учитывать возможность сбоев (горизонтальное масштабирование, изоляция, SLO-мониторинг
— Технологии важны, но ещё важнее культура и fallback-поведение
— Надёжность — это не финальный чекбокс, а постоянная дисциплина
— Даже небольшие команды могут повышать доступность: понимать слабые места, продумывать поведение при сбоях, автоматизировать восстановление
Полный разбор — по ссылке.
Управление ресурсами контейнеров и подов с помощью cgroups
Docker и Kubernetes под капотом используют механизм cgroups в Linux для управления ресурсами приложений — такими как CPU, память и I/O. Вот подборка практических заданий, чтобы вы могли потренироваться:
🔹Ограничить использование CPU и памяти для Linux-процесса
https://labs.iximiuz.com/challenges/limit-cpu-and-memory-of-linux-process
🔹Запустить контейнер с ограниченными ресурсами
https://labs.iximiuz.com/challenges/start-container-with-limited-resources
🔹Завершить работу контейнера, если один из его процессов выйдет за пределы доступной памяти
https://labs.iximiuz.com/challenges/kill-container-on-child-process-oom-event-docker
🔹Ограничить использование CPU и памяти для приложения, запущенного через Docker Compose
https://labs.iximiuz.com/challenges/run-multiple-containers-in-one-cgroup
🔹Задеплоить «прожорливый» Pod, не положив при этом весь кластер
https://labs.iximiuz.com/challenges/start-pod-with-limited-resources
🔹Устранить проблемы со стабильностью в Deployment-е Go-приложения
https://labs.iximiuz.com/challenges/fix-go-app-container-oom
🔹Настроить Pod так, чтобы он пережил OOM-событие без перезапуска
https://labs.iximiuz.com/challenges/make-kubernetes-pod-outlive-oom-event
Забираем в закладки и отрабатываем на практике ✌️
👉 DevOps Portal
Скачивай торренты прямо из терминала
Знакомься с Torrra — лаконичным CLI-инструментом для поиска, получения и загрузки торрентов через magnet-ссылки
Попробовать: http://github.com/stabldev/torrra
👉 DevOps Portal
Сетевое дело 101: Как настроить маршруты
Сетевые технологии одна из моих любимых тем. Готовиться к задачам и разбирать сетевые кейсы — это всегда интересно.
Настройка маршрутизации — типичная задача системного администратора. Реши эту простую задачу и проверь свои навыки:
https://labs.iximiuz.com/challenges/networking-configure-basic-routing
👉 DevOps Portal
helmper — это программа на Go, которая считывает Helm-чарты из удалённых OCI-реестров и пушит образы контейнеров этих чартов в ваши реестры с возможной корректировкой уязвимостей на уровне операционной системы
https://github.com/ChristofferNissen/helmper
👉 DevOps Portal
Docker 101: Передаём данные в контейнеризированные утилиты через STDIN
Популярные CLI-инструменты часто распространяются, в том числе, в виде контейнерных образов: curl
, httpie
, kubectl
и другие.
Часто такие утилиты принимают данные через STDIN. Однако docker run
по умолчанию закрывает этот поток.
Подробнее: https://labs.iximiuz.com/challenges/docker-101-container-run-interactive
👉 DevOps Portal
Совет по Linux на сегодня
Ты, вероятно, используешь tail -f
, чтобы в реальном времени смотреть логи.
Но если тебе больше по душе команда less
, её тоже можно использовать для просмотра логов в реальном времени:
less +F filename
Kubernetes Patterns
Каждый паттерн решает конкретную задачу и должен применяться осознанно для достижения наилучшего результата.
1. Init Container:
Специальный контейнер, который запускается до основного контейнера в поде. Он готовит окружение для запуска основного приложения.
2. Sidecar Pattern:
Вспомогательный контейнер, который работает рядом с основным и добавляет новый функционал, не меняя сам основной контейнер.
3. Ambassador Pattern:
Контейнер-прокси, который отвечает за сетевые взаимодействия основного контейнера. Например, управляет подключениями или маршрутизацией.
4. Adapter Pattern:
Контейнер, который преобразует или нормализует вывод основного контейнера в формат, удобный для других сервисов.
5. Controller Pattern:
Контроллер — это цикл в Kubernetes, который постоянно следит за объектами и приводит их текущее состояние к желаемому.
6. Operator Pattern:
Продвинутый контроллер с пониманием предметной области. Автоматизирует сложные процессы типа обновлений или бэкапов.
LinuxCamp — канал системного разработчика, который поможет тебе освоить Linux и DevOps на профессиональном уровне!
— Уникальные гайды по администрированию Linux
— Продвинутые техники и рекомендации по работе в Bash
— Подробные статьи о внутреннем устройстве операционных систем
Подписывайся: @linuxcamp_tg
Docker 101: Запусти свой первый контейнер
Начни работу с Docker, решая практические задачи:
🔹Запусти контейнер с hello-world
🔹Запусти контейнер с веб-сервером
🔹Запусти контейнер с интерактивной оболочкой
Включены автопроверки и подсказки:
https://labs.iximiuz.com/challenges/docker-101-container-run
👉 DevOps Portal
Эта схема отображает ключевые концепции безопасности в Kubernetes — от RBAC, PodSecurity и аудита до изоляции контейнеров — помогая командам визуализировать точки применения политик.
Разработана Telenor для on-prem кластеров, отлично подходит для моделирования угроз и проведения ревью.
https://kubesec-diagram.github.io/
👉 DevOps Portal
🎁 РАЗЫГРЫВАЕМ MacBook Air!
Разыгрываем шикарный 13-дюймовый MacBook Air! Отличная рабочая машинка!
Условия участия максимально простые:
🔸Подписаться на телеграм-канал: @sqlhub
🔸Подписаться на телеграм-канал: @ai_machinelearning_big_data
🔸Нажать кнопку "Участвовать" ниже.
ВСЁ! Вы участник! Бот выберет одного человека, которому мы подарим этот MacBook. Доставка по зоне СДЭК.
Итоги подведём 14 августа.
Всем удачи! Пусть победит самый приятный человек!
⚠️ Если бот подвис — не беспокойтесь, вас все равно зарегистрирует, просто выполните условия и нажмите «Участвую».
Путаешься между Dockerfile и Docker Compose?
Это для тебя.
Хотя они дополняют друг друга, их назначение в контейнеризированной среде различается.
Dockerfile — используется для создания и сборки Docker-образов.
Docker Compose — используется для запуска контейнеров как части мультиконтейнерного окружения или с определёнными параметрами выполнения.
🔹 Начиная с версии 1.28.6, Docker Compose по умолчанию ищет compose.yaml
или compose.yml
. Поддержка docker-compose.yaml/yml
сохраняется для обратной совместимости, но если оба файла присутствуют, будет использоваться compose.yaml
.
Вот простая схема, чтобы тебе было легче разобраться
👉 DevOps Portal
Docker Desktop: Самый простой способ отлаживать контейнеры Docker
Расширение Logs Explorer в Docker Desktop — это отличный инструмент для того, чтобы понять, что происходит внутри ваших контейнеров во время выполнения.
https://thenewstack.io/docker-desktop-the-easiest-way-to-debug-docker-containers/
👉 DevOps Portal
Развёртывание Kubernetes-кластера с помощью kubeadm
Этот туториал от Márk Sági-Kazár не просто пошагово объясняет процесс, но и даёт возможность выполнить каждую команду в изолированной песочнице, чтобы убедиться в её корректности.
Изучай Kubernetes на практике:
https://labs.iximiuz.com/tutorials/provision-k8s-kubeadm-900d1e53
👉 DevOps Portal