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

Всем привет! Подскажите, пожалуйста, либо я долюблюсь в глаза, либо опечатка. Хочу

добавить DNS апстримы для coreDNS в кубере. Чтобы сначала запросы были в рамках кубера, а потом использовались инфраструктурные DNS сервера.

В доке сказано, что для указания апстримов можно юзать любой режим

В шаблоне конфига говорится, что апстримы можно только для resolvconf_mode: host_resolvconf

https://github.com/kubernetes-sigs/kubespray/blob/77149e5d89695f66f1e92d8ab096e8a7b5848f6f/roles/kubernetes-apps/ansible/templates/coredns-config.yml.j2#L44

Короче, как понять, какие DNS юзает coreDNS в качестве апстримов, если их в конфигмапе нет?

46 ответов

16 просмотров

К сожалению уже не у компа. Просто вчера как раз обновлял корднс. Мы forward используем с указанием файла /etc/resolv.conf хостовой системы. С моей точки зрения, держать корднс в кубспрее - ошибка. Когда десятки нод в кубе - оно оочень долго работает ) Все что могли вынесли из кубспрея.

Hankey-Chinaski Автор вопроса
Victor Yagofarov
К сожалению уже не у компа. Просто вчера как раз о...

я недавно вынес ингресс-контроллер из кубспрея, т.к. катать этот комбайн для мизерной настройки — то ещё удовольствие, особенно, если зафейлился ран Как будет возможность, напишите) мне ещё интересно, какой resolvconf_mode вы ранее использовали? docker_dns или host_resolvconf?

а положить в /etc/resolv.conf на узлах нельзя ?

Hankey Chinaski
там и лежат

нда. там какая-то ансибловая жесть в роли preinstall. можно на тесте попробовать.. но мне кажется держать аплинки в /etc/resolv.conf на узлах прощее

Hankey-Chinaski Автор вопроса
Lucky SB
нда. там какая-то ансибловая жесть в роли preinsta...

посоветуй плиз, как бы ты законфижил resolvconf_mode с использованием upstream_dns_servers. У меня довольно простое требование. Хочу, чтобы сначала DNS отрабатывал запросы внутри кубера, а потом использовал апстримы, которые указываю в upstream_dns_servers

Hankey-Chinaski Автор вопроса
Hankey Chinaski
coreDNS

ну ты выиграл. оно так и работает, как ты хочешь. в чем твои проблемы?

Hankey-Chinaski Автор вопроса
Lucky SB
ну ты выиграл. оно так и работает, как ты хочешь. ...

проблема в том, что периодически не резолвятся внешние запросы, а они критически важны на стадиях запуска приложений. И я так и не врубился, как coreDNS знает про апстримы, если в конфигмапе их нет

Hankey Chinaski
проблема в том, что периодически не резолвятся вне...

берет их из файлика /etc/resolv.conf, который на узле лежит

Hankey-Chinaski Автор вопроса
Lucky SB
берет их из файлика /etc/resolv.conf, который на у...

хм, тогда почему иногда фейлятся резолвы? иногда проходят, иногда такое nslookup dev.example.com Server: 10.234.0.3 Address: 10.234.0.3:53 ** server can't find dev.example.com: NXDOMAIN

Hankey-Chinaski Автор вопроса
Hankey-Chinaski Автор вопроса
Lucky SB
а nodelocaldns есть у тебя ?

А нужны? В доке по кубспрею скудное описание

Hankey Chinaski
А нужны? В доке по кубспрею скудное описание

ну да. плюс в configmap dns-autoscaler можно побольше инстансов coredns запускать. у меня было когда приложуха активно спамила DNS и он не справлялся

Hankey-Chinaski Автор вопроса
Lucky SB
ну да. плюс в configmap dns-autoscaler можно побол...

подскажи ещё, пожалуйста, зачем в кубспрее определили с таким адресом? nodelocaldns_ip: 169.254.25.10 С какой целью?

Hankey Chinaski
подскажи ещё, пожалуйста, зачем в кубспрее определ...

https://kubernetes.io/docs/tasks/administer-cluster/nodelocaldns/#configuration Note: The local listen IP address for NodeLocal DNSCache can be any IP in the 169.254.20.0/16 space or any other IP address that can be guaranteed to not collide with any existing IP. This document uses 169.254.20.10 as an example.

Hankey Chinaski
А нужны? В доке по кубспрею скудное описание

Даже тут в чатике можешь поиском воспользоваться и увидишь, что coredns без nodelocaldns работает плохо. Точнее там дело не столько в самом coredns, но тем не менее. Скажем одна из распространённых проблем (может быть ее уже и пофиксили): один из подов с корднс упал или переезжает на другую ноду, но запросы ещё некоторое время идут на адрес умершего пода.

Hankey-Chinaski Автор вопроса
Pavel Litvyak
Даже тут в чатике можешь поиском воспользоваться и...

Это разве проблема coredns? У меня с любыми dns подкапотом все грустно

Hankey Chinaski
интересный кейс вы описали. Спасибо!

https://github.com/kubernetes/kubernetes/issues/56903 https://m.habr.com/ru/post/503032/ Если в чатике не накрутил

Hankey-Chinaski Автор вопроса
Aleksey Lazarev
https://github.com/kubernetes/kubernetes/issues/56...

Ещё нет. Спасибо за ссылки

Pavel Litvyak
Даже тут в чатике можешь поиском воспользоваться и...

для переездов вроде graceful shutdown придумали, правда не уверен насколько хорошо оно работает с udp

𝚔𝚟𝚊𝚙𝚜
для переездов вроде graceful shutdown придумали, п...

Ммм а какая разница - там же в любом случае с грейсфули он должен сначала убрать свои ендпоинты из сервайс а потом терминейтнутся не?

Aleksey Lazarev
Ммм а какая разница - там же в любом случае с грей...

Идея graceful shutdown в том чтобы дождаться завершения всех сессий, только потом умереть, но полагаю с udp это не работает

𝚔𝚟𝚊𝚙𝚜
для переездов вроде graceful shutdown придумали, п...

Не имеет значения же. Всё зависит от того, как процесс обрабатывает SIGTERM/

Aleksey Lazarev
Ммм а какая разница - там же в любом случае с грей...

Нет, кубер посылает SIGTERM и переводит под в статус Terminating, а как быстро успеет endpoints controller удалить endpoint - ещё вопрос.

𝚔𝚟𝚊𝚙𝚜
Идея graceful shutdown в том чтобы дождаться завер...

В этом идея, да, но никаких механизмов искаропки, которые следят за сессиями — хоть tcp, хоть udp — нет. Это на совести разработчика приложения.

Hankey Chinaski
интересный кейс вы описали. Спасибо!

Я делал хельм чарт даже для него более удобный, чем официальный: https://github.com/Nastradamus/myhelmcharts/tree/master/nodelocaldns Изучение его поможет время сэкономить :)

Timofey Larkin
В этом идея, да, но никаких механизмов искаропки, ...

Официальный kube-proxy вроде как следит, я с nfs-server-provisioner и ipvs сталкивался с проблемой что последний коннекшены не тушил на клиентах, в результате чего всё намертво висло)

𝚔𝚟𝚊𝚙𝚜
Официальный kube-proxy вроде как следит, я с nfs-s...

Это настолько внезапно, что я б даже не в документацию посмотрел, а в код)

Aleksey Lazarev
Ммм а какая разница - там же в любом случае с грей...

И дождаться, пока все правила уберутся со всех нод

Hankey-Chinaski Автор вопроса
Victor Yagofarov
Я делал хельм чарт даже для него более удобный, че...

Поставил. nslookup все также фейлятся через раз. Чтобы посоветовали потюнить, посмотреть?

Hankey Chinaski
Поставил. nslookup все также фейлятся через раз. Ч...

а в поду точно правильный reslolv.conf приехал?

Hankey-Chinaski Автор вопроса
Victor Yagofarov
а в поду точно правильный reslolv.conf приехал?

для дебага я использую команду kubectl run -n spb-dev -i --tty busybox --image=registry.example.com:9080/busybox:1.32 --restart=Never -- sh внутри пода в файле resolv.conf nameserver 10.234.0.3 search ex-dev.svc.k8s.dev.example.com svc.k8s.dev.example.com k8s.dev.example.com dev.example.com lan.example.com options ndots:5

Hankey Chinaski
для дебага я использую команду kubectl run -n spb-...

cat /etc/resolv.conf nameserver 169.254.20.10 search test.svc.cluster.local svc.cluster.local cluster.local test.test.test options ndots:5

Hankey-Chinaski Автор вопроса
Aleksey Lazarev
Дык не верный приехал)

верность не хранит?) А как вообще в nameserver 169.254.20.10 попадает в поды? он из докер опций подкидывается?

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

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

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