TGViewer
Channel Public Channel
DevOps Portal | Linux

DevOps Portal | Linux

@loose_code

Присоединяйтесь к нашему каналу и погрузитесь в мир DevOps

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

Работаем с @Spiral_Yuri

РКН: https://clck.ru/3P8kFH
Subscribers
13.1K
Photos
1K
Videos
134
Links
1.1K

Showing posts older than #2006 · Back to latest

Older Posts 20 shown
Post #2004 2.39K
K8up – это Kubernetes Operator, который позволяет:

- Делать бэкапы всех PVC с режимом доступа ReadWriteMany или с определённым label
- Запускать отдельные бэкапы по требованию
- Настраивать регулярный запуск бэкапов по расписанию

И многое другое

➜https://k8up.io/

👉 DevOps Portal
  • 👍 3
  • ❤ 2
  • 👀 1
Post #2003 2.39K
Gang Scheduling в Kubernetes

Это одна из ключевых концепций в MLOps

Фреймворки для deep learning (TensorFlow, PyTorch и т. д.) требуют, чтобы во время обучения были запущены все воркеры.

Допустим, training job требует 8 воркеров, каждый из которых запрашивает по 1 GPU.

В Kubernetes-кластере свободно только 5 GPU.

Без gang scheduling стандартный scheduler обрабатывает каждый Pod независимо.

В результате 5 worker Pod'ов будут запланированы, а ещё 3 останутся в статусе Pending.

При этом 5 запущенных воркеров фактически не смогут начать обучение. GPU будут заняты, пока система ждёт оставшиеся воркеры.

При использовании gang scheduling scheduler сначала проверяет, достаточно ли ресурсов для запуска всего training job.

Если ресурсов хватает, все worker Pod'ы планируются одновременно.

Если нет — не планируется ни один Pod. Пять свободных GPU остаются доступными для других job'ов.

Это можно назвать подходом – «всё или ничего».

В первую очередь gang scheduling позволяет избежать неэффективного использования GPU из-за частично запланированных распределённых workload'ов.

Kubeflow Trainer поддерживает gang scheduling из коробки через podGroupPolicy.

Он работает с установленными в кластере плагинами для gang scheduling, например Coscheduling.

👉 DevOps Portal
  • ❤ 5
  • 🔥 3
  • 👀 1
Post #2001 2.2K
Xata — Kubernetes-native платформа для Postgres, предназначенная для запуска большого количества баз данных.

Поддерживает copy-on-write ветвление, scale-to-zero, автоскейлинг, высокую доступность (HA), бэкапы, REST API, CLI и RBAC.

https://github.com/xataio/xata

👉 DevOps Portal
  • ❤ 5
  • 😁 2
  • 👀 1
Post #1999 2.14K
Изучите основы Kubernetes Ingress за 7 минут

В этом подробном материале разберём:

* Что такое Kubernetes Ingress?
* Как работает Kubernetes Ingress?
* Что такое Ingress Controller?
* Как работает Ingress Controller?
* Архитектуру Ingress и Ingress Controller

https://devopscube.com/kubernetes-ingress-tutorial/

Примечание: хотя Ingress по-прежнему остаётся самым распространённым вариантом, Kubernetes постепенно движется в сторону Gateway API для более продвинутого и гибкого управления трафиком.

Если сначала разобраться с Ingress, освоить Gateway API будет значительно проще.

👉 DevOps Portal
  • ❤ 3
  • 👀 1
Post #1998 2.42K
Kubernetes Job и JobSet: в чём разница

Разбираемся

Job/CronJob запускает одну конкретную batch-нагрузку.

Например: ETL-задачу, резервное копирование, генерацию отчётов и т. д.

JobSet, в свою очередь, запускает несколько скоординированных Job как единую распределённую нагрузку.

Каждая Job в наборе может иметь собственный шаблон Pod и связанные с ним настройки, но весь набор при этом работает как единое целое.

Под капотом JobSet запускает дочерние Job в индексированном режиме. Это означает, что каждый Pod получает стабильный индекс и hostname, например worker-0, worker-1 и т. д.

Кроме того, JobSet создаёт headless-сервис, через который Pod могут обнаруживать друг друга.

Основной сценарий использования JobSet — нагрузки AI/ML и HPC.

Например, в Kubeflow Trainer JobSet используется для запуска распределённого обучения моделей.

👉 DevOps Portal
  • ❤ 7
  • 👍 2
Post #1997 2.88K
Kubeswitch — CLI-инструмент, который упрощает переключение между разными контекстами kubectl.

Kubeswitch можно использовать как полноценную замену kubectx.

➜ https://github.com/danielfoehrKn/kubeswitch

👉 DevOps Portal
  • ❤ 4
  • 🌚 1
Post #1996 2.95K
Разбираем MLflow на практических примерах

Вот разбор про MLOps, где рассмотрели MLflow — один из ключевых инструментов в MLOps.

В материале:
- Что такое трекинг экспериментов
- Как устроена архитектура MLflow
- Развёртывание MLflow в Kubernetes — практика
- Локальное обучение модели для прогнозирования оттока сотрудников и трекинг запусков через MLflow — практика
- Регистрация моделей и управление ими в MLflow Model Registry
И многое другое.

https://newsletter.devopscube.com/p/mlfow

👉 DevOps Portal
  • ❤ 4
  • 👍 1
Post #1994 2.94K
Трекинг экспериментов в MLOps

В машинном обучении при каждом обучении модели создаётся новый запуск обучения.

Эксперимент - это набор таких запусков.

Трекинг экспериментов - это автоматическое логирование важной информации о каждом запуске обучения.

Например, во время каждого запуска обучения ML-модели сохраняются следующие данные:

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

Это похоже на то, как в CI-системах отслеживаются SHA коммита, номер сборки, логи и другие данные.

Трекинг экспериментов выполняет ту же задачу для запусков обучения моделей машинного обучения.

Поэтому запуск обучения без трекинга - это как CI-сборка без истории сборок.

Самый распространённый инструмент для трекинга экспериментов - MLflow.

👉 DevOps Portal
  • ❤ 5
  • 👍 1
Post #1993 3.19K
KubeGUI — десктопное приложение с графическим интерфейсом для управления Kubernetes-кластерами, визуализации ресурсов и работы с ними.

➜ https://github.com/gerbil/kubegui

👉 DevOps Portal
  • ❤ 4
  • 👍 2
Post #1991 2.69K

Forwarded from Мир Linux

🍻 Сегодня отмечается день системного администратора 🍻

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

В 2026 году этот день выпал на 31 июля.

Поздравляем всех сисадминов с праздником!

@linuxos_tg
  • ❤ 15
  • 🔥 7
Post #1990 2.93K
В этой статье рассказывается, как спроектировать ИИ-агента для SRE-задач, который анализирует алерты, логи, данные Kubernetes, ранбуки, деплои и сигналы систем наблюдаемости, чтобы диагностировать инциденты и предлагать безопасные действия.

Читайте тут

👉 DevOps Portal
  • ❤ 3
  • 👍 1
Post #1989 2.59K
Большинство считает, что Kubernetes Gateway API предназначен только для Ingress. Но это не так.

Gateway API также умеет управлять east-west-трафиком – то есть взаимодействием между сервисами. Разберёмся, как это работает

Для начала нужно понять, что такое инициатива GAMMA.

GAMMA — Gateway API for Mesh Management and Administration

Изначально Gateway API был разработан для управления ingress-трафиком.

То есть трафиком, который поступает извне кластера к сервисам внутри него – это сценарий north-south.

GAMMA расширяет возможности Gateway API на внутренний трафик service mesh – то есть на east-west-трафик.

Это означает, что одни и те же ресурсы Gateway API можно использовать как для Ingress, так и для service mesh.
Но есть важное отличие 👇

Обычно при использовании таких ресурсов Gateway API, как HTTPRoute, GRPCRoute и других, в качестве parentRef указывается Gateway.

Именно Gateway является точкой входа, которой принадлежат IP-адрес и порты, принимающие трафик извне кластера.

Однако в подходе GAMMA при настройке mesh-трафика ресурсы Gateway API, например HTTPRoute, могут использовать в качестве parentRef не Gateway, а Service.

После этого HTTPRoute определяет, как должен маршрутизироваться трафик, поступающий на этот Service: распределение по весам, разделение трафика и другие правила.

Схема прохождения трафика выглядит так:

client → общий Service (backend) → Services отдельных версий (backend-v1, backend-v2) → pods

При этом нельзя использовать паттерн «общий Service + subsets», как в связке Istio VirtualService и DestinationRule.

Причина в том, что Gateway API проектируется как единый стандарт, который должен работать с разными реализациями service mesh, включая Istio, Linkerd и другие.

👉 DevOps Portal
  • ❤ 3
Post #1987 20.6K
Вышел годный инструмент, который помогает изучать Linux на практике

Shell Gym – интерактивный тренажёр командной строки Linux, созданный на основе многолетнего опыта преподавания. По сути, автор выделил ядро iximiuz Labs и превратил его в отдельный демон.

https://github.com/iximiuz/shellgym

👉 DevOps Portal
  • 👍 8
  • ❤ 4
Post #1985 2.73K
Запуск распределённого обучения ИИ в Kubernetes – это не просто добавление GPU

В выпуске Kubeflow Pipelines рассказывали, что этап обучения в пайплайне обычно передаётся Kubeflow Trainer.

И вот почему.

Некоторые задачи обучения ML-моделей и дообучения LLM требуют нескольких GPU, распределённых между несколькими нодами Kubernetes.

Для этого необходимо:

— создавать и управлять несколькими worker-подами;
— выделять GPU-ресурсы;
— настраивать взаимодействие между воркерами;
— отслеживать статус обучающих джобов и многое другое.

Kubeflow Trainer решает эти задачи в Kubernetes-native формате с помощью CRD и скрывает большую часть связанной с этим сложности.

В этом выпуске MLOps-рассылки разобрали:

— основы распределённого обучения;
— архитектуру Kubeflow Trainer: TrainJob, Runtimes и JobSet;
— установку Trainer и запуск первого распределённого TrainJob на CPU-нодах;
— запуск ML-задач на GPU-нодах;
— каким моделям действительно нужны GPU.

Читать: https://newsletter.devopscube.com/p/kubeflow-trainer

👉 DevOps Portal
  • ❤ 4
  • 🔥 2
  • 👍 1
Post #1984 2.62K
Небольшой совет по работе с командной строкой Linux

Чтобы скрыть каталоги . и .., но при этом показать остальные скрытые файлы и директории, используйте:
ls -A

вместо:
ls -a


👉 DevOps Portal
  • 🔥 10
  • ❤ 4
  • 👍 1
Post #1983 3.14K
Паттерны проброса портов в Kubernetes

Ты находишься внутри dev-кластера, доступ к сети ограничен, и сервис, который ты только что задеплоил, ведёт себя странно.

Нет ни LoadBalancer, ни настроенного ingress-контроллера, и «просто открыть порт» – не вариант, потому что сетевики либо тормозят, либо отвечают отказом.

Вот здесь тебя и выручает kubectl port-forward.

Вот простая инфографика, чтобы было легче понять.

👉 DevOps Portal
  • ❤ 3
  • 👍 2
Post #1981 3K
В этой статье показано, как использовать Kubernetes ConfigMap в качестве лёгковесного хранилища состояния в реальном времени: отслеживать изменения ConfigMap и распределять события с помощью Python asyncio.

➜ https://medium.com/sahibinden-technology/using-kubernetes-configmaps-as-a-real-time-state-store-483c47ee23cd

👉 DevOps Portal
  • ❤ 4
Post #1980 3.12K
Kubeflow — это уже не просто MLOps-платформа.

Она развивается в полноценную cloud-native AI-платформу для:

• распределённого обучения AI-моделей
• дообучения LLM
• GenAI-пайплайнов
• AI-воркфлоу в Kubernetes

Если вы DevOps-инженер и хотите перейти в AI-инфраструктуру, Kubeflow — одна из лучших платформ, которые стоит изучать сегодня.

В последних релизах Kubeflow расширилась поддержка GenAI-сценариев, распределённого обучения и современных воркфлоу для AI-платформ.

Как лучше всего разобраться?

Собрать всё самостоятельно.

Вот пошаговый практический гайд, в котором показано, как:

✅ развернуть Kubeflow Pipelines в Kubernetes
✅ создавать пайплайны с помощью Kubeflow SDK
✅ запускать пайплайны и отслеживать их выполнение

- https://devopscube.com/setup-kubeflow-pipelines-kubernetes/

Если вы только начинаете знакомство с Kubeflow, сначала изучите этот материал:

- https://devopscube.com/kubeflow-pipelines/

👉 DevOps Portal
  • ❤ 4
  • 🔥 2
Post #1978 2.91K
Webernetes — браузерный симулятор Kubernetes, который позволяет запускать ограниченный набор возможностей Kubernetes, включая Pod, Service и Deployment, полностью в браузере и без какой-либо бэкенд-инфраструктуры.

➜ https://github.com/ngrok/webernetes

👉 DevOps Portal
  • ❤ 5
  • 👍 3
Post #1976 2.6K
В качестве движка выполнения пайплайнов Kubeflow Pipelines использует Argo Workflows.

Это Kubernetes-native движок оркестрации DAG.

Что именно это означает?

DAG (Directed Acyclic Graph, направленный ациклический граф) описывает задачи и зависимости между ними.

Например:

- Сначала выполняется задача A
- После A запускаются задачи B и C
- Задача D запускается только после завершения B и C

Самое интересное — как Argo выполняет эти задачи.

В большинстве инструментов DAG описываются на Python.

В Argo DAG задаётся декларативно в YAML в виде CRD, а каждую задачу Argo выполняет как отдельный Kubernetes Pod.

Kubeflow использует Argo Workflows в качестве бэкенда и добавляет поверх него слой для задач AI/ML.

При работе с Kubeflow Pipelines вместо того, чтобы напрямую писать YAML-манифесты Argo Workflow, пайплайны нужно описывать в виде DAG на Python.

Для ML-команд это значительно удобнее, чем поддерживать сотни строк YAML с Kubernetes CRD.

Kubeflow SDK компилирует описание пайплайна на Python в YAML в формате Intermediate Representation (IR).

Затем оно преобразуется в специфичное для Argo описание и передаётся на выполнение.

👉 DevOps Portal
  • ❤ 5
Older posts →
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →