Dmitry
и все что он добавить в автодискавери будет принадлежат одному джобу
Serega
ну будет джоба kubernetes-service-endpoints
с кучей эндпоинтов. ну лейблы же есть на каждом сервисе.
Dmitry
это все будет в одной куче, и будет иметь лейблы, постегрс-тест, постегрес-прод, хапрокси-дев, тест-ракушка, прод-чебурек
Anton
ну есть конечно здравая мысль, при очень большом числе экспортеров может быть полезно свой конфиг со своим дискавери описывать
Dmitry
я использую статический конфиг, явно задаю адрес, порт, метку, джоб
Anton
воу
Anton
а когда под переезжает?
Anton
или по сервисному ip?
Dmitry
лучше
под кластерному имени
Dmitry
vasya.default.svc
Anton
но endpoints же много может быть за ним
Dmitry
потому что если мигрируешь на новый кластер то вип адрес так же может поменяться
Dmitry
тогда делает отдельный джоб с автодискавери конкретно для этого сервиса
Anton
лан, спорить не буду. у меня пока что и сервисов нет в таком количестве чтобы от дискаверинга из коробки отказываться
Anton
раз речь про prometheus.
на 1.8.4 у меня не работает опять cAdvisor.
добавлял для него job, с 4194 портом. но он теперь выдает:
server returned HTTP status 503 Service Unavailable
url: https://kubernetes.default.svc:443/api/v1/nodes/<NODENAME>:4194/proxy/metrics
Anton
что опять изменилось в kubelet\cadvisor?
Maksim
мм
Anton
4194 порт на хостах не открыт. не помню как раньше это было
Maksim
он пишет то другое...он не моет получить список нод от аписервера
Anton
не, урл я поправил чтобы понятно было что там имя ноды
Maksim
да и метрики cAdvisor должно просто видно
Anton
тоесть дискаверинг как нужно работает, на каждую ноду по урлу
Maksim
то есть они доступны просто по http
Maksim
вообще порт у cAdvisor 10255
Anton
ок, на кубелете :10255/metrics/cadvisor метрики cadvisor есть
Maksim
вот и прометеус их должен там же искать
Maksim
а вообще метрики кублета нужно собирать хипстером
Maksim
-)
Dmitry
или node-exporter
Dmitry
который как раз писали для этих целей чтоб использовать с прометеем
Anton
давайте не накидывать в кучу все. node_exporter собирает инфу о хосте.
cadvisor - о контейнерах
Anton
зачем кстати heapster, если из коробки уже есть все для прома?
Maksim
или hps допили до прометеуса?
Anton
короч насчет 4194 порта я не понимаю. есть фикс https://github.com/kubernetes/charts/pull/2700/files
но это конфигурация у меня на 1.8.4 не работает, потому что порт не открыт этот, а метрики в кубелете на :10255/metrics/cadvisor
G72K
G72K
Dmitry
G72K
да ходят по вип
Просто интересно - зачем поду ходить самому к себе по вип? Вообще смотрите hairpin mode в флагах kubelet
Dmitry
есть два пода они общаются между с собой по вип потому что поды могут запускаться на разных нодах, как только они случайно оказались на одной ноде, все, вип адрес не работает
G72K
вип это serviceIP?
Dmitry
clusterIP aka vip
G72K
Ok. Вот этот сервис куда они ходят, оба пода в нем, так?
Dmitry
оба пода на одном сервере
Maksim
Да в ОС всегда много игрушек, вопрос, сколько их будет реально в проде работать-)
Dmitry
и два кластерных ип адреса принадлежащих каждому из них
Dmitry
я прочитал о нем, не подходит, проблема в правилах iptables не происходит резолвинг кластерного адреса в ип адрес ендпоинта
Maksim
clusterIP это свойство сервиса, то есть у тебя два сервиса привязанных к отдельным подам? а поды это реплики одго деплоя? или разных?
Maksim
G72K
кластер ип не меняется
G72K
А адрес пода всегда разный при каждом перезапуске пода
Maksim
ну так, dns не резолвит ip пода, он резолвит clusterIP сервиса, и это самый clusterIP правилами DNAT отправляет трафик на endpoint в виде ip пода.
G72K
Имеенно
Maksim
и где проблема хешей днс?
G72K
А значит в днс кешах всегда то что нужно
Maksim
тогда почему подов 1:1 к сервисам?
Maksim
можно же держать и больше...
G72K
Чтобы ходить в под и не парится
G72K
Так если не надо больше. Разные подв, разные деплои, разнвые сервисы
Anatoliy
народ, у кого микросервисы - у вас как, приложения между собой друг другу доверяют или тоже идет подтверждающий токен некий?
Dmitry
доверяют, но теперь через rbac можно контролировать кому разрешено и запрешено подключаться
Dmitry
https://m.habrahabr.ru/company/southbridge/blog/337088/
Dmitry
как раз у меня была в закладках
Anatoliy
Vitalii
Не понял как связаны RBAC и кастомная авторизация между подами...
G72K
В теории в apiserver можно подшить свои эндпоинты и заюзать плюшки rbac
Dmitry
приложение может обращаться к аписерверу чтоб узнать список ендпоинтов для подключения нужного сервиса
Dmitry
а ты можешь запретить приложению получать этот список
G72K
Они кажется то ли к 1.10 то ли 1.11 собирались все разнести аккуратно, чтобы можно было свои rest API сервера писать
Anatoliy
в принципе можно туда пихнуть, но меня смущает пихать это в КАЖДОЕ приложение кластера(
Vitalii
Ну такое. Service discovery с авторизацией вместо авторизации между сервисамм
G72K