Artyom
Я неопытный
Artyom
Я гуглил, гуглил, гуглил и в конечном итоге пришёл к тому, что можно попробовать
Artyom
И попробовал
Andor
у меня pgpool сливал голому постгресу по производительности
Andor
это конечно давно было, но осадочек остался
Andor
ну и я туда в код тогда заглядывал, после этого не хочется связываться с ним
Andor
pgbouncer ван лав
Anton
Почему нельзя приложения настроить так, чтобы они своими пулами не пробивали максимум коннектов?
Andor
всё равно лучше пул перед базой прицепить специально
Andor
потому что приложение может заскейлиться например
Anton
потому что приложение может заскейлиться например
Тоже верно. Я пробовал тоже и pgpool и pgbouncer, в итоге точнее пулы аппов настроили и стало лучше
Andor
pgbouncer никак не мешает пулам приложений
Anton
Вообще любая прослойка может неожиданный эффект иметь
Dmytro
Единственное к чему я не имею претензий это к GO шаблонизатору, и даже в этом моменте разрабы helm нагавнякали, выпилили поддержку env и expandenv из него. Вот реально пидарасы.
они не выпилили насколько я понимаю, просто рендерится темплейт то на стороне тиллера где нету env ваших локальных
Dmytro
Зачем дублировать файлы с параметрами? Потом сложнее уследить где править кмк, чем когда всё перед глазами
а не надо дублировать, сложить в один values.yaml общее и в два других то что отличается и потом по два файла (общий плюс значения для этого кластера) в зависимости от кластера хелму передавать
Dmytro
Господа, стоит ли смотреть на ALB-ingress-controller?
зависит от юзкейса, возможно стоит сразу на EKS смотреть тогда - там он из коробки
Sergei
и чот нет в EKS ALB изкаропке. как минимум в моём EKS.
Dmytro
Почему нельзя приложения настроить так, чтобы они своими пулами не пробивали максимум коннектов?
хмм а как ты это представляешь если приложения сидят на HPA по цпу или кастомной метрике и могут скейлиться от 2 до 10 реплик (например)? Ну т.е. можно но выйдет пул на реплику 20 коннектов (например) что может быть недостаточно
Dmytro
и чот нет в EKS ALB изкаропке. как минимум в моём EKS.
да там у них как обычно надо сделать пачку пост инсталл шагов
Sergei
ноды сам, с апгрейдами - непонятно, интеграции RBAC с IAM нет
Dmytro
во https://github.com/aws-samples/aws-workshop-for-kubernetes/tree/master/04-path-security-and-networking/405-ingress-controllers
Dmytro
позавчера был у нас в компании воркшоп от амазона, сидели офигевали
Sergei
позавчера был у нас в компании воркшоп от амазона, сидели офигевали
ну т.е. я пока не вижу ЗНАЧИТЕЛЬНЫХ преимуществ перед kops/kubespray у EKS
Sergei
есть надежда, что сделают получше
Dmytro
15 минут на создание кластера и это мы только получаем мастера, а потом еще 10-15 минут добавить воркеры
Dmytro
преимущество простое - решение проблем через создание тикета
Sergei
15 минут на создание кластера и это мы только получаем мастера, а потом еще 10-15 минут добавить воркеры
ну таки у меня катаются мастера + ноды одним конфигом терраформа за 11-12 минут
Sergey
Иначе - сасай
Dmytro
ну конечно энтерпрайз саппорт есть
Dmytro
это по дефолту, иначе вообще с амазоном серьезные приложения не покрутишь имхо
Dmytro
будешь выгребать все их тупые баги когда ломается какой-то managed service типа elasticache и дальше первого уровня индусов саппорта не пробьешься
Sergey
это по дефолту, иначе вообще с амазоном серьезные приложения не покрутишь имхо
Ну тут такое, но крупный интерпрейз все же чаще покупает саппорт
Dmytro
ну конечно, а как ещё
Etki
в кубернетесе есть рестрикшены на длину имен неймспейсов ?
Насколько помню, как в днс, 64 максимум на сегмент, 256 все целиком. Но лучше свериться со спекой.
Dmytro
кстати, может кто-то может подсказать как мне заставить kube-dns не пытаться резолвить некоторые домены сначала внутри кластера? т.е. у меня есть route53 зона и я хочу чтобы на резолв доменов вида *.companydomain.com он сразу отправлял запрос в dns server выданный амазон в vpc (т.е. в случае дефолтного cidr это 10.0.0.2)? пробовал по вот этой доке настроить https://kubernetes.io/blog/2017/04/configuring-private-dns-zones-upstream-nameservers-kubernetes/ stubDomains: | {“companydomain.com”: [“10.0.0.2”]} но вижу в логах он всё равно пытается сначала зарезовлить внутри кластера добавляю .svc.local в конец и т.п.
Dmytro
может конечно днс под не увидел configmap после того как я его создал как в статье описано и рестартанул под (внутрь контейнера не заходил не проверял появился ли маунт, надо бы проверить)
Dmytro
а может я что-то не понимаю и это вообще не так надо делать? И вопрос в догонку, может это можно сделать с помошью coredns? У меня сейчас 1.10 но в 1.11 coredns из коробки - может стоит сразу переехать на coredns если это решит все эти бесконечные проблемы с днс
Dmytro
само по себе то что резолвить сначала пытается внутри кластера не проблема но у меня я так понимаю вот эта проблема https://github.com/kubernetes/dns/issues/96 - т.е. иногда рандомно приложение не может зарезолвить днс. Я уже поднял количество реплик kube-dns чтобы было по 1 реплике на ноду (так я спасался от этих проблем во времена 1.4) но что-то не помогло 😕
Andor
у тебя же в resolv.conf в подах вписано ndots:2 или 3
Dmytro
куда копать как задебажить проблему нормально если она рандомно вылазит время от времени - теряюсь в догадках. Включил логи запросов в kube-dns но там их столько сыпется что там фиг что найдешь
Andor
ну то есть в днс-сервер будет прилетать всегда с подстановкой куберовского днс сначала
Dmytro
у тебя же в resolv.conf в подах вписано ndots:2 или 3
у меня вообще 5 кажется стоит - как по дефолту в копсе
Andor
ну там задранное значение, я не помню точно
Dmytro
да, а как это можно исправить? я вот думал stubDomains опция должна это исправить
Dmytro
но что-то ничего не поменялось
Andor
ну настройки резолв.конф она точно не исправит
Andor
честно говоря даже не знаю
Dmytro
короче надо дебажить дальше :(
Andor
так уж резолвер работает
Dmytro
coredns у меня что-то с полпинка не взлетел (как обычно есть хелм чарт который stable но ни фига не работает), вот думаю стоит попытаться докрутить coredns или там будет та же проблема
Andor
ну проблема-то не в днс-сервер
Dmytro
так уж резолвер работает
я понимаю но по статье (вот картинка https://1.bp.blogspot.com/-IeFx2Uuq_i0/WORRuQpxG_I/AAAAAAAABBA/g1P3ljd7YGYMShoHJnPRK1IfX5h3o9GvACEw/s400/dns.png не должен kube-dns ломиться на кластерный резолвер а должен сразу идти на апстрим)
Dmytro
вернее dnsmasq
Andor
а ты можешь настройки днсмаск подкрутить?
Andor
хотя тебе же под всё равно посылает сначала днс-запрос с приаттаченым твоим днс-адресом
Dmytro
конечно могу и я уже подкрутил - включил логирование запросов
Dmytro
под ломится на что-то типа mysql.demo.company.com который есть CNAME или A ALIAS в амазоновском route53 для RDS, elasticache и т.п.
Andor
ну ты же знаешь как ndots работает и кто его читает
Dmytro
может ломится и по прямому урлу зостед сервиса, т.е. типа <какакая-то херня из букв и цифр>.amazonaws.com
Andor
а тебе этому поду надо во внутренние куберные адреса ходить?
Dmytro
кажется до меня дошло, у меня же сначала resolv.conf внутри каждого пода
Andor
ну!
Dmytro
а тебе этому поду надо во внутренние куберные адреса ходить?
надо ходить в один (но может стать больше)
Andor
а приемлимо ли будет ходить по полным внутрикуберовским адресам?
Andor
если да, то просто сделай ndots:0
Andor
ну или типа того
Andor
для этого пода