Присоединяйтесь к нашему каналу и погрузитесь в мир DevOps Связь: @devmangx № 5581790357
Хочешь прокачать знания DevOps? Но не знаешь где взять информацию и четкий план?
💪 Тогда лови бесплатный мета-курс Devops Roadmap - это расширенный чек-лист, который поможет вам сориентироваться в мире DevOps и стать крутым спецом.
👀 В мета-курсе перечислены все основные разделы и навыки, которыми должен обладать DevOps инженер: от Linux до программирования.
✔️А еще он будет полезен при подготовке к собеседованиям.
👽 Кстати, бонусом крутой канал о девопс. Там тоже самые свежие IT-новости, полезные советы от DevOps-инженера с 20-летним стажем, эксклюзивные материалы, релизы топовых инструментов, обзоры вакансий и личный взгляд на девопс-сферу.
30 Kubernetes туториалов
Нашел 30 действительно полезных руководств. Каждое из них фокусируется на ключевом концепте, инструменте или лучших практиках
1. Архитектура Kubernetes
2. High Availability (HA)
3. Best practices по дизайну и настройке кластера
4. Minikube
5. Kubeadm
6. Файл kubeconfig
7. Кластер на Vagrant VM
8. eksctl для AWS EKS
9. kubectl и контексты
10. Ручная сборка кластера Kubernetes
11. Etcd: бэкап и восстановление
12. Pod в Kubernetes
13. Init-контейнеры
14. DaemonSet
15. Жизненный цикл Pod’а
16. Ingress в Kubernetes
17. Nginx Ingress Controller
18. YAML-манифесты для K8s
19. Alertmanager
20. EFK стек (Elasticsearch, Fluentd, Kibana)
21. Логирование в Kubernetes
22. Kustomize
23. Sealed Secrets
24. Docker-образ в Pod’е
25. Jenkins Build Agents в K8s
26. Secrets и ConfigMap через Kustomize
27. Деплой Argo CD через Helm
28. Установка Helm в Kubernetes
29. MongoDB в Kubernetes
30. HashiCorp Vault в Kubernetes
Когда-нибудь хотелось, чтобы 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
Exosphere — это инструмент CLI и TUI для агрегированной отчётности о патчах и обновлениях безопасности через SSH
Он отображает статус хостов, показывает обновления дистрибутивов на серверах, пингует подключённые хосты и многое другое
pipx install exosphere-cli
🥇 Пройди ЛЮБОЕ собеседование!
Большая база вопросов с реальных собеседований:
→ Тинькофф, Авито, Сбер, Озон, Яндекс, VK и еще 100+ компаний
→ 20+ направлений: Frontend, Backend, DevOps, QA, Mobile и другие
→ 60+ технологий: React, Python, Docker, Git, Java, Go, JavaScript и не только
Выбирай направление:
👩💻 C# 🤖 ML Engineer
👩💻 C/C++ 🖥 Data Science
👩💻 Java 👩💻 Python
🖥 PHP 👩💻 Frontend
👣 Rust 👣 Golang
👩💻 Node.js 💻 DevOps
👩💻 QA 👩💻 Android
👩💻 iOS 👩💻 Game Dev
🖥 Общее IT 👨💻 Вакансии
База обновляется еженедельно — всегда актуальные вопросы с последних собеседований.
💸 Хочешь оффер в Big Tech? Готовься с нами!
Наглядное руководство по основам 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