13139
Присоединяйтесь к нашему каналу и погрузитесь в мир DevOps Сотрудничество, реклама: @devmangx Менеджер: @Spiral_Yuri РКН: https://clck.ru/3P8kFH
Можно ли защитить непреднамеренно открытый порт сервера с помощью файрвола?
Очевидно, что такого вообще не должно было произойти, но это уже случилось. Теперь у вас есть проблема, и при этом нет возможности перезапустить сервис с корректной конфигурацией.
Удачи: https://labs.iximiuz.com/challenges/linux-protect-ports
👉 DevOps Portal
Создание тестовых сред: история замаскированной базы
Вебинар | 🗓️ 12.02.2026 в 11:00 МСК
По данным отчёта DBIR Verizon, до 95% инцидентов связаны с
ошибками в работе с данными, а каждый третий кейс — с передачей данных между командами и подрядчиками.
❗В прямом эфире разберём реальную историю одной тестовой базы: от срочной задачи до последствий для DevOps, QA, аналитики и бизнеса.
На вебинаре обсудим:
✔️ почему «замаскировали по правилам» ≠ данные остались рабочими
✔️ что именно ломается в аналитике, скоринге и ML при ошибочном маскировании
✔️ какие ошибки в non-prod выглядят безобидно, но позже обходятся неделями переделок
✔️ как выстроить процесс маскирования, при котором ИБ спокойна, а разработка и аналитика могут работать без стопов
✔️ как избежать пересборки баз, ручных согласований и постоянных конфликтов между командами
👉 Регистрируйтесь на вебинар
#реклама
О рекламодателе
Как превратить init-container в sidecar-container?
В Kubernetes 1.28 появилась нативная поддержка sidecar-контейнеров через механизм init-containers.
Это стало возможным благодаря новому полю restartPolicy, которое устанавливается в значение "Always".
Фича основана на концепции "персистентного init-контейнера". Init-container стартует первым, а за счёт restartPolicy получает поведение sidecar-контейнера.
Такой контейнер работает на протяжении всего жизненного цикла Pod’а.
Проще говоря, чтобы превратить init-container в sidecar, достаточно добавить в его спецификацию атрибут:
restartPolicy: Always
livenessProbe, readinessProbe и startupProbe. Также можно добавить lifecycle-хуки PostStart и PreStop.
Перестаньте вручную опрашивать Pod’ы на предмет их готовности
Используйте команду kubectl wait в своих CI/CD пайплайнах или скриптах. В связке с нативными sidecar-контейнерами образца 2026 года это поможет гарантировать, что ваши logging/security агенты уже поднялись до старта основного приложения
👉 DevOps Portal
etcd — это высокодоступное и строго согласованное key-value хранилище, которое обеспечивает работу Kubernetes, храня в нём всё состояние кластера.
Следующий урок из серии «Kubernetes the Very Hard Way», посвящённый etcd, доступен на iximiuz Labs:
https://labs.iximiuz.com/courses/kubernetes-the-very-hard-way-0cbfd997/control-plane/etcd
👉 DevOps Portal
Развертывание «Штурвала 2.12.1» под таймер ⏰
Разработчики из «Лаборатории Числитель» выкатили новый релиз, в котором исправления затронули процедуры обновления кластеров, работу графического интерфейса, создание и удаление кластеров на разных провайдерах.
5 февраля в 11:00 на вебинаре ребята пройдут весь процесс инсталляции в графическом интерфейсе на oVirt (zVirt, ROSA Virtualization, РЕД Виртуализация) в режиме реального времени.
Для кого вебинар: DevOps-инженеров и архитекторов, разработчиков, специалистов служб эксплуатации.
📌 Зарегистрироваться
Kubelet – это "руки и ноги" Kubernetes: компонент, который работает на каждом узле и приводит желаемое состояние к фактическому
Следующий урок курса «Kubernetes the Very Hard Way» даёт углублённое представление о kubelet
Доступно на iximiuz Labs: https://labs.iximiuz.com/courses/kubernetes-the-very-hard-way-0cbfd997/worker-node/kubelet
👉 DevOps Portal
Dockadvisor - быстрый, легковесный линтер Dockerfile написанный на Go, который помогает найти различные общие проблемы и анти-паттерны.
В его составе порядка 60 правил, все достаточно стандартно для подобных инструментов (Dockle*, Hadolint, KICS, Checkov, Semgrep). Из приятного есть наличие красивого web-интерфейса с подсветкой и при этом можно использовать как и чисто go библиотеку.
GitHub: dockadvisor
👉 DevOps Portal
Быстрый совет по Linux
Вы можете попросить du пропускать определённые директории, указав их имена в текстовом файле, тогда они не будут попадать в отчёт по использованию диска. Это позволяет держать вывод чистым и не учитывать то, что вас не интересует.
du -h -X excludes.txt
excludes.txt содержит имена или шаблоны путей, а не жёстко заданные расположения. du игнорирует всё, что совпадает с ними, во время сканирования. Также можно использовать wildcard-шаблоны, например *.log, чтобы пропускать все .log-файлы, найденные при обходе.exclude.txt:Downloads
.local
.config
.var
.ssh
*.png
.gnupg
du игнорирует всё, что совпадает с этими записями, благодаря чему вывод по использованию диска остаётся сфокусированным и читабельным.
containerd — это контейнерный рантайм по умолчанию в Kubernetes. Однако на практике мы редко взаимодействуем с containerd напрямую и зачастую не до конца понимаем, из каких компонентов состоит система, отвечающая за эффективное управление контейнерами.
Вот курс «Kubernetes the Very Hard Way» на платформе iximiuz Labs, где подробно разбирается, как containerd позволяет Kubernetes управлять тысячами и тысячами контейнеров:
https://labs.iximiuz.com/courses/kubernetes-the-very-hard-way-0cbfd997
👉 DevOps Portal
Изучаем Kubernetes через практические челленджи
В вашем кластере есть Pod с ошибкой. Он пытается запуститься, но не может пройти инициализацию. Судя по всему, недавно в его спецификацию добавили новый контейнер, и с этого момента Pod перестал нормально работать. Сможете починить?
https://labs.iximiuz.com/challenges/kubernetes-pod-with-faulty-init-sequence
👉 DevOps Portal
Откопал живой интерактивный тренажёр для прокачки практических навыков по DevOps, облачным техам и не только – Killercoda.
Это браузерная платформа с реальными интерактивными средами, где ты можешь запускать:
• Linux/Ubuntu терминал
• Kubernetes‑кластеры (включая контрольную плоскость)
• инструменты типа Docker, bash, Git и др.
• готовые учебные сценарии и playground‑среды прямо в браузере без локальной настройки окружения
Платформа подходит как для новичков (практика базовых команд), так и для прокачки в Kubernetes/DevOps, подготовки к CKA/CKAD/CKS и другим кейсам – можно запускать сценарии, выполнять задачи и экспериментировать с реальными системами
Плюс можно создавать и делиться своими сценариями с сообществом .
Ссылка: killercoda.com
👉 DevOps Portal
Бывали ли у вас ситуации, когда использовать Kubernetes — это уже перебор, но деплоить на пачку VM с самописными скриптами или Ansible-плейбуками тоже не особо хочется?
Docker Swarm может быть жив или мёртв — вопрос спорный, но сама ниша никуда не делась. И такие проекты, как Kamal (от 37signals) и Uncloud (от Паши Свидерского), пытаются её закрыть.
Если вы ещё не слышали про последний, Uncloud — это лёгкий (по сравнению с Kubernetes) инструмент для деплоя и управления контейнеризованными приложениями в сети Docker-хостов.
Антон Овчинников недавно опубликовал пошаговый гайд на iximiuz Labs, в котором показано, как развернуть кластер Uncloud на нескольких VM. Рекомендуем посмотреть:
https://labs.iximiuz.com/tutorials/uncloud-create-cluster-ebebf72b
Традиционно, все команды из туториала можно прогнать прямо в приложенной песочнице ✌️
👉 DevOps Portal
Что на самом деле происходит, когда вы запускаете контейнер самой типичной командой docker run nginx?
На первый взгляд кажется, что Nginx становится вашим foreground-процессом в терминале – он перехватывает stdio-потоки и реагирует на сигналы, когда вы нажимаете Ctrl+C или меняете размер окна терминала.
Но в реальности терминалом управляет процесс Docker-клиента, а сам Nginx работает в фоне или вообще на удалённой машине. При этом между docker CLI, dockerd (основным Docker-демоном) и containerd (низкоуровневым container runtime) происходит довольно сложная проксировка данных и сигналов — из-за чего всё ощущается как простой локальный запуск.
Почему это важно? Понимание того, как работает docker run под капотом — ключ к пониманию Kubernetes и других продакшн-рантаймов. В продакшене контейнеризованные приложения обычно работают в фоне, но Kubernetes и похожие системы позволяют стримить логи приложений и даже переподключаться к процессам в контейнерах, используя те же самые трюки, что и Docker.
Подробнее о магии за командой docker run — в подробном разборе (с кучей практических упражнений):
https://labs.iximiuz.com/tutorials/docker-run-vs-attach-vs-exec
👉 DevOps Portal
🚨 Как защитить IT-инфраструктуру от сбоев и простоев?
NetPing — опытный производитель решений для мониторинга серверных комнат и управления электропитанием. С 2005 года мы помогаем снижать риски и обеспечивать стабильную работу IT-оборудования.
🌡 Что вы получаете с NetPing?
• Контроль за температурой, влажностью, протечками и задымлением.
• Мониторинг напряжения, тока и мощности.
• Управление доступом: движение, двери и сигнализация.
• Оповещения о проблемах в реальном времени.
💡 Почему выбирают нас?
• Надёжные «коробочные» решения, которые работают у тысяч пользователей.
• Интеграция с оборудованием других брендов.
• Полный контроль качества: от разработки до производства.
Доверьтесь опыту инженеров NetPing — выбирайте надежные решения!
#мониторингсерверных #сетевоеоборудование #контрольэлектропитания
Реклама.
О рекламодателе.
Как работает NAT?
Несколько устройств внутри сети используют приватные IP-адреса.
Маршрутизатор применяет NAT, чтобы сопоставить их с одним публичным IP-адресом в интернете.
Исходящий трафик → NAT подменяет приватный IP на публичный IP
Входящий ответ → NAT подменяет публичный IP обратно на приватный IP
👉 DevOps Portal
Kide — это платформа наблюдаемости (observability), которая в реальном времени принимает и индексирует логи и метрики, позволяя вам искать, анализировать данные кластеров и приложений и настраивать алерты без ожидания.
GitHub: kide
👉 DevOps Portal
Почему Zsh такой крутой 😍
В стандартных шеллах вроде bash, чтобы поработать со строками, обычно приходится пайпить переменные в sed, basename и прочие утилиты. В Zsh эта логика встроена прямо в синтаксис расширения переменных.
Да, это ломает переносимость скриптов из-за несовместимости с POSIX. Но для интерактивной работы и личных конфигов это на порядок быстрее и удобнее.
Самый полезный модификатор? :r (root) — отрезает расширение файла.
Синтаксис такой: ${file:r}
Допустим, нужно передать имя файла (game.cpp) и чтобы итоговый бинарник назывался так же (game), не прописывая имя дважды.
Используем ${1:r}, чтобы автоматически убрать расширение из аргумента. Пример функции в Zsh:
function grun() {
# $1 это "game.cpp"
# ${1:r} станет "game"
g++ -Wall -std=c++17 "$1" -o "${1:r}" && ./"${1:r}"
}grun main.cpp скомпилирует и сразу запустит main – одним махом.:e — получить только расширение:a — получить абсолютный путь:h — получить имя родительской директории:t — получить basename
Тренировка для линуксоидов ⚔️👁⚔️
Всего 34 уровня. Ваша задача на каждом из них — найти ключ к следующему.
Примеры уровней:
🟢 Дан файл, внутри которого лежит hexdump несколько раз сжатого разными алгоритмами контента. Вам нужно, соответственно, реверснуть хекс и несколько раз правильными утилитами (gzip, bzip2, tar) разжать файл.
🟢 На локалхосте несколько процессов слушают порты в диапазоне от 31000 до 32000. Вам нужно найти правильный порт и отправить на него ключ от текущего уровня, используя SSL/TLS-шифрование.
Я залип на день в этой штуке. Всем советую ☺️
https://overthewire.org/wargames/bandit/
P.S. Ссылка не открывается без VPN, хотя к самим тачкам-уровням по SSH без него подключиться можно.
Больше полезных материалов для девопсов/линуксоидов в канале @davydovpage
А вы знали, что можно запускать поды на ноде Kubernetes без control plane?
Или что с kubelet можно общаться напрямую через его API?
Зацените следующий урок курса «Kubernetes the Very Hard Way». В нём подробно разбирается, как работает kubelet изнутри:
https://labs.iximiuz.com/courses/kubernetes-the-very-hard-way-0cbfd997/worker-node/kubelet
👉 DevOps Portal
Простой YAML для деплоя EKS-кластера
В этом туториале по Kubernetes вы научитесь за несколько минут создавать AWS EKS-кластер с помощью YAML-конфига eksctl.
Также будут рассмотрены ключевые концепции eksctl.
Так как же работает eksctl?
Когда вы применяете YAML-файл eksctl или выполняете команду создания кластера, под капотом деплоятся шаблоны CloudFormation.
По сути, именно шаблоны CloudFormation и разворачивают кластер.
eksctl – это всего лишь обёртка над CloudFormation.
Читайте подробнее:
https://devopscube.com/create-aws-eks-cluster-eksctl/
👉 DevOps Portal
⚡ Повысить производительность СУБД или сократить расходы на IT-инфраструктуру?
Не нужно выбирать. Selectel расскажет и покажет, как найти баланс на примере собственного сервиса.
Подключайтесь к бесплатному вебинару для тех, кто работает с базами данных
🗓 5 февраля, 12:00
📍 Онлайн
Вы узнаете:
- как работают базы данных на выделенном облачном сервере,
- какие особенности архитектуры позволяют повысить производительность сервиса в 10 раз и получить до 1,5 млн IOPS и 7000 Мб/c в облаке,
- как клиентам Selectel удается экономить до 47% на IT-инфраструктуре.
Регистрируйтесь по ссылке: https://slc.tl/60r6y
👉 Чтобы не пропустить новые мероприятия, воркшопы и бесплатные курсы Selectel, подписывайтесь на @selectel_events
Реклама. АО "Селектел". erid:2W5zFJvxwXN
Грэм Хелтон только что опубликовал раскрытие уязвимости Kubernetes, которая позволяет выполнять произвольные команды в любом pod’е в кластере, используя распространённое «read-only» RBAC-разрешение. И этой уязвимости не будет присвоен CVE, а значит, Kubernetes не получит фикс 🤷♂️🤷♂️🤷♂️
https://grahamhelton.com/blog/nodes-proxy-rce
Но есть и хорошая новость. Грэм подготовил короткий вспомогательный пост, целиком посвящённый воспроизведению уязвимости, и он оформлен как туториал в iximiuz Labs:
https://labs.iximiuz.com/tutorials/nodes-proxy-rce-c9e436a9
- Скрипт для анализа кластера на наличие таких прав у SA
👉 DevOps Portal
👩💻 Всем программистам посвящается!
Вот 14 авторских обучающих IT каналов по самым востребованным областям программирования:
Выбирай своё направление:
👩💻 Python — t.me/python_ready
🤔 InfoSec & Хакинг — t.me/hacking_ready
🖥 SQL & Базы Данных — t.me/sql_ready
🤖 Нейросети — t.me/neuro_ready
👩💻 Frontend — t.me/frontend_ready
👩💻 IT Новости — t.me/it_ready
👩💻 C/C++ — /channel/cpp_ready
👩💻 C# & Unity — t.me/csharp_ready
👩💻 Linux — t.me/linux_ready
👩💻 Java — t.me/java_ready
📖 IT Книги — t.me/books_ready
📱 JavaScript — t.me/javascript_ready
🖼️ DevOps — t.me/devops_ready
🖥 Design — t.me/design_ready
📌 Гайды, шпаргалки, задачи, ресурсы и фишки для каждого языка программирования!
NAT-based балансировщики нагрузки (LB) вроде HAProxy или Nginx обычно являются выбором по умолчанию. Но у них есть проблема: все ответы тоже проходят обратно через LB. А если запросы чаще всего короткие, то ответы могут быть в 10–100 раз «тяжелее».
Это означает больший расход пропускной способности на балансировщике и то, что самый большой трафик проходит через компонент, который меньше всего хотелось бы превращать в бутылочное горлышко.
Direct Server Return (DSR) решает эту проблему: запросы идут через LB, а ответы – напрямую, минуя его.
Сборка DSR-балансировщика на базе eBPF – отличный способ реально разобраться и в eBPF, и в том, как DSR работает на уровне L2. Посмотрите свежий практический туториал от Teodor Podobnik, где он шаг за шагом проводит вас через весь процесс:
https://labs.iximiuz.com/tutorials/xdp-dsr-layer2-lb-92b02f3e
👉 DevOps Portal
👩💻 В сеть вывалилась гигантская куча курсов и книг
Держи сотни гигабайт свежих уроков, и каждую неделю мы подкидываем ещё!
• 1612 ГБ — DevOps
• 1402 ГБ — Python
• 1300 ГБ — C, C++
• 1815 ГБ — Frontend
• 1515 ГБ — Backend
• 898 ГБ — ИБ, Хакинг
• 996 ГБ — Kotlin, Swift
• 212 ГБ — JavaScript
• 315 ГБ — Flutter
• 820 ГБ — Go, PHP
• 419 ГБ — Java, Rust
• 648 ГБ — GameDev
• 517 ГБ — Windows, Linux
• 998 ГБ — Дизайн (UX/UI)
• 617 ГБ — Нейросети (ML/RL)
• 546 ГБ — БД (SQL & NoSQL)
• 687 ГБ — Аналитика данных
• 115 ГБ — QA-тестирование
Подписывайся и не плати за то, что можно получить бесплатно
Быстрый совет по Linux
Вместо tail смотри лог-файлы в реальном времени с флагом +F:
less +F hello.txt
Shift+F, чтобы снова начать следить за файлом в реальном времени.q, чтобы полностью выйти из less.
Let’s Encrypt начал выдавать TLS-сертификаты для IP-адресов и запустил короткоживущие 6-дневные сертификаты
Теперь можно поднимать HTTPS напрямую на IPv4/IPv6 без доменного имени – удобно для homelab, тестовых стендов, временных сервисов, внутренних бэкендов и начальной настройки серверов. Сертификаты для IP выдаются только в short-lived формате и живут 160 часов (чуть больше 6 дней)
Параллельно стали доступны опциональные 6-дневные сертификаты и для доменов – как дополнительный уровень защиты: при компрометации ключа ущерб ограничен самим сроком жизни сертификата, а не отзывом.
Для получения нужен ACME-клиент с поддержкой профиля shortlived (например, свежий Certbot). Для IP валидация только через http-01 или tls-alpn-01 – dns-01 не поддерживается
@linuxos_tg
Откопал полезную базу по Linux / Unix от Tutorialspoint – простые и понятные объяснения без лишней воды
Там разбирают всё, с чем сталкиваешься в линуксе каждый день:
— как работают процессы и сигналы
— что происходит с памятью
— как устроена файловая система
— как читать и настраивать права доступа
Каждая тема с примерами команд и лаконичными пояснениями
Забирайте тут
👉 DevOps Portal