Kyrylo
увеличение этого порога с 150 до 300 не помогло
Dmytro
Dmytro
Kyrylo
рабочего какого-то решения данной проблемы не увидел, обновлять кубер не хотелось, увидел что один из вариантов - замена на коре-днс. и типа на него кубер перешел в новых версиях (или переходит?)
Vadim
Dmytro
ну и опять же, лучше взять стандартный язык а не изобретать свой как ksonnet
Dmytro
нет, это аргумент о стандартизации
Kyrylo
цпу лимиты были дефолтные
Dmytro
если не помогает убрать или поднять лимиты - нужно увеличивать количество реплик. Но прежде стоит посмотреть на логки dnsmasq и ndots у подов
Kyrylo
первое решение которое сделал - увеличил колличество под с кубе-днс до 3х
Dmytro
они достаточно низкие, если у вас приложения не кешируют днс на какое-то время а фигачат кучу днс запросов - нужно увличить
Kyrylo
падений стало меньше, но падали поочереди все поды с кубе-днс ;)
Dmytro
например, у соседнй команды было пхп приложение которое на каждую страницу ходило до 400 раз в мемкеш по днс
Dmytro
они там наебались...
Kyrylo
да, учту при дальнейших вопросах
Dmytro
да, учту при дальнейших вопросах
еще вот на секцию Pod’s DNS Config посмотрите тут https://kubernetes.io/docs/concepts/services-networking/dns-pod-service/#pods
Dmytro
если вкратце, то по дефолту обычно стоит ndots:5 и на каждый днс резолв летит вместо одного запроса пачка вида <dns>.svc.local, т.е. все внешние ресурсы сначала внутри кластера
Dmytro
плюс еще летят всегда ipv4 и ipv6 резолвы
Dmytro
все это можно увидеть в логах dnsmasq если их включить
Dmytro
т.е. на один днс резолв от приложения выходит до 10 (по моим прикидкам) днс запросов
Kyrylo
Да, видел, как вариант снижения нагрузки - прописывание полного адреса сервиса вплодь до точки на конце.
Не помогло, но на всякий пожарный теперь делаю так
Evgeny
Dmytro
квота одинаковая но вот сколько из квоты использовано одним подом и сколько другим?
Evgeny
по логам получается сначала dnsmasq отваливается
I0725 15:08:54.586875 1 nanny.go:116] dnsmasq[18]: using nameserver 127.0.0.1#10053 for domain cluster.local
I0725 15:08:54.586885 1 nanny.go:116] dnsmasq[18]: using nameserver 127.0.0.53#53
I0725 15:08:54.586893 1 nanny.go:116] dnsmasq[18]: read /etc/hosts - 7 addresses
I0725 15:12:48.143322 1 nanny.go:116] dnsmasq[18]: Maximum number of concurrent DNS queries reached (max: 150)
I0725 15:12:58.154825 1 nanny.go:116] dnsmasq[18]: Maximum number of concurrent DNS queries reached (max: 150)
Dmytro
я бы еще пробовал все-таки включить логи dnsmasq посмотреть что там приходит то
Dmytro
Evgeny
потом sidecar перестает метрики получать
I0725 15:08:59.144350 1 dnsprobe.go:75] Starting dnsProbe {Label:kubedns Server:127.0.0.1:10053 Name:kubernetes.default.svc.cluster.local. Interval:5s Type:1}
I0725 15:08:59.144397 1 dnsprobe.go:75] Starting dnsProbe {Label:dnsmasq Server:127.0.0.1:53 Name:kubernetes.default.svc.cluster.local. Interval:5s Type:1}
W0725 15:12:51.207223 1 server.go:64] Error getting metrics from dnsmasq: read udp 127.0.0.1:39414->127.0.0.1:53: i/o timeout
W0725 15:13:05.150423 1 server.go:64] Error getting metrics from dnsmasq: read udp 127.0.0.1:44531->127.0.0.1:53: i/o timeout
Dmytro
я себе поставил во всех подах приложений ndots:1 потом что приложение ходит только во внешние ресурсы по FQDN в другие поды в этом неймспейсе по имени сервиса
Dmytro
нет, я про логи днс запросов
Dmytro
т.е. добавить флаг --log-queries в dnsmasq https://github.com/kubernetes/kubernetes/blob/master/cluster/addons/dns/kube-dns/kube-dns.yaml.base#L169
Kyrylo
Etki
blkmrkt
Нигде не нахожу пояснения. Наверное это должно быть понятно всем, но до меня не доходит:
Куб предназначен для работы исключительно внутри локальной сети, или разницы нет? Я ставил сервер отдельно, и добавил к нему 3 baremetal ноды по их публичным ип. Все вроде работало.
Но можно так делать вообще?
Aleksei
Что?! А сеть кубера на что?
Dmytro
Anonymous
Привет. Подскажите пожалуйста я насетапил liveness и readinessProbe но после этого у меня валится команда kubectl wait. Не подскажете в чем может бть проблема? может я неправильно настраиваю initialDelaySeconds или что то такое?
Dmytro
Lex
Эм, шаблонтзаторы плохи тем, что могут превратится в php
Lex
А этот сразу php
Lex
Только с lua
Lex
Вот есть тот же hcl, или hcl2, кривоват конечно, но все равно получше как по мне чем писать на lua
Dmytro
ну с такой аргументацией дальше дискуссию вести не вижу смысла
Dmytro
можно то можно, но сеть ведь между ниим публичная
Dmytro
со всеми вытекающими
blkmrkt
Dmytro
ну если настроите - будет
Dmytro
по умолчанию нет конечно, либо ipsec на уровне нод или на уровне overlay network мжду подами - через weave (и может другие CNI это умеют, не уверен)
cent
А как можно остановить весь k8s кластер?
Maksim
Logan
Стопануть все узлы по одному
cent
Мисье знает толк)
Ну, просто поставил себе кубер локально для управления докер контейнерами.
Ну, чтобы просто не забывать как там все работает.
Потому что если не пользуешься долгое время, то потом вообще ничего не можешь сделать.
Вот и решил docker-compose заменить на кубер.
Но когда мне этот кластер не нужен, то не хочу тратить ресурсы ноута.
Поэтому и задался проблемой остановки всего кластера на время.
Nata
Ansible -a kubecluster "systemctl stop kubelet" 😀
cent
Ну, вроде как.
Но оверхед же будет приличный.
Rainbow
Он же в виртуалках. Запаузить не выходит?
Etki
cent
за счет сетки?
Ну, да. Лоад балансер, сетевая ФС для БД и прочее.
Etki
Etki
ага, в форке
Etki
там не балансер встроен, а айпитейблы
Anton
Etki
на докир )
Anton
Тоесть из оверлей сети через нат ломится на виртуалку с редисом лутше?)
Anton
Хотя вот всякое межсервисное взаимодействие по http через ингресс заворачивать договорились, чтобы не думать в том же ты кластере находишься или нет. Да и если клиенту внешнему отдать нужно будет урл, чтобы не хранить у себя и внутренние и внешние адреса
cent
Михаил
Михаил