Linux 101: Практика по управлению хранилищами
Отработайте основы управления хранилищами в Linux на серии практических заданий – от монтирования существующих файловых систем до разметки дисков и автоматизации их подготовки:
👉 DevOps Portal
Отработайте основы управления хранилищами в 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
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12❤5🔥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
Если говорить проще:
* 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 выступает в роли слоя оркестрации.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3👀1
Как работают мультиплатформенные container images
Когда вы делаете
Чтобы представить несколько сборок через одну ссылку на образ (например, nginx:1.29), container registry использует специальный файл — Image Index, в котором перечислены манифесты для отдельных платформенных сборок. Поэтому при pull появляется дополнительный шаг:
- Сначала запрашивается index по адресу
- Затем в index находится манифест образа для нужной платформы, после чего он запрашивается по digest:
- И уже после этого по digest’ам из манифеста подтягиваются config образа и blobs слоёв файловой системы
Для single-platform image ссылка
Подробнее о внутреннем устройстве container images:
https://labs.iximiuz.com/tutorials/container-image-from-scratch
👉 DevOps Portal
Когда вы делаете
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
Please open Telegram to view this post
VIEW IN TELEGRAM
❤3🔥2🌚2🌭1👀1
Многие ли знают, что Helm хранит информацию о релизах в Kubernetes Secrets?
Когда вы запускаете
В Secret хранится, например:
- имя релиза;
- статус деплоя;
- применённые манифесты;
- использованные values;
- информация о chart и другие данные.
Данные в Secret сжимаются с помощью gzip, а затем кодируются в base64.
Имя Secret создаётся по следующему шаблону:
Когда вы запускаете
Helm не нужна внешняя база данных.
Вся информация хранится прямо в вашем кластере в виде нативных Kubernetes Secrets.
Примечание: также можно настроить внешнюю SQL-базу данных для хранения релизов, но эта возможность пока находится в beta
👉 DevOps Portal
Когда вы запускаете
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
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
Она построена поверх Cilium и eBPF и позволяет глубоко анализировать взаимодействие сервисов, их поведение и работу сетевой инфраструктуры.
➜ https://github.com/cilium/hubble
Please open Telegram to view this post
VIEW IN TELEGRAM
❤5👍3🔥3🤯1
Паттерн проектирования sidecar – удобный способ вынести прокси, агенты доставки логов, агенты для provisioning секретов и другие вспомогательные процессы за пределы основного контейнера приложения.
Начиная с Kubernetes 1.28, поддержка sidecar-контейнеров стала нативной – и реализована довольно элегантно: никакого нового типа контейнеров, просто
Попрактиковаться в работе с нативными sidecar-контейнерами Kubernetes можно здесь:
https://labs.iximiuz.com/tutorials/kubernetes-native-sidecars
👉 DevOps Portal
Начиная с Kubernetes 1.28, поддержка sidecar-контейнеров стала нативной – и реализована довольно элегантно: никакого нового типа контейнеров, просто
initContainer с restartPolicy: Always.Попрактиковаться в работе с нативными sidecar-контейнерами Kubernetes можно здесь:
https://labs.iximiuz.com/tutorials/kubernetes-native-sidecars
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6🔥2❤1
С 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
В этом туториале 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/
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
SSH-туннели, или как стать магом сетевой связности
10 практических челленджей, чтобы прокачать port forwarding через SSH-туннели — от простого локального/удалённого проброса портов до продвинутых сценариев с bastion- и jump-хостами:
Приятного хакинга!
👉 DevOps Portal
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
Приятного хакинга!
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
Ворклоады можно скейлить и по кастомным метрикам, например
- количество запросов в секунду (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
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7
Большинство инженеров каждый день работают с Kubernetes, но не могут объяснить, что происходит после запуска
Разберём по шагам.
Когда вы применяете манифест, на самом деле происходит следующее:
-
- API Server валидирует манифест, аутентифицирует запрос и записывает желаемое состояние в
- Scheduler отслеживает Pod'ы, которые ещё не назначены ни на одну ноду. Он оценивает доступные ноды, выбирает наиболее подходящую и привязывает к ней Pod
-
-
А теперь самое интересное.
- Вся система работает по событийной модели — event-driven. Компоненты не опрашивают друг друга
- Каждый компонент следит за изменениями через API Server и реагирует только тогда, когда это необходимо
Именно поэтому Kubernetes называют системой desired state — «желаемого состояния».
Вы декларативно описываете, что хотите получить. А Kubernetes сам приводит систему к этому состоянию.
В материале подробно разбирается архитектура Kubernetes и показывается, что на самом деле происходит под капотом после запуска
Читать здесь:
https://devopscube.com/kubernetes-architecture-explained/
👉 DevOps Portal
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/
Please open Telegram to view this post
VIEW IN TELEGRAM
❤9
MinIO прекратил активную разработку: патчи безопасности рассматриваются по индивидуальным запросам, обновления не тестируются. Для компаний с петабайтами данных в MinIO встает вопрос о миграции.
Главная сложность миграции — не выбор нового хранилища, а перенос без остановки бизнес-процессов. Большинство open-source инструментов требуют простоя: приложения нужно останавливать на время переноса данных, а на многотерабайтных объемах это может растянуться на часы или дни простоя сервиса.
На вебинаре разберем, как перенести данные из устаревшего хранилища (на примере MinIO) в другое S3-совместимое — без остановки сервиса.
📅 3 сентября, 16:00 мск
Регистрация
Главная сложность миграции — не выбор нового хранилища, а перенос без остановки бизнес-процессов. Большинство open-source инструментов требуют простоя: приложения нужно останавливать на время переноса данных, а на многотерабайтных объемах это может растянуться на часы или дни простоя сервиса.
На вебинаре разберем, как перенести данные из устаревшего хранилища (на примере MinIO) в другое S3-совместимое — без остановки сервиса.
📅 3 сентября, 16:00 мск
Регистрация
👍5❤1
KubeTable — это local-first десктопное приложение для работы с базами данных внутри Kubernetes-кластеров.
Оно находит базы через ваш
➜ https://github.com/kubetable/kubetable
👉 DevOps Portal
Оно находит базы через ваш
kubeconfig, само поднимает port-forward и позволяет напрямую выполнять запросы к PostgreSQL, MySQL, Redis или MongoDB.➜ https://github.com/kubetable/kubetable
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
Запуск 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
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.
Что вы изучите:
Все знания закрепляются на практике с помощью заданий с автопроверкой.
Материал подаётся последовательно и понятным языком: с примерами, схемами и демонстрациями. Во время обучения можно задавать вопросы по урокам и заданиям, получать обратную связь и помощь при возникновении сложностей.
После прохождения программы вы получите сертификат, который можно добавить в резюме.
Скидка 20% на 48 часов: по промокоду
Открыть программу на Stepik
Это комплексная программа из 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-оператор, который анализирует историю реального потребления ресурсов и сам корректирует
➜ https://github.com/Tight-Line/ballast
👉 DevOps Portal
CPU- и memory requests – либо на этапе admission, либо прямо у уже запущенных Pod’ов.➜ https://github.com/Tight-Line/ballast
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 минут)
➡ Тайник Store
➡ Тайник Store
➡ Тайник Store
Топовая нейронка для создания видео, картинок, написания кода и работы. Сейчас цена 4.99$ вместо 360$ на 1.5 года (схема рабочая, всё легально оформляется)
Продаётся в Тайнике, схему скоро прикроют — у кого куплено, всё останется работать. У шопа 3000+ покупок и 300+ отзывов, кстати бекают деньги и делают замены.
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
Подробный разбор того, из-за чего production-образы обычно раздуваются и как этого избежать с помощью multi-stage builds и грамотного выбора базовых образов.
С практическими примерами для Node.js, Go, Rust, Java и PHP:
https://labs.iximiuz.com/tutorials/docker-multi-stage-builds
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
Прод лежит, а вы узнаёте об этом от пользователей? Курс о наблюдаемости руками: соберёте дашборд, по которому видно состояние сервиса — запросы, ошибки, время ответа.
⚙️ Внутри: модель данных Prometheus, четыре типа метрик, PromQL, панели и переменные дашбордов, алерты, которые звонят по делу
🧩 Задачи с автопроверкой на каждом шаге
💻 Финальный проект — дашборд дежурного и правило алерта к нему
🎓 Сертификат · доступ навсегда
▶️ Первые уроки открыты — начать можно бесплатно
🏷 −50% по промокоду START50
➜ Забрать курс со скидкой
━━━━━━━━━━━━━━
Курс практический — хватит базового 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
Собрать 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
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
Раньше в Kubernetes нельзя было изменить CPU или memory для уже запущенного Pod без его перезапуска.
Но функция In-Place Pod Resize решает эту проблему.
Вот подробный материал, в котором разобрали:
* Что такое In-Place Pod Resize
* Как это работает под капотом
* Зачем нужен VPA для изменения ресурсов Pod без перезапуска
* Что происходит, если на ноде не хватает ресурсов
* Когда стоит использовать Resize Policy
* С какими проблемами можно столкнуться при уменьшении ресурсов и многое другое
https://devopscube.com/vpa-in-place-pod-resize
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2