LINUX.ORG.RU

Фреймворк на основе архитектуры кубернетеса для любых приложений

 


0

1

Я изучаю кубернетес и меня восхищает его архитектура. Адски расширяемая и универальная.

Если очень вкратце - есть понятие ресурса, у него есть желаемое состояние с набором полей и реальное состояние. У него есть набор label-ов, мета-данных. Есть отношения между ресурсами. И всё это определено на полностью абстрактном уровне. В применении к кубернетесу это означает, что я создаю деплоймент с желаемым состоянием (декларативно) и контролеры кубернетеса работают над тем, чтобы привести реальное состояние к желаемому.

Но суть в том, что это всё прям идеально ложится на архитектуру REST - есть GET, PUT, PATCH и тд. Что позволяет делать, например, инструмент kubectl работающим универсально со всеми видами ресурсов, причём и с теми, которые добавляют другие разработчики плагинами, для этого код kubectl менять не надо.

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

Суть в том, что всё это настолько универсально, что из этого можно сделать универсальный фреймворк-бэкэнд. Из этих концепций. Причём если сохранить eventual consistency модель, то он будет бесконечно масштабироваться. От разработчика при использовании такого фреймворка будет нужно лишь добавить свои виды ресурсов и написать свои контролеры, которые будут обрабатывать эти ресурсы. На халяву получаем шикарный REST-API, инструменты вроде kubectl, универсально работающие с любыми ресурсами, универсальную и адаптируемую безопасность и, что самое главное, масштабируемость.

И мне интересно - кто-то уже таким занялся? Есть ли такое фреймворки?

★★★★

Последнее исправление: vbr (всего исправлений: 2)

любой веб-фреймвор с рестом из корбки?

ergo ★★★
()

Так у тебя иксы/вяленный хрен есть… То же клиент-серверная архитектура с долблением очк… 6000 порта

tz4678_2
()

Мы как раз недавно обсуждали этот вопрос, но там всё не так просто:

Микросервисы и точки отказа. (комментарий)

Если коротко — готовых решений в 2022 просто не существует. Даже в кубернете нет готовых решений, есть только специализированное и тяжелое в по-настоящему грамотном применении, то есть, не просто «надеюсь будет работать», а давать гарантии при отказах миграции. Да, встроенные службы кубернета смогут перевести «реальное состояние к желаемому», поскольку написаны грамотными программистами и долго отлаживались, но микромонолиты, написанные индусами, этого не умеют делать в 99% случаев.

это всё прям идеально ложится на архитектуру REST - есть GET, PUT, PATCH и тд

«Можно грабить караваны».

Что позволяет делать, например, инструмент kubectl работающим универсально со всеми видами ресурсов, причём и с теми, которые добавляют другие разработчики плагинами, для этого код kubectl менять не надо
Причём если сохранить eventual consistency модель, то он будет бесконечно масштабироваться

Кубернет использует чрезмерную сериализацию (strong consistency, Etcd) описаний целевой конфигурации «на всякий случай», что допустимо для редко обновляющихся конфигураций (тысяча операций в секунду), но перестает работать на более-менее серьезной нагрузке уровня «рекурсивно скопировать файлики с одной ФС на другую».

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

Не считаешь, а авторы тех материалов, которых ты начитался, вполне тебя считают дураком. Прикладные решения неизбежно приходят к компромису, пожертвовать чем-то, чтобы что-то получить, и пока ты не знаешь отрицательных сторон, то есть «чем пожертвовали» — ты ничего на самом деле не знаешь про это самое прикладное решение. Вот ты ничего не знаешь про кубернет, но у ты любознательный — это хорошо, значит будущее есть.

byko3y ★★★★
()

Не совсем понял что ты имеешь в виду, но уже есть такие штуки как Dapr.

ritsufag ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.