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

Коллеги, приветствую! Наблюдаю следующее поведение кластера cartridge в k8s: validate_config и

apply_config роли вызываются несколько раз в секунду.

В логах оператора нашёл (судя по всему, это приводит к наблюдаемому поведению):
{"level":"info","ts":1699955631.5840652,"logger":"controller_cluster","msg":"Update replicaset roles","Request.Namespace":"my-custom-namespace","Request.Name":"oms","id":"74abb4e2-0e1b-5f7e-a451-b044245f3cd8","from":["vshard-router","my-custom-role"],"to":["my-custom-role"]}
{"level":"info","ts":1699955631.584074,"logger":"topology","msg":"setting replicaset roles","namespace":"topology.builtin","uuid":"74abb4e2-0e1b-5f7e-a451-b044245f3cd8","weight":["my-custom-role"]}

При этом в логах соответствующего инстанса каждый раз валидируются и применяются конфиги следующих ролей:
- ddl-manager
- vshard-router
- metrics
- my-custom-role

Роли после старта кластера меняться не должны (как мне кажется), репликасет, упомянутый в логах оператора, выполняет роль vshard-router.
В какую сторону стоит копнуть?

Проблема проявляется на следующем сочетании версий: tarantool 2.11.1, cartridge 2.8.3, tarantool k8s operator 0.0.9.

P.S. "weight":["my-custom-role"] в логах оператора, видимо, содержит опечатку - это не "weight", это "roles"
P.P.S. кажется, нужно смотреть на аннотации в k8s, в частности на "tarantool.io/rolesToAssign" - пошёл смотреть)

2 ответов

55 просмотров
Petr-Molchanov Автор вопроса

Получается, надо модифицировать стейтфул сет, создаваемый оператором, либо свой пилить?

Petr-Molchanov Автор вопроса

Если интересно, проблема была в следующем: tarantool (скорее даже cartridge) где-то между старой и новой версиями, которые мы использовали, начал оператору отдавать в наборе ролей роль в vshard (vshard-storage или vshard-router), чего раньше не делал. Оператор этот набор сравнивает с набором из файла values, и если они не совпадают, происходит переконфигурирование cartridge кластера. Проблема решилась добавлением в файле values соответствующим репликасетам их роли в vshard.

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

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

А как старый хаскел с новым стыковать ? потому как тут работает https://play.haskell.org/saved/C3xpMzcd, а вот тут https://stepik.org/lesson/7602/step/9?unit=1473 нет ошибка C...
Fedor
131
что насчет пагинга? на осдеве непонятно(
Vi Chapmann 🪙
26
Вопрос я правильно понимаю что в коде newtype ArrowMap k v = ArrowMap { getArrowMap :: k -> Maybe v } getArrowMap есть функция типа k -> Maybe v, если да, то не понимаю задач...
Fedor
64
Ребят, что лучше для реверса: гидра или ида?
En Vind Av Sorg
26
Делаю велосипед логгер. К сообщению хочу прикрутить некоторую информацию, типа, кем отправлено, какой уровень, и всякое такое. И тут подумалось мне, почему бы не хранить весь...
Serjone
24
if (user?.choseType === 'oneDay') { await ctx.reply( 'Добро пожаловать в команду «Магнита»! Правда, на один день ☺️ ', ); await ctx.s...
Kokni
1
Как Вы считаете нормально ли в двадцатых годах 21 века в ВУЗах Российской Федерации обучать студентов работе с TASM? Не слишком ли это "архаично"? (Если оффтоп или флейм для э...
Spiker01
52
Комрады, хотел уточнить. Проперть в OnDestroy юнита-хозяина по-прежнему доступна? И еще уточнение: finalization юнита наступает раньше или позже OnDestroy?
Ed Doc
48
Продолжая диалог про свифт в проде – сейчас возник вопрос в активном наборе бекендеров. В основном в нашей компании мы фанаты Java Spring и полностью ей довольны. Однако найм ...
Guseyn
27
если загрузчик efi? если сама PML4 PDPT PDT PT лежит в неудобном для меня месте?
Vi Chapmann 🪙
8
Карта сайта