13139
Присоединяйтесь к нашему каналу и погрузитесь в мир DevOps Сотрудничество, реклама: @devmangx Менеджер: @Spiral_Yuri РКН: https://clck.ru/3P8kFH
Многие новички сразу бросаются в Kubernetes, Terraform или CI/CD-пайплайны, потому что это выглядит интересно. Но у DevOps есть фундамент, и если его пропустить, дальше будет только сложнее.
Прежде чем трогать Kubernetes, есть несколько базовых навыков, которые должен прокачать каждый инженер.
Начните с Linux. Почти все инструменты, которые вы используете в DevOps, работают на Linux. Вам нужно уверенно разбираться в файловых правах, процессах, сервисах, логах и работе в командной строке. Если вы не можете свободно ориентироваться на Linux-сервере, управление кластерами быстро превращается в хаос.
Тщательно разберитесь с Git. Ветвление, слияние, ребейзы, ревью изменений – это ежедневные задачи в DevOps. Хорошие практики работы с системой контроля версий сильно упрощают совместную работу и автоматизацию.
Освойте Bash-скриптинг. Большая часть автоматизации начинается с простых скриптов. Умение писать, отлаживать и комбинировать команды помогает понимать, как работают CI/CD-пайплайны и облачная автоматизация под капотом.
Разберитесь в основах сетей. IP-адреса, порты, DNS, подсети, маршруты, балансировщики - в облаке ничего не работает без сети. Если вы понимаете, как движется трафик, всё остальное в DevOps становится куда проще.
Когда эти фундаментальные вещи у вас на хорошем уровне, такие инструменты, как Docker, Kubernetes, Terraform или AWS, начинают быть по-настоящему понятны.
Пропуская базу, вы только тормозите себя в будущем; изучая её заранее, вы облегчаете всё, что дальше.
👉 DevOps Portal
«Штурвал 2.12»: кластер K8s за 15 минут
2 декабря в 11:00: next-next-next инсталляция кластера из GUI: ребята из «Лаборатории Числитель» покажут новый релиз «Штурвал 2.12».
В программе:
◾развёртывание «Штурвала» с нуля с новым инсталлятором;
◾обзор основных изменений: новый инсталлятор, обновленный UI создания кластера, развёртывание на OpenStack с нативными балансерами и Let's Encrypt, поддержка Cinder CSI и Ubuntu 24.04.
Для кого вебинар: DevOps-инженеров и архитекторов, разработчиков, специалистов служб эксплуатации.
Зарегистрироваться
Запутались в том, чем отличаются Dockerfile и Docker Compose? Это для вас.
Хотя они дополняют друг друга, их назначения в контейнерной среде разные.
- Dockerfile: используется для создания и сборки Docker-образов.
- Docker Compose: используется для запуска Docker-контейнеров в составе мультиконтейнерного окружения или с определёнными параметрами рантайма.
Примечание: начиная с версии 1.28.6, Docker Compose по умолчанию использует файлы compose.yaml или compose.yml, сохраняя обратную совместимость с docker-compose.yaml/yml. Если присутствуют оба варианта, предпочтение отдаётся compose.yaml.
Вот простая иллюстрация, чтобы помочь вам лучше разобраться
👉 DevOps Portal
Строю свой домашний лаб. KVM на всех машинах.
Пока развернул DNS-сервер и NTP-сервер. Основной и вторичный DNS с включённым zone transfer. NTP-сервер только внутренний, все остальные сервера берут с него время и дату.
На этой неделе собираюсь поднять Zabbix и AWX. Zabbix - для мониторинга инфраструктуры, AWX - для запуска Ansible.
Nessus для сканирования, load balancer для проброса трафика, registry для хостинга контейнеров
Кластер из 3 нод: 1 master, 2 worker'а.
GitLab помещу внутрь кластера.
Для LDAP-аутентификации буду использовать FreeIPA.
Цель: симулировать air-gapped окружение
👉 DevOps Portal
Почему вам нужно облачное объектное хранилище?
Узнайте про кейсы и выгоды на вебинаре Selectel
🗓26 ноября, 12:00
📍Онлайн
👨💻Для системных администраторов, DevOps-инженеров, руководителей направлений по информационной безопасности и ML/AI.
Смотрите программу и регистрируйтесь: https://slc.tl/f7jiy
Чтобы не пропустить вебинар и узнавать о митапах, воркшопах и бесплатных курсах Selectel, подписывайтесь на @selectel_events
Реклама. АО "Селектел". erid:2W5zFJfhqqa
Интересный симулятор DDoS-атак, чтобы понять, как работают такие атаки и почему защита критически важна.
http://devops-daily.com/games/ddos-simulator
👉 DevOps Portal
Proxmox 9.1 теперь нативно поддерживает OCI-образы (Docker). Это всё меняет
@IT_Portal
K2 Cloud собирает сетевых инженеров на митап 🌐
28 ноября эксперты из K2 Cloud, Positive Technologies, Avitotech, Wildberries & Russ и Точка Банка встретятся на митапе «Поговорим про сети»
Что будем делать:
— разберем метрики, которые спасают продукт;
— научимся «гадать» по сетевым пакетам;
— сыграем в сетевую версию игры «100 к 1».
Опыт из очень разных инфраструктур и LinkMeUp в роли ведущего — регистрация по ссылке
Ассистент для триажа: ИИ теперь не просто вываливает список проблем
Теперь плагины PT AI для IDE предлагают, с чего начать, какие уязвимости подтвердить или отклонить в первую очередь. Похожие — группируются для пакетной обработки.
Ключевые новые функции:
● Массовое управление уязвимостями: Выделите несколько уязвимостей и разом поменяйте им статус.
● Copilot на основе LLM (большая языковая модель): Экспериментальная фича (YandexGPT) для автоматического исправления кода с предпросмотром, пояснением логики и историей рекомендаций.
Большинство обсуждений Docker в итоге приходят к одному вопросу: использовать slim или alpine, какой базовый образ выбрать?
Alpine очень маленький и выглядит привлекательно, если нужно максимально ужать размер образа.
Но он использует musl вместо glibc, поэтому некоторые приложения ведут себя иначе, некоторые библиотеки работают не так, как ожидается, и отладка может быть болезненной.
Отлично подходит для простых статических бинарников, которые почти не завязаны на зависимости уровня ОС.
Slim-образы (например, debian:slim или node:22-slim) больше, чем Alpine, но всё ещё значительно меньше полноразмерных дистрибутивов. Они используют glibc, поэтому большинство инструментов и библиотек просто работают.
Это обычно означает меньше сюрпризов в проде, проще отладку и лучшую совместимость с существующей документацией и примерами.
Для большинства веб-приложений, API и инструментов slim — более безопасный выбор по умолчанию. Вы всё равно получаете меньшие образы, быстрые pull’ы и нормальную безопасность, но без борьбы с странными edge-кейсами musl.
Alpine имеет смысл, когда вы:
- доставляете один статический бинарник,
- полностью понимаете свои зависимости,
- готовы разруливать возможные проблемы совместимости, если они появятся.
👉 DevOps Portal
Kubeshark обеспечивает глубокую видимость и мониторинг всего API-трафика и payload'ов, проходящих внутрь, наружу и между контейнерами и подами внутри кластера Kubernetes
Забираем здесь
👉 DevOps Portal
Kafka-движок: книги для тех, кто не просто слушает, а потребляет топики
⚡️Обнаружили в продакшене LAG=100500 и осознали, что ваш потребитель — это не потребитель, а так, просто подписался на топик? Пора прокачать скилы и перестать бояться слов вроде «стремительный лидер» и «репликация».
➡️Собрали для вас пару проверенных мануалов, которые помогут не просто запустить Kafka, а понять, как она работает изнутри.
👉🏻 Забрать мануалы и ссылки на тему Kafka
⏩ Для углубленного изучения Kafka и прокачки практических навыков:
⚫️Скидка 20% на Курс «Apache Kafka для разработчиков и аналитиков».
Углублённый курс на платформе Docker+Postgres с примерами на Java (но основные принципы и best-practice применимы и к другим языкам).
- 70% практики, усложненные задания со звездочкой
- возможность выбрать тариф с проверкой и обратной связью от экспертов
- старт в любой момент!
🎁Промокод на скидку 👉🏻VIDEO20👈🏻
*ввести его можно в окне оплаты, оно откроется после заполнения формы контактов
➡️Смотреть программу или занять место на курсе
💡 Быстрый совет по Linux
Проверить bash-скрипт на синтаксические ошибки можно командой:
bash -n scriptname
Интерактивные лабораторные по Kubernetes
Проект Kubelab предлагает готовую инфраструктуру для обучения и экспериментов с Kubernetes. Он позволяет реализовать «интерактивный Kubernetes-тренажер» локально и проходить различные задания.
Для лабораторных есть подсказки или готовые решения, если не получилось сделать самостоятельно. Кроме этого, Kubelab обладает Web UI и редактором кода, чтобы упростить обучение
Забираем с GitHub
👉 DevOps Portal
Когда на одной машине крутится несколько контейнеров, один из них легко может начать потреблять больше CPU, чем ожидается.
Docker не балансирует CPU между контейнерами автоматически: если одному контейнеру нужно больше циклов, он их заберёт, пока не заданы ограничения. Это может замедлить другие контейнеры или сделать работу системы нестабильной по ощущениям
Docker предоставляет два основных механизма для контроля CPU:--cpus – задаёт жёсткий лимит CPU (например, --cpus="0.5" позволяет контейнеру использовать не более 50% одного ядра).--cpu-shares – задаёт относительный вес, а не жёсткий лимит. Контейнеры с более высоким значением получают больше CPU только когда несколько контейнеров конкурируют за ресурсы.
Это соответствует модели планировщика Docker: cpu_shares влияет на приоритет, а cpus задаёт фактический потолок.
Без этих параметров один загруженный контейнер может занять столько CPU, сколько ему позволит хост.
В реальных нагрузках такие ограничения делают работу контейнеров более предсказуемой и защищают критичные сервисы, работающие на той же машине.
👉 DevOps Portal
Практические DevOps/Cloud-проекты для обучения: от новичка до продвинутого уровня
GitHub: DevOps-Projects
👉 DevOps Portal
💡 Быстрый совет по Ansible
Долгий запуск команды приводит к тайм-ауту?
Используйте настройку ansible_command_timeout
Она задает максимальное время (в секундах), в течение которого Ansible будет ждать завершения команды
👉 DevOps Portal
Айтишники не рассказывают где учатся бесплатно и эффективно
Никому не говори об этом канале!!! В сфере онлайн образования появился новый гигант «TERMINAL» — который разрушит индустрию платных IT-курсов
Бесплатный доступ:
🔄Практические курсы и задания
🔄Книги и статьи от профи
🔄Полезные инструменты и ресурсы
🔄IT-новости и инсайды
💡 Совет дня по Linux
Не нравится бесконечно длинный вывод в команде top?
Используйте опцию -i, чтобы скрыть неактивные процессы и видеть только активные:
$ top -i
OpenTelemetry — это опенсорс стандарт для сбора трассировок, метрик и логов в современных приложениях
Вместо того чтобы каждый язык, фреймворк или библиотека предоставляли собственный способ генерации телеметрии, OpenTelemetry предлагает единый и консистентный подход.
С его API и SDK вы один раз инструментируете свой код и отправляете данные в любой backend по вашему выбору — Grafana, Datadog, New Relic, Prometheus или любой другой. Это означает, что вы не привязаны к какому-то одному вендору и не зависите от конкретного агента.
Он также унифицирует телеметрию между сервисами. Если у вас распределённая система с несколькими микросервисами на разных языках, OpenTelemetry помогает связать их поведение в единый trace, чтобы вы могли понять, откуда берутся задержки или сбои.
Цель проста: сделать наблюдаемость проще, переносимой и последовательной, чтобы командытратили меньше времени на «склейку» инфраструктуры и больше - на понимание своих систем.
👉 DevOps Portal
Разворачиваем кластер Managed Kubernetes бесплатно
Kubernetes упрощает работу с приложениями на базе микросервисов за счет автоматизации развертывания и масштабирования. А Selectel упрощает работу с Kubernetes.
Новые клиенты сейчас могут получить до 30 000 бонусов на использование Managed Kubernetes от Selectel.
Для каких задач он подойдет?
🔹Запустить высоконагруженные сервисы и ML-проекты. В Selectel можно развернуть кластеры на производительном железе и добавить ноды с GPU.
🔹Повысить производительность и изолировать ресурсы. Managed Kubernetes от Selectel позволяет создать кластеры с воркер-нодами на выделенных серверах, а не в облаке. Все ресурсы сервера — ваши.
🔹Сократить затраты на инфраструктуру. Кластеры на базе прерываемых ВМ позволят сэкономить до 70% расходов и подойдут для CI/CD, пакетной обработки данных, дата-аналитики и других задач.
Успейте зарегистрироваться и оставить заявку на участие в акции, чтобы протестировать сервис бесплатно: https://slc.tl/eawuq
Реклама. АО "Селектел". erid:2W5zFGVxLxg
NGINX Gateway Fabric - это опенсорс проект, который реализует Gateway API, используя NGINX в качестве data plane.
Цель проекта: реализовать базовые возможности Gateway API.
GitHub: nginx-gateway-fabric
👉 DevOps Portal
Одна простая привычка, которая делает Dockerfile гораздо проще в поддержке: это алфавитная сортировка многострочных списков пакетов.
Звучит мелочью, но это сильно влияет на читаемость и долгосрочную поддержку
Когда вы ставите пакеты внутри многострочного блока apt-get install или apk add, легко случайно добавить дубликаты или пропустить что-то, затерявшееся в середине списка.
Алфавитный порядок полностью убирает эту проблему: список можно быстро просканировать, моментально найти дубликаты и держать всё единообразным в разных окружениях.
Это также уменьшает «шумные» диффы в код-ревью
Когда пакеты отсортированы, добавление или удаление одного пункта даёт чистое и предсказуемое изменение.
Без сортировки маленькое обновление часто превращается в большой дифф, усложняя ревью больше, чем нужно.
Этот приём помогает и при росте команды.
Когда Dockerfile трогают несколько человек, никто не будет по-разному переставлять пакеты или использовать несогласованное форматирование.
Структура остаётся стабильной, и поддержка со временем становится проще.
Мелкое улучшение, но на сотнях билдов оно экономит массу нервов
👉 DevOps Portal
Быстрый совет по командам Linux
Скорее всего, вы не знали, но команда find позволяет быстро найти все исполняемые файлы в каталоге:
find . -type f -executable
🗓 Как быстро сохранить и восстановить ресурсы в Kubernetes
Иногда нужно забэкапить пачку однотипных ресурсов и потом без боли восстановить.
Делимся двумя проверенными способами.
1️⃣ kubectl-neat + yq
Очищаем YAML от лишних метаданных и превращаем массив в отдельные документы:
kubectl get <resource> -n <namespace> -o yaml \
| kubectl-neat \
| yq eval '.items[] | split_doc' - > resources.yaml
kubectl apply -f resources.yaml
kubedump dump <namespace> --resources <resource> --project <project-name>
kubedump restore --project <project-name>
Многим организациям сложно управлять несколькими Kubernetes-кластерами
Например,
У вас могут быть отдельные кластеры для dev, stage и prod.
Если вы хотите задеплоить что-то вроде стека Prometheus в каждый кластер, вам обычно приходится переключать контексты kubeconfig и накатывать всё по одному.
Вместо этого вы можете использовать Clusternet (открытый проект CNCF) чтобы управлять всеми Kubernetes-кластерами из одного хост-кластера.
Clusternet умеет работать с:
- обычными Kubernetes-кластерами
- managed-кластерами
- on-prem кластерами
- edge-кластерами
В хост-кластере вы поднимаете hub и регистрируете кластеры, которыми хотите управлять, как дочерние.
После регистрации вы можете использовать API-сервер хост-кластера, чтобы деплоить приложения и выполнять операции во всех этих кластерах.
GitHub: clusternet
👉 DevOps Portal
Когда вы собираете контейнерные образы, которые должны запускаться на разном железе, одного тега недостаточно.
Нужно понимать, действительно ли образ поддерживает несколько архитектур, и здесь помогает docker manifest. Команда docker manifest позволяет инспектировать и управлять мультиархитектурными образами.
С её помощью можно точно увидеть, под какие платформы собран образ, например, AMD64 для облачных серверов и ARM64 для edge-устройств, всё это под одним тегом. Это простой способ убедиться, что образ, который вы тянете, будет стабильно работать в разных окружениях.
Это особенно важно для гибридных деплоев. Например, ваш бэкенд крутится в облаке на AMD64, а edge-шлюзы или IoT-устройства работают на ARM.
Проверяя манифест, вы гарантируете, что одна и та же версия контейнера будет корректно работать везде, без необходимости вручную собирать и тегировать отдельные образы.
Для команд, которые доставляют приложения на разнородное железо, использование docker manifest – простой способ избежать ситуации, когда работает на одной машине, но не работает на другой.
👉 DevOps Portal
Зарплата 207.000р у Middle-разработчика в Яндекс
«В день уходит несколько часов на созвоны, в остальное время закрываю задачки из спринта, редко перерабатываю. У компании топовый офис, но с коллективом как-то не заладилось. Радуюсь классному ДМС и стабильной зарплате» - middle разработчик из Яндекса.
Бигтех по-русски - канал с реальными зарплатами и историями IT-специалистов российского БигТеха. Там уже опубликованы рассказы программистов Альфа-банка, Сбера и Тинькофф 🤯
Читайте: @bigtech_russia
⚡️ На Stepik вышел курс по Linux
Ребята сделали крутейший курс по Linux, где понятным языком, шаг за шагом, на реальных примерах и с наглядными схемами обучают работе с этой ОС
Внутри 20+ модулей: от установки Linux и работы с файлами до сетей, прав, дисков, процессов, автоматизации на Bash и многого другого. Всё сразу закрепляется на практике (200+ заданий с автопроверкой).
После прохождения вы получите сертификат, который можно добавить в резюме.
Есть бесплатные демо-уроки для ознакомления. В ближайшие 48ч курс доступен со скидкой 25% по промокоду «DEVOPS25»: открыть курс на Stepik
DevOps vs SRE vs Platform Engineering
DevOps Engineers обеспечивают эффективную и надёжную доставку ПО, сокращая разрыв между командами разработки и операций.
Site Reliability Engineers (SRE) концентрируются на оптимизации надёжности, производительности и эффективности программных систем.
Platform Engineers проектируют, создают и поддерживают инфраструктуру и инструменты для поддержки разработки, деплоя и эксплуатации ПО.
Вот простенькая картинка, чтобы тебе было легче понять.
👉 DevOps Portal