Size: a a a

DevOps Jobs - работа и аналитика

2020 December 23

O

Onlinehead in DevOps Jobs - работа и аналитика
Dmitriy Zaytsev
Я пока вижу такое решение:
- так как каждый сервис деплоится сам по себе, то и всей обвязкой типа ингресса и правил роутинга он может сам управлять.
- мы назначаем некий «главный экземпляр» каждого сервиса (не важно, сколько там внутри подов, я про набор лейблов\неймспейс) - и именно он будет за роутинг запросов в себя отвечать.
- ты верно отметил, что оно потом разрастётся и будет больно - и я это понимаю, но препочитаю предварительно не решать.
- Тут не нужен меш же, это проблема другого порядка. Он и без него может роутингом управлять в целом.
- Главный экземпляр, назовем его control plane, может конечно всем управлять (как бы контроллер, фактически оператор, если он объектами кубика рулит), но тут опять же непонятно нафиг нужен меш, он и без него может управлять.
источник

Sf

Sensiduct fcc in DevOps Jobs - работа и аналитика
Александр Вир
Потому, что обычно тыкаешь не ты, а тебя
источник

DZ

Dmitriy Zaytsev in DevOps Jobs - работа и аналитика
Onlinehead
- Тут не нужен меш же, это проблема другого порядка. Он и без него может роутингом управлять в целом.
- Главный экземпляр, назовем его control plane, может конечно всем управлять (как бы контроллер, фактически оператор, если он объектами кубика рулит), но тут опять же непонятно нафиг нужен меш, он и без него может управлять.
Падажжи 🙂
источник

O

Onlinehead in DevOps Jobs - работа и аналитика
Dmitriy Zaytsev
Тут же самая боль в том, что роутит главный, а связь с другими инстансами сервиса описывается неявно.
"Неявная связь" это фактически запрос на virtual service, если я правильно понимаю. Но - функционал virtual service во многом схож с просто "service" и при этом и то, и то требует селекторов для корректной работы.
источник

O

Onlinehead in DevOps Jobs - работа и аналитика
А раз все равно на подах есть подходящие лейблы, значит и обычный сервис будет норм работать:)
источник

DZ

Dmitriy Zaytsev in DevOps Jobs - работа и аналитика
Onlinehead
- Тут не нужен меш же, это проблема другого порядка. Он и без него может роутингом управлять в целом.
- Главный экземпляр, назовем его control plane, может конечно всем управлять (как бы контроллер, фактически оператор, если он объектами кубика рулит), но тут опять же непонятно нафиг нужен меш, он и без него может управлять.
Никакой сервис никаким роутингом управлять не может и не должен, это не его бизнес-функционал. Я про деплой правил роутинга к себе.
источник

O

Onlinehead in DevOps Jobs - работа и аналитика
Dmitriy Zaytsev
Никакой сервис никаким роутингом управлять не может и не должен, это не его бизнес-функционал. Я про деплой правил роутинга к себе.
Стоп. Типа сервис запускается и говорит "вот он я", рули в меня по вот такому префиксу?
источник

DZ

Dmitriy Zaytsev in DevOps Jobs - работа и аналитика
Ну т.е. у тебя в ямлике рядом с сервисом лежит строчка всё с /api - сюда. Ты деплоишь его - и у тебя всё что с /api - в него летит.
источник

DZ

Dmitriy Zaytsev in DevOps Jobs - работа и аналитика
Расширяем этот кейс. Ты добавляешь условия в эти правила. Если хедер а - то не сюда, а туда. А если ури б - то вот сюда.
источник

MO

Mr Orange in DevOps Jobs - работа и аналитика
Valery Lobachev
Как мне кажется это даёт понять соискателю, что на проекте работает команда профессионалов. А работает это или нет - жизнь покажет.
Нууууууу выигрыш непонятной премии от непонятно кого лично мне сказал бы что у вас гонятся за не очень понятным пафосом и большой честью, но хз, если работает
источник

DZ

Dmitriy Zaytsev in DevOps Jobs - работа и аналитика
Сам деплой этих целей а и б - он отдельный, эт простая машинерия
источник

DZ

Dmitriy Zaytsev in DevOps Jobs - работа и аналитика
Я как-то так это вижу до имплементации. Возможно оно где-то о реальность разобьётся, да
источник

O

Onlinehead in DevOps Jobs - работа и аналитика
Ага, понятно. Но тут есть огромный подводный камень (размером с эверест) - в подобном варианте у вас никак не решается вопрос контроля целостности конфигурации, то есть никто тебе в принципе не мешает ни понадеплоить херни с кривыми префиксами, ни понадеплоить несовместимые сервисы с одним префиксом, а это прямой путь к тупым багам вроде "каждый 10 запрос улетает вникуда" и дебажить это будет ой как геморно. И это только одна проблема)
источник

DZ

Dmitriy Zaytsev in DevOps Jobs - работа и аналитика
Onlinehead
"Неявная связь" это фактически запрос на virtual service, если я правильно понимаю. Но - функционал virtual service во многом схож с просто "service" и при этом и то, и то требует селекторов для корректной работы.
Я про это вот тут и сказал, что если ты эти сервисы-таргеты деплоишь отдельно, а конфиг роутинга отдельно - то оно обязательно разойдётся
источник

O

Onlinehead in DevOps Jobs - работа и аналитика
Напороть с лейблами (особенно автогенеруемыми) гораздо сложнее. И дебажить их проще - одной командой селектором выбрать. И их в прометеусе видно будет.
источник

O

Onlinehead in DevOps Jobs - работа и аналитика
Dmitriy Zaytsev
Я про это вот тут и сказал, что если ты эти сервисы-таргеты деплоишь отдельно, а конфиг роутинга отдельно - то оно обязательно разойдётся
Не не, ты не понял:) Оно _контролируемо_ разойдется. То есть у тебя есть четкая прямая зависимость. В твоей схеме оно может разойтись в любой момент _неконтролируемо_.
источник

DZ

Dmitriy Zaytsev in DevOps Jobs - работа и аналитика
А я схему до конца не понимаю. Можешь её полностью рассказать?
источник

O

Onlinehead in DevOps Jobs - работа и аналитика
Потому что ты совершенно случайно деплоишь сервис a с префиксом /api/123, а потом сервис b с префиксом /api/123 и у тебя все разваливается.
источник

O

Onlinehead in DevOps Jobs - работа и аналитика
причем предотвратить эту ситуацию ты не можешь, т.к. этот префикс - совершенно ручная херня.
источник

DZ

Dmitriy Zaytsev in DevOps Jobs - работа и аналитика
Не, ну правила роутинга то в одном месте описываются, поэтому тут не должно быть проблем.
источник