Присоединяйтесь к нашему каналу и погрузитесь в мир DevOps Связь: @devmangx № 5581790357
Когда-нибудь хотелось, чтобы Docker-контейнеры, работающие на разных хостах, могли безопасно общаться друг с другом без проброса портов?
Вот гайд по использованию чистого WireGuard для настройки такой связи между облаками и даже за NAT — плюс небольшой спойлер про Uncloud, инструмент, который я создал для полной автоматизации этого процесса
https://uncloud.run/blog/connect-docker-containers-across-hosts-wireguard/
👉 DevOps Portal
«Штурвал 2.11»: упрощенная установка, новые логи и дашборды
Ребята из «Лаборатории Числитель» выкатили новый релиз «Штурвала» — платформы управления кластерами Kubernetes — и зовут на обзор, чтобы показать все самое важное:
▪️Новый графический инсталлятор с поддержкой Cluster API, что позволяет легко разворачивать кластеры управления даже джунам;
▪️Замена OpenSearch на интегрированное в платформу решение VictoriaLogs;
▪️Обновленный дашборд неймспейса: больше информации, меньше путаницы;
▪️Новый дашборд доступности компонентов для упрощения мониторинга состояния кластеров;
▪️Новый Cluster API провайдер к VMware vCloud Director.
Когда: 12 августа, 11:00 мск
Регистрируйтесь и готовьте свои вопросы!
Kamaji — это инструмент для развёртывания и управления Managed Kubernetes-сервисом с минимальными операционными затратами.
С Kamaji вы можете запускать и обслуживать сотни Kubernetes-кластеров, как гипермасштабный облачный провайдер.
Подробнее: https://github.com/clastix/kamaji
👉 DevOps Portal
Короткий и полезный трюк для работы в терминале
Нередко бывает, что ты уже набрал команду, собираешься её запустить — и тут вспоминаешь, что перед этим нужно выполнить другую операцию. Но при этом хочется, чтобы набранная команда осталась в истории, чтобы не приходилось писать её заново
Для этого есть удобное сокращение: Alt + Shift + #
. Оно просто закомментирует текущую строку — команда не выполнится, но сохранится в истории, и позже её можно будет легко извлечь стрелкой вверх, удалить #
и запустить
👉 DevOps Portal
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
Наглядное руководство по основам Systemd
Статья подробно и наглядно раскрывает внутреннее устройство systemd, делая акцент на ключевых компонентах D-Bus и cgroups, и объясняет, как устроена их архитектура и взаимодействие на примерах и схемах
sebastiancarlos/systemds-nuts-and-bolts-0ae7995e45d3" rel="nofollow">https://medium.com/@sebastiancarlos/systemds-nuts-and-bolts-0ae7995e45d3
👉 DevOps Portal
Сетевые основы 101: Настройка NAT-шлюза
Продолжаем практический вводный курс по компьютерным сетям. Использование NAT-шлюза для обеспечения доступа к Интернету из приватной сети — широко распространённая конфигурация.
Попрактикуйтесь в настройке собственной AWS VPC в этом задании:
https://labs.iximiuz.com/challenges/networking-configure-nat-gateway
👉 DevOps Portal
Kubernetes Goat
С помощью этого репозитория можно прокачать навыки тестирования безопасности кубера
(Там есть готовая инфраструктура, которая разворачивается по скрипту)
https://github.com/madhuakula/kubernetes-goat
👉 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