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 ответов

44 просмотра

К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. Я догадываюсь, что делаю глобально полный мусор. Но я всего лишь глупый разработчик, который вынужден этим заниматься в очень сжатые сроки. Заранее прошу прощения у Георгия и других коллег, чьи профессиональные чувства задеты. Спасибо большое за помощь! Отплачу, как устроюсь не на копеечную зп.

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

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

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта