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

Всем привет! А может кто знающий подсказать, мне нужно реврайтить

хост в поде в формате <service-name>.my.subdomain в <service-name>.<some-namespace>.svc.cluster.local. Пробовал патчить coredns строкой:

rewrite name suffix .my.subdomain .stage-01.svc.cluster.local

И это работает если namespace реврайта указан явно, вот только проблема в том, что у меня namespace может меняться...
Как динамически определять namespace в coredns или я не туда вообще прокопал?

18 ответов

18 просмотров
Denis-Postnikov Автор вопроса
Отделение Bereke Bank Ор
Зачем

Есть много сервисов заточеных под consul, они обрабатывают запросы формата <service-name>.local.doman хотелось бы подружить инфраструктуру с кубом без больших переделок

Denis-Postnikov Автор вопроса

need help 😭 Есть кто самурай в kube-dns? Я может чёт не так делаю? Как обычно решают вопросы резолва внутреннего dns?

Denis-Postnikov Автор вопроса
Shved
Какие вопросы?

Допустим, я хочу что бы мой сервис в контейнере смог отправлять запросы как по алиасу <service-name>, так и по домену <service-name>.custom.domain. По дефолту, <service-name> резовиться в <service-name>.<namespace>.svc.cluster.local. Как <service-name>.custom.domain тоже заставить резолвиться в <service-name>.<namespace>.svc.cluster.local? Вроде самый очевидный путь это замена суффикса на уровне обработки запроса в coredns, но я так и не понял как эти запроси абстрагировать от namespace...

Denis Postnikov
Допустим, я хочу что бы мой сервис в контейнере см...

А зачем это надо? Хотите сделайте external name.

Denis Postnikov
Допустим, я хочу что бы мой сервис в контейнере см...

hostalias не пробовали добавить в спеку пода и все?

Denis-Postnikov Автор вопроса
Aleksey Lazarev
hostalias не пробовали добавить в спеку пода и все...

Хорошая мысль, только у меня 100+ сервисов, не указывать же их все в hostalias? Да и задача кажеться связана с машрутизацией

Denis-Postnikov Автор вопроса
George Gaál
зачем

Есть много сервисов которые умеют в consul, между собой они общаються через dns формата <service-name>.some.domain в приватной сети. Всё что мне нужно сделать что бы всё это блядство запустить в k8s, это научить резолвить запросы формата <service-name>.some.domain в <service-name>.

Denis-Postnikov Автор вопроса
George Gaál
ну так регай их в консуле

Таки зачем консул если есть нативный Service Discovery?

Denis Postnikov
Есть много сервисов которые умеют в consul, между ...

а попробуй просто создать сервис с точкой в названии в кубе. name.some.domain

Denis-Postnikov Автор вопроса
Denis-Postnikov Автор вопроса
Lucky SB
а попробуй просто создать сервис с точкой в назван...

Всё оказалось прозаичнее. По умолчанию, запись типа some-service резолвяться в some-service.some-namespace.svc.cluster.local которая в свою очеред резолвиться в реальный айпишник сервиса. т.е. задача по сути в том, что бы успеть подменить свой кастомный домен формата some-service.custom.domain до резолва айпишника в some-service который потом разрезолвиться в some-service.some-namespace.svc.cluster.local который потом в айпишник. Так вот, сделать это можно глобально для всех неймспейсов в конфиге coredns при помощи банального rewrite name substring как то так: apiVersion: v1 data: Corefile: | .:53 { errors health { lameduck 5s } ready rewrite name substring .custom.domain . kubernetes cluster.local in-addr.arpa ip6.arpa { pods insecure fallthrough in-addr.arpa ip6.arpa ttl 30 } prometheus :9153 forward . /etc/resolv.conf { max_concurrent 1000 } cache 30 loop reload loadbalance } kind: ConfigMap metadata: name: coredns namespace: kube-system

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

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

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
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
Карта сайта