Входящие правила маршрутизации для доступа к серверу Прометей - PullRequest
1 голос
/ 09 апреля 2020

Я развернул сервер Prometheus (2.13.1) в kubernetes (1.17.3), я могу получить к нему доступ http://my.prom.com:9090

Но я хочу получить к нему доступ http://my.prom.com:9090/prometheus, поэтому я добавил следующие правила входа, но он не работает

Первая попытка:

apiVersion: networking.k8s.io/v1beta1
kind: Ingress
metadata:
  annotations:
    nginx.ingress.kubernetes.io/app-root: /prometheus
  name: approot
  namespace: default
spec:
  rules:
  - host: my.prom.com
    http:
      paths:
      - backend:
          serviceName: prometheus-svc
          servicePort: 9090
        path: /

Это приводит к ошибке 404

Вторая попытка:

apiVersion: networking.k8s.io/v1beta1
kind: Ingress
metadata:
  annotations:
    nginx.ingress.kubernetes.io/rewrite-target: /$2
  name: rewrite
  namespace: default
spec:
  rules:
  - host: my.prom.com
    http:
      paths:
      - backend:
          serviceName: prometheus-svc
          servicePort: 9090
        path: /prometheus(/|$)(.*)

Теперь, когда я получаю доступ к URL http://my.prom.com:9090/prometheus в браузере, он изменяется на http://my.prom.com:9090/graph и показывает ошибку 404

1 Ответ

2 голосов
/ 09 апреля 2020

Прометей не знает, чего вы пытаетесь достичь, и поэтому он перенаправляется в неизвестный пункт назначения.

Вы должны сказать Прометею, чтобы он принимал траффи c на новом пути, как видно здесь и здесь .

Выделите вторая ссылка, вы должны включить - "--web.route-prefix=/" и - "--web.external-url=http://my.prom.com:9090/prometheus" в ваше развертывание Prometheus.

Затем мне пришлось изменить развертывание Prometheus , чтобы принимать трафик на новом путь ( / выпускной ). Это было рассмотрено в Обеспечении безопасности Prometheus API и конечных точек пользовательского интерфейса с использованием базовой аутентификации документации:

В вашей среде должно выглядеть так:

> grep web deploy.yaml 
            - "--web.enable-lifecycle"
            - "--web.route-prefix=/"
            - "--web.external-url=http://my.prom.com:9090/prometheus"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...