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

Предисловие: - Однонодовый k3s. Ubuntu server. - На хосте 2 сетевых

интерфейса. На одном внешний ip. На втором внутренний.
- В k3s при установке выключен и serviceLb и traefik.
- Установлен cilium.
- Так же установлен metallb с 2мя пулами /32 и привязкой их к интерфейсам хоста через L2Advertisement. Metallb ставил по причине того, что цилиумовский lb не умеет в /32 сеть.
- В качестве ингреса стоит istio. В нем должно быть 2 gateway (для внешних сервисов и внутренних). Соответственно для каждого gateway через конфиг IstioOperator сделал по 1 ingressGateways с указанием через аннотацию Metallb из какого пула брать ip.

Проблема:
1й ingressGateways c внешним ip спокойно его получает и работает.
А 2й постоянно моргает статусом pending и растет счетчик назначений.
В логах metallb speaker летят записи:
{"caller":"main.go:418","event":"serviceWithdrawn","ip":["192.168.0.116"],"level":"info","msg":"withdrawing service announcement","reason":"noIPAllocated","ts":"2023-10-14T13:50:20Z"}
{"caller":"service_controller.go:103","controller":"ServiceReconciler","end reconcile":"istio-system/istio-ingressgateway-internal","level":"info","ts":"2023-10-14T13:50:20Z"}
{"caller":"service_controller.go:60","controller":"ServiceReconciler","level":"info","start reconcile":"istio-system/istio-ingressgateway-internal","ts":"2023-10-14T13:50:20Z"}
{"caller":"main.go:374","event":"serviceAnnounced","ips":["192.168.0.116"],"level":"info","msg":"service has IP, announcing","pool":"internal-pool","protocol":"layer2","ts":"2023-10-14T13:50:20Z"}
В логах metallb controller:
{"caller":"main.go:107","event":"serviceUpdated","level":"info","msg":"updated service object","ts":"2023-10-14T13:56:20Z"}
{"caller":"service_controller.go:103","controller":"ServiceReconciler","end reconcile":"istio-system/istio-ingressgateway-internal","level":"info","ts":"2023-10-14T13:56:20Z"}
{"caller":"service_controller.go:60","controller":"ServiceReconciler","level":"info","start reconcile":"istio-system/istio-ingressgateway-internal","ts":"2023-10-14T13:56:20Z"}
{"caller":"service_controller.go:103","controller":"ServiceReconciler","end reconcile":"istio-system/istio-ingressgateway-internal","level":"info","ts":"2023-10-14T13:56:20Z"}
{"caller":"service_controller.go:60","controller":"ServiceReconciler","level":"info","start reconcile":"istio-system/istio-ingressgateway-internal","ts":"2023-10-14T13:56:20Z"}
{"caller":"service.go:142","event":"ipAllocated","ip":["192.168.0.116"],"level":"info","msg":"IP address assigned by controller","ts":"2023-10-14T13:56:20Z"}

Вопрос:
подскажите пожалуйста в какую сторону копать?

8 ответов

15 просмотров

К3с не фурыкен, поставь кубеадм

Camoufly- Автор вопроса
George Gaál
К3с не фурыкен, поставь кубеадм

Брал k3s ради экономии ресурсов. Машина одна и важно было, чтобы worker и plane были на одной машине.

Camoufly
Брал k3s ради экономии ресурсов. Машина одна и важ...

Кубеадм ставь, такая же потребность в ресурсах будет, зато гибче. К3с хорош другим

Camoufly- Автор вопроса

м.б. проще запустить два истио гейтвея в режиме хост нетворк с указанием ип внешнего и внутреннего?

Camoufly- Автор вопроса

Для потомков: Вам не нужен metallb. Да cilium'овский lb не поддерживает /32 напрямую. Но можно написать туда всю подсеть, а на сервисы заставить запрашивать только тот ip, который реально есть у ноды, с помощью аннотаций. https://docs.cilium.io/en/stable/network/lb-ipam/#requesting-ips P.S. Я догадываюсь, что делаю глобально полный мусор. Но я всего лишь глупый разработчик, который вынужден этим заниматься в очень сжатые сроки. Заранее прошу прощения у Георгия и других коллег, чьи профессиональные чувства задеты. Спасибо большое за помощь! Отплачу, как устроюсь не на копеечную зп.

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

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

я не магистр хаскеля, но разве не может лейзи тип конвертнуться в не-лейзи запросив вычисление содержимого прям при инициализации?
deadgnom32 λ madao
96
читать файл максимально быстро? странный вопрос))
zamtmn
53
How to create an OS in C? what to study?
Linus
18
тоесть, указав return eax, сгенерируется никому ненужная инструкция mov eax,eax ?
Aiwan \ (•◡•) / _bot
24
Всем доброго вечера! Хочу поделиться своим злоключением с человеком, который, как оказалось сюда тоже скидывал свое резюме. Жаль, что я вашу группу не нашел раньше… человек ки...
Роман Ахмедзянов
4
Компания Elif ищет менеджера проектов, который будет заниматься поиском и ведением новых проектов. Прежде чем приступить к работе, вам нужно пройти наш недельный курс, где вы ...
Elif
5
Привет, кто может сделать юзербота с апи? Задачи: - создавать группы - создавать каналы - задавать для созданных каналов аватарку или эмоджи, имя группы - добавлять в группы...
Lencore
11
Вопрос вроде правильно, но что надо сделать, чтоб текст был виден нормально ? ghci> TE.decodeUtf8 $ TE.encodeUtf8 "test - проба" "test - \1087\1088\1086\1073\1072"
Fedor
7
а зачем этот вопрос для удаления из чата?
Mёdkinson Medvezhkin
63
Кто может подсказать? Я преобрпзовал изображение в бинарное(у меня установлен трекбар который при установленном значении меняет пиксели на белый если меньше и чёрный если боль...
Константин VS
6
Карта сайта