прописать чтоб он ломился не просто в порт сервиса а еще и path ? ну то есть service:80/path ?
спрошу с другой стороны. начитался про web.external_url и web.route_prefix, чтоб прометеус вытащить на /prometheus но почему то все равно не взлетает. и вопрос, будет ли корректно указать в web.external_url адрес сервиса в кубе? ну типа "prometheus_server/prometheus"
Посмотрите Path в ингрессе
annotations: nginx.ingress.kubernetes.io/rewrite-target: /$2 - backend: serviceName: prometheus servicePort: http path: /prometheus(/|$)(.*) pathType: ImplementationSpecific и никаких настроек на стороне прометея
прометей живет по родному пути ? и норм отвечает?
да, пофакту вы отрежете в proxy_path prometheus и запрос к нему придет на /, а он там как раз и ждет запросы
сейчас попробую. круто если заработает а на ингресс трафик приходит как /prometheus ?
перехожу по hostname/prometheus —> кидает на hostname/graph
Так все корректно это прометеевский редирект уже
ну так а надо то чтоб отвечал по /prometheus/graph :D в этом и суть
--web.external-url добавьте в пром, я забыл что он там сам редиректы херачит
епта. дак я с этого и начал)) я спрашивал корректно ли будет прописать туда URL сервиса куба. ну внутреннее имя или нет.
Писать внешний надо, можно просто наверно указать --web.route-prefix=/prometheus и ни че не делать на nginx
веб роут префикс дает нам что внутри контейнера прометеус начинает жить по /prometheus тогда возникает вопрос как сделать чтоб ингресс ходил в контейнер не просто по servicename:port а по servicename:port/prometheus
но этот path он же не для этого. path после service написать?
Он для этого как раз
Но это может быть не удобно, если у вас там графаны всякие у них тоже путь до прома править придётся
использовать отдельное имя четвертого уровня?
Я про экстернал, можно засунуть за роут + реврайт, и опция веб экстернал в проме, тогда для внутрянки ничего не придётся делать, заставить прометей слушать роут, или субдомен, как вам удобно уже
Зачем, зачем, мистер Андерсон? Почему не сделать просто так: annotations: nginx.ingress.kubernetes.io/rewrite-target: $1 - backend: serviceName: prometheus servicePort: http path: /prometheus(.*) pathType: ImplementationSpecific
Да можно наверно
Дело в том, что некоторые версии контроллера ломаются, завидев конструкцию $), принимая её за переменную с именем )
Я не ловил, но и кроме нгинкс ингрес ничего и не юзал
я ловил и именно на нгинксе. Возможно, старая версия была, а в свежих пофиксили.
интересно, старые? не встречал, но интересный баг
Можно поломать если написать $1 и не добавить регулярку
но это все равно не спасет от желания видеть прометеус на /prometheus )
Обсуждают сегодня