DevOps Portal | Linux
13.1K subscribers
1.01K photos
133 videos
10 files
1.05K links
Присоединяйтесь к нашему каналу и погрузитесь в мир DevOps

Сотрудничество, реклама: @devmangx

Менеджер: @Spiral_Yuri

РКН: https://clck.ru/3P8kFH
Download Telegram
Linux 101: Практика по управлению хранилищами

Отработайте основы управления хранилищами в Linux на серии практических заданий – от монтирования существующих файловых систем до разметки дисков и автоматизации их подготовки:

- Смонтировать диск с уже существующими данными и прочитать его содержимое
https://labs.iximiuz.com/challenges/storage-simple-mount

- Создать файловую систему ext4 на неформатированном диске
https://labs.iximiuz.com/challenges/storage-simple-format

- Создать таблицу разделов GUID Partition Table (GPT) на пустом диске
https://labs.iximiuz.com/challenges/storage-simple-partition-table

- Разбить диск на несколько разделов и отформатировать их в ext4 и Btrfs
https://labs.iximiuz.com/challenges/storage-partition-drive

- Смонтировать существующую директорию по новому пути с помощью bind mount
https://labs.iximiuz.com/challenges/storage-bind-mount

- Настроить постоянное монтирование файловой системы, чтобы оно сохранялось после перезагрузки
https://labs.iximiuz.com/challenges/storage-persistent-mount

- Автоматизировать подготовку диска с помощью shell-скрипта
https://labs.iximiuz.com/challenges/storage-provision-drive-script


👉 DevOps Portal
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍125🔥3
Model Server — одно из ключевых понятий в MLOps.

Если говорить проще:

* Nginx-сервер обслуживает веб-приложения
* Model Server обрабатывает inference-запросы к ML-модели

Работает это следующим образом.

Model Server загружает артефакты обученной модели в оперативную память или память GPU, чтобы не загружать модель заново при каждом запросе.

Он предоставляет inference-эндпоинты по HTTP и gRPC.

Также он экспортирует метрики и трейсы – например, через Prometheus и OpenTelemetry (OTEL).

Среди часто используемых Model Server – MLServer, TensorFlow Serving, NVIDIA Triton Inference Server и другие.

Теперь важный момент.

Model Server сам по себе не умеет горизонтально масштабироваться.

Для масштабирования и обеспечения высокой доступности поверх него используется оркестрация Kubernetes.

Когда речь идёт о model serving, KServe – один из ключевых serving-фреймворков для Kubernetes.

Model Server отвечает за обработку inference-запросов, а KServe выступает в роли слоя оркестрации.

👉 DevOps Portal
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3👀1
Как работают мультиплатформенные container images

Когда вы делаете docker pull nginx:1.29 на AMD64-сервере и на ARM64-ноутбуке, Docker подтягивает совершенно разные сборки образа. Но как это возможно, если в обоих случаях используется одно и то же имя образа?

Чтобы представить несколько сборок через одну ссылку на образ (например, nginx:1.29), container registry использует специальный файл — Image Index, в котором перечислены манифесты для отдельных платформенных сборок. Поэтому при pull появляется дополнительный шаг:

- Сначала запрашивается index по адресу https://registry.example[.]com/v2/REPO/manifests/TAG

- Затем в index находится манифест образа для нужной платформы, после чего он запрашивается по digest: https://registry.example[.]com/v2/REPO/blobs/DIGEST

- И уже после этого по digest’ам из манифеста подтягиваются config образа и blobs слоёв файловой системы

Для single-platform image ссылка https://registry.example[.]com/v2/REPO/manifests/TAG указывает сразу на его manifest. То есть здесь на один уровень косвенности меньше.

Подробнее о внутреннем устройстве container images:
https://labs.iximiuz.com/tutorials/container-image-from-scratch

👉 DevOps Portal
Please open Telegram to view this post
VIEW IN TELEGRAM
3🔥2🌚2🌭1👀1
Многие ли знают, что Helm хранит информацию о релизах в Kubernetes Secrets?

Когда вы запускаете helm install или helm upgrade, Helm сохраняет данные о релизе в K8s Secrets в том же namespace.

В Secret хранится, например:
- имя релиза;
- статус деплоя;
- применённые манифесты;
- использованные values;
- информация о chart и другие данные.

Данные в Secret сжимаются с помощью gzip, а затем кодируются в base64.

Имя Secret создаётся по следующему шаблону:
sh.helm.release.v1.[release-name].v[revision]

Когда вы запускаете helm rollback, Helm читает эти Secrets, чтобы восстановить приложение до предыдущей версии.
Helm не нужна внешняя база данных.

Вся информация хранится прямо в вашем кластере в виде нативных Kubernetes Secrets.

Примечание: также можно настроить внешнюю SQL-базу данных для хранения релизов, но эта возможность пока находится в beta

👉 DevOps Portal
Please open Telegram to view this post
VIEW IN TELEGRAM
6🔥3
Hubble — полностью распределённая платформа для observability сетевого взаимодействия и безопасности cloud-native workloads.

Она построена поверх Cilium и eBPF и позволяет глубоко анализировать взаимодействие сервисов, их поведение и работу сетевой инфраструктуры.

https://github.com/cilium/hubble

👉 DevOps Portal
Please open Telegram to view this post
VIEW IN TELEGRAM
5👍3🔥3🤯1
Паттерн проектирования sidecar – удобный способ вынести прокси, агенты доставки логов, агенты для provisioning секретов и другие вспомогательные процессы за пределы основного контейнера приложения.

Начиная с Kubernetes 1.28, поддержка sidecar-контейнеров стала нативной – и реализована довольно элегантно: никакого нового типа контейнеров, просто initContainer с restartPolicy: Always.

Попрактиковаться в работе с нативными sidecar-контейнерами Kubernetes можно здесь:
https://labs.iximiuz.com/tutorials/kubernetes-native-sidecars

👉 DevOps Portal
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6🔥21
С Kubernetes-сетями довольно быстро становится сложно, как только выходишь за рамки базовых Service.

В этом туториале Ayobami разбирает, как работают сеть между Pod’ами, ClusterIP, Ingress-контроллеры, NetworkPolicy и CNI-плагины.

Также сравниваются разные CNI и показывается, как Cilium использует eBPF для сетевого взаимодействия, observability и возможностей service mesh.

https://freecodecamp.org/news/kubernetes-networking-explained-from-clusterip-to-cilium-service-mesh/

👉 DevOps Portal
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
SSH-туннели, или как стать магом сетевой связности

10 практических челленджей, чтобы прокачать port forwarding через SSH-туннели — от простого локального/удалённого проброса портов до продвинутых сценариев с bastion- и jump-хостами:

- Получить доступ к внутреннему debug-порту через SSH-туннель
https://labs.iximiuz.com/challenges/ssh-local-port-forwarding
- Достучаться до приватного сервиса в VPC через SSH-бастион
https://labs.iximiuz.com/challenges/ssh-local-port-forwarding-bastion
- Получить доступ к удалённому loopback-порту через SSH jump host
https://labs.iximiuz.com/challenges/ssh-local-port-forwarding-jump-host
- Ограничить доступ к SSH-бастиону в зависимости от роли пользователя
https://labs.iximiuz.com/challenges/ssh-local-port-forwarding-bastion-hardened
- Получить доступ к внутренним серверам через SSH-бастион без shell-доступа
https://labs.iximiuz.com/challenges/ssh-jump-host-internal-servers
- Получить доступ ко всей VPC через SSH SOCKS-прокси
https://labs.iximiuz.com/challenges/ssh-socks-proxy
- Пробросить локальный сервис наружу через обратный SSH-туннель
https://labs.iximiuz.com/challenges/ssh-remote-port-forwarding
- Пробросить устройство из домашней сети через обратный SSH-туннель
https://labs.iximiuz.com/challenges/ssh-remote-port-forwarding-home-network
- Пробросить всю домашнюю сеть через обратный SSH SOCKS-прокси
https://labs.iximiuz.com/challenges/ssh-reverse-socks-proxy
- Заменить root-доступ по паролю на админский логин по SSH-ключу
https://labs.iximiuz.com/challenges/ssh-harden-new-server


Приятного хакинга!

👉 DevOps Portal
Please open Telegram to view this post
VIEW IN TELEGRAM
7👍2🔥1
Kubernetes HPA не ограничивается только CPU и памятью

Ворклоады можно скейлить и по кастомным метрикам, например

- количество запросов в секунду (RPS)
- длина очереди
- количество активных соединений
- latency приложения

Для этого можно использовать связку HPA + Prometheus + Prometheus Adapter.

Prometheus Adapter прокидывает метрики через Kubernetes Custom Metrics API, после чего HPA использует их для автоскейлинга.

Но выбрать метрику — это только часть настройки автоскейлинга. Нужно ещё контролировать, как HPA будет скейлить ворклоад при изменении значений метрики.

В этой рассылке разобрали, как работает HPA tolerance.

Читать здесь:
https://newsletter.devopscube.com/p/kubernetes-hpa-tolerance-levels

👉 DevOps Portal
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7
Большинство инженеров каждый день работают с Kubernetes, но не могут объяснить, что происходит после запуска kubectl apply.

Разберём по шагам.

Когда вы применяете манифест, на самом деле происходит следующее:
- kubectl отправляет YAML в kube-apiserver
- API Server валидирует манифест, аутентифицирует запрос и записывает желаемое состояние в etcd
- Scheduler отслеживает Pod'ы, которые ещё не назначены ни на одну ноду. Он оценивает доступные ноды, выбирает наиболее подходящую и привязывает к ней Pod
- kubelet на выбранной ноде видит новое назначение Pod'а. Он скачивает образ, запускает контейнер и отправляет статус обратно
- kube-proxy следит за изменениями Service'ов и Endpoint'ов. Он обновляет правила iptables или IPVS, чтобы трафик мог доходить до вашего Pod'а

А теперь самое интересное.
- Вся система работает по событийной модели — event-driven. Компоненты не опрашивают друг друга
- Каждый компонент следит за изменениями через API Server и реагирует только тогда, когда это необходимо

Именно поэтому Kubernetes называют системой desired state — «желаемого состояния».

Вы декларативно описываете, что хотите получить. А Kubernetes сам приводит систему к этому состоянию.

В материале подробно разбирается архитектура Kubernetes и показывается, что на самом деле происходит под капотом после запуска kubectl apply.

Читать здесь:
https://devopscube.com/kubernetes-architecture-explained/

👉 DevOps Portal
Please open Telegram to view this post
VIEW IN TELEGRAM
9
MinIO прекратил активную разработку: патчи безопасности рассматриваются по индивидуальным запросам, обновления не тестируются. Для компаний с петабайтами данных в MinIO встает вопрос о миграции.
Главная сложность миграции — не выбор нового хранилища, а перенос без остановки бизнес-процессов. Большинство open-source инструментов требуют простоя: приложения нужно останавливать на время переноса данных, а на многотерабайтных объемах это может растянуться на часы или дни простоя сервиса.
На вебинаре разберем, как перенести данные из устаревшего хранилища (на примере MinIO) в другое S3-совместимое — без остановки сервиса.

📅 3 сентября, 16:00 мск

Регистрация
👍51
KubeTable — это local-first десктопное приложение для работы с базами данных внутри Kubernetes-кластеров.

Оно находит базы через ваш kubeconfig, само поднимает port-forward и позволяет напрямую выполнять запросы к PostgreSQL, MySQL, Redis или MongoDB.

https://github.com/kubetable/kubetable

👉 DevOps Portal
Please open Telegram to view this post
VIEW IN TELEGRAM
4🔥3
DevOps-инструмент недели: KubeAI

Запуск AI-моделей в Kubernetes часто означает необходимость управлять vLLM, автоскейлингом, Knative и кучей YAML-файлов, которые со временем становится сложно поддерживать.

KubeAI заменяет весь этот стек одним оператором.

KubeAI — это open-source Kubernetes-оператор, который деплоит и масштабирует AI-модели через простую конфигурацию на базе CRD.

Что он умеет 👇

* Деплоит и масштабирует AI-модели через простую CRD-конфигурацию.
* Направляет связанные запросы на одну и ту же реплику, чтобы vLLM переиспользовал закэшированный контекст вместо того, чтобы пересобирать его каждый раз.
* Деплоит модели из встроенного каталога, уже настроенного под распространённые типы GPU, поэтому не приходится вручную подбирать большую часть флагов vLLM.
* Автоматически скачивает и монтирует модели, поддерживая кеширование через AWS EFS и GCP Filestore.

https://github.com/kubeai-project/kubeai

👉 DevOps Portal
Please open Telegram to view this post
VIEW IN TELEGRAM
2
На Stepik вышла программа «DevOps с нуля: от Linux до Kubernetes»

Это комплексная программа из 5 практических курсов по ключевым технологиям DevOps: Linux, Git, Docker, GitLab CI/CD, Kubernetes

Вы последовательно пройдёте путь от работы в Linux и управления кодом через Git до контейнеризации приложений, настройки CI/CD-пайплайнов и развёртывания в Kubernetes.

Что вы изучите:
• работу с Linux и командной строкой
• Git и контроль версий в реальных проектах
• создание Docker-образов и запуск контейнеров
• автоматизацию сборки, тестирования и деплоя в GitLab CI/CD
• развёртывание и управление приложениями в Kubernetes
• сети, хранилища, конфигурации и секреты
• диагностику инфраструктуры и автоматизацию рутинных задач
... и многое другое

Все знания закрепляются на практике с помощью заданий с автопроверкой.

Материал подаётся последовательно и понятным языком: с примерами, схемами и демонстрациями. Во время обучения можно задавать вопросы по урокам и заданиям, получать обратную связь и помощь при возникновении сложностей.

После прохождения программы вы получите сертификат, который можно добавить в резюме.

Скидка 20% на 48 часов: по промокоду PORTAL20 стоимость всей программы составит 10 392 ₽.

Открыть программу на Stepik
2
Ballast — это Kubernetes-оператор, который анализирует историю реального потребления ресурсов и сам корректирует CPU- и memory requests – либо на этапе admission, либо прямо у уже запущенных Pod’ов.

https://github.com/Tight-Line/ballast

👉 DevOps Portal
Please open Telegram to view this post
VIEW IN TELEGRAM
2🔥1👀1
Как купить Gemini Pro на 1.5 года за 4.99$??

Топовая нейронка для создания видео, картинок, написания кода и работы. Сейчас цена 4.99$ вместо 360$ на 1.5 года (схема рабочая, всё легально оформляется)

Nano Banana 2 PRO (картинки для ТТ и YT)
Видео генерация (видео, нарезки, мувики)
Gemini AI Pro (для кодеров)
Доступ к AntiGravity
5 ТБ облака в Google One
Deep Research (для курсачей за 5 минут)

Продаётся в Тайнике, схему скоро прикроют — у кого куплено, всё останется работать. У шопа 3000+ покупок и 300+ отзывов, кстати бекают деньги и делают замены.


Тайник Store
Тайник Store
Тайник Store
Please open Telegram to view this post
VIEW IN TELEGRAM
12😁2🤔2🔥1🥱1
Как собирать компактные образы контейнеров

Подробный разбор того, из-за чего production-образы обычно раздуваются и как этого избежать с помощью multi-stage builds и грамотного выбора базовых образов.

С практическими примерами для Node.js, Go, Rust, Java и PHP:
https://labs.iximiuz.com/tutorials/docker-multi-stage-builds

👉 DevOps Portal
Please open Telegram to view this post
VIEW IN TELEGRAM
5👍1
Forwarded from Mentorix
📊 Grafana: дашборды, PromQL и алерты — новый курс на Mentorix

Прод лежит, а вы узнаёте об этом от пользователей? Курс о наблюдаемости руками: соберёте дашборд, по которому видно состояние сервиса — запросы, ошибки, время ответа.

⚙️ Внутри: модель данных Prometheus, четыре типа метрик, PromQL, панели и переменные дашбордов, алерты, которые звонят по делу
🧩 Задачи с автопроверкой на каждом шаге
💻 Финальный проект — дашборд дежурного и правило алерта к нему
🎓 Сертификат · доступ навсегда
▶️ Первые уроки открыты — начать можно бесплатно

🏷 −50% по промокоду START50
7 990 ₽3 995 ₽

Забрать курс со скидкой

━━━━━━━━━━━━━━

Курс практический — хватит базового Linux. Подтянуть базу можно бесплатно:

📘 Основы DevOps
☸️ Kubernetes за вечер: первый кластер
🖥 Основы командной строки Linux
Сети для разработчиков: TCP/IP, HTTP, DNS

📚 Все бесплатные курсы Mentorix
4🌭1
DevOps-инструмент недели: RAGFlow

Собрать RAG-пайплайн с нуля - непростая задача.

Нужно самостоятельно реализовать:
• Парсинг документов
• Чанкинг и создание эмбеддингов
• Хранение в векторной базе
• Логику поиска и re-ranking

При этом большинство документов - это далеко не чистый текст: в них есть таблицы, изображения, отсканированные страницы и сложное форматирование.

Для базового RAG-пайплайна корректно обрабатывать всё это может быть сложно.

Здесь и помогает RAGFlow.

RAGFlow — open-source RAG-движок, который умеет работать со сложными и плохо структурированными документами, отвечать на вопросы по их содержимому и показывать, из каких источников были взяты данные.

Вот что он умеет
• Парсит сложные документы: PDF с таблицами, сканы, Word, Excel, изображения и веб-страницы
• Использует шаблонный чанкинг, позволяя контролировать, как именно документы разбиваются на части
• Показывает, какие именно чанки использовались для каждого ответа, чтобы можно было отследить источники
• Синхронизирует данные из S3, Notion, Confluence, Google Drive и Discord
• Поддерживает агентные workflows и MCP
• Работает с любыми LLM и моделями эмбеддингов

https://github.com/infiniflow/ragflow.git

👉 DevOps Portal
Please open Telegram to view this post
VIEW IN TELEGRAM
4👍2
Kubernetes In-Place Pod Resize

Раньше в Kubernetes нельзя было изменить CPU или memory для уже запущенного Pod без его перезапуска.

Но функция In-Place Pod Resize решает эту проблему.

Вот подробный материал, в котором разобрали:

* Что такое In-Place Pod Resize
* Как это работает под капотом
* Зачем нужен VPA для изменения ресурсов Pod без перезапуска
* Что происходит, если на ноде не хватает ресурсов
* Когда стоит использовать Resize Policy
* С какими проблемами можно столкнуться при уменьшении ресурсов и многое другое

https://devopscube.com/vpa-in-place-pod-resize

👉 DevOps Portal
Please open Telegram to view this post
VIEW IN TELEGRAM
2