172 похожих чатов

Всем привет! Методологический вопрос: Насколько разумно грузить кубер прикладными задачами? Например,

мне нужно, чтобы файлики (несколько тысяч шт.) были разложены по внешним s3-бакетам по определённому принципу (они описаны декларативно). Чтобы это поддерживать, нужно раз в час проверять-перекладывать их.

Мерещатся два варианта реализации:

1) old way: хранить данные в СУБД и запускать по крону (upd: тут подсказали, что можно куберовской CronJob) некий батч-скрипт из прикладного кода (СУБД для приложения у нас уже есть, она не в кластере)
2) new way: хранить данные в самом control-plane кубера (т.е., завести отдельный ресурс типа AppFile, хранить его статус, и т.п.), а активную логику реализовать в виде куберовского оператора.

п.2. вообще делается или баловство это?)

И там и там хочется получить от кубера интроспекцию в плане эксплуатации джобов (ресурсы, время, ошибки, логи) — это понятно. А вот сами данные?)

18 ответов

10 просмотров

как по мне использовать CR куба как базу данных для приложения, которое по сути использует куб только как платформу запуска не очень круто (то есть там будет этих AppFile несколько тысяч как я понимаю). С таким подходом можно дойти до того что вы стейт бэкендов в CR куба будете хранить =). Юзер заходит на сайт, а там под капотом: clientset.CRVersion().User(namespace).Get(context.TODO(), username, metav1.GetOptions{}) 😄 Куб все таки фреймворк для инфры (платформы), а не часть приложения. Так вы будете нагружать kube-apiserver и etcd не тем, для чего они нужны Третий пункт 3) запускать в cronJob и использовать СУБД

Dmitry Sergeev 🇺🇦
как по мне использовать CR куба как базу данных д...

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

В официальной документации есть про то когда стоит использовать CR https://kubernetes.io/docs/concepts/extend-kubernetes/api-extension/custom-resources/#should-i-add-a-custom-resource-to-my-kubernetes-cluster

Aleksandr F.
мне казалось в этом и есть смысл куба. иначе дово...

Нет, смысл куба точно не в этом В чем смысл интеграции? Какую задачу это решает?

Aleksandr F.
мне казалось в этом и есть смысл куба. иначе дово...

Имхо вы не туда воюете) Смысл куба это запускать контейнеры на больше чем одной машине 💁‍♂

Dmitry Sergeev 🇺🇦
как по мне использовать CR куба как базу данных д...

Посмотри Apache Airflow для управления задачами. https://airflow.apache.org/

Serhii Sergey
Имхо вы не туда воюете) Смысл куба это запускать к...

Жестко - ребята бы из проекта KubeEdge и подобных обиделись бы) K8s это же framework и многое что позволяет реализовывать

Dmitry Sergeev 🇺🇦
Это фреймворк для инфраструктуры

следовательно это зависит не от данных, а от задачи

Дмитрий Евдокимов
следовательно это зависит не от данных, а от задач...

Естественно. Использовать куб как базу для своих ворклоадов вместо условного postgresql очевидная дичь, я не понимаю что тут обсуждать. Этот подход не масштабируется (там etcd под капотом), влияет на все приложения в кластере, и естественно опасен для стабильности клатера

Dmitry Sergeev 🇺🇦
Естественно. Использовать куб как базу для своих в...

я это к тому что это не только для "запуска контейнеров на больше чем одной машине "

Dmitry Sergeev 🇺🇦
Естественно. Использовать куб как базу для своих в...

Не означает ли это, что замена етцд на постгрес решает подобную задачу?

Dmitry Sergeev 🇺🇦
нет

Спасибо и на этом.)

Serhii Sergey
Имхо вы не туда воюете) Смысл куба это запускать к...

А как по мне смысл куба в охуенном апи из коробки, которое можно применять как дела вздумается)

L15HN1Y
Спасибо и на этом.)

От замены СУБД ничего особо не меняется же, основные проблемы остаются Мне кажется это достаточно понятная история

Dmitry Sergeev 🇺🇦
как по мне использовать CR куба как базу данных д...

я не раз использовал куб, для сохранения данных, например, для сохранения статуса синхронизации нетворк полиси с ngfw, обновление статуса ноды через нод проблем детектор, на основании которого мог производиться дешедулинг подов, обновления статуса для внешнего балансера, на основании которого осущестлялся сервис дискавери ноды куда пускать трафик. Для меня это были хорошие кейсы когда через апи куба можо было получить нужные данные не создавать для этого внешнюю БД, так как нагрузка была копеечная. Те для меня куб это не про запустить контейнер боольше чем на одной ноде (для этого я успешно исползовал и ансибл) - это скорее рантайм среда для стандартизации запускаемых ворклоадов с довольно гибким апи для кастомизации своих процессов.

Grigoriy Rochev
я не раз использовал куб, для сохранения данных, н...

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

Похожие вопросы

Обсуждают сегодня

Anyone here suffers from unexplained aural migraines, who would be up for talking for a bit? Doesn't *have* to be aural, but I am not asking about headaches, I mean actual mi...
Martin Rys
55
подскажите пожалуйста, как мне освободить результат записанный в переменную result? в чем проблема подскажите если МОЖЕТЕ?
Михаил Helper
28
есть тут кто-то , кто только начал изучать си? если проходите курс на степике или как-то сами изучаете, пишите, может, скооперируемся?..
Eule
25
Слушайте, ещё такая интересная задачка. Сделан аудит действий пользователей через триггеры в базе, соответственно каждый пользователь имеет свой логин и пароль в базе. Это пре...
Сергей Бычков
12
Скажите, тут нет проблемы? IMyInterface1 = interface function GetInterface2: IInterface2; ... function TMyInterface.GetInterface2: IInterface2; begin Result := TI...
Ruslan aka DUDE
18
вопрос по москвину - не понимаю вот такого вопроса похоже Сколько разных всегда завершающихся функций с типом a -> a -> b -> a -> a можно реализовать? Две функции одинаково...
Fedor
11
Кстати, раз про скачивание файлов разговор зашел) Сделал бота для себя (транскрибирующего и суммаризирующего встречи) но не ожидал что за 2 месяца 10к пользователей набежит😅...
Andrey Obolenskiy
8
я не магистр хаскеля, но разве не может лейзи тип конвертнуться в не-лейзи запросив вычисление содержимого прям при инициализации?
deadgnom32 λ madao
100
Утра доброго. Просветите пожалуйста. Хочу сделать rest сервер на делфи. Посмотрел 3 фреймворка: dmvc, Mars, mormot. Ни в одном из них не упоминается ассинхронная обработка вхо...
Сергей Бычков
10
возможно для форматирования TimeStampZ нужен другой механизм, не?
Роман Лях (rgreat)
13
Карта сайта