gpt4 book ai didi

kubernetes - 访问prometheus服务器的入口路由规则

转载 作者:行者123 更新时间:2023-12-02 11:55:36 25 4
gpt4 key购买 nike

我已经在 kubernetes(1.17.3) 上部署了 prometheus server(2.13.1),我可以在 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 错误

最佳答案

Prometheus 不知道您要实现的目标,这就是它重定向到未知目的地的原因。

您必须告诉 prometheus 接受新路径上的流量,如 here 所示和 here .

突出显示第二个链接,您必须包含 - "--web.route-prefix=/"- "--web.external-url=http://my.prom.com:9090/prometheus" 在您的 prometheus 部署中。

Then I had to modify the prometheus deployment to accept traffic on the new path (/prom). This was covered in the Securing Prometheus API and UI Endpoints Using Basic Auth documentation:

在您的环境中,它应该如下所示:

> grep web deploy.yaml 
- "--web.enable-lifecycle"
- "--web.route-prefix=/"
- "--web.external-url=http://my.prom.com:9090/prometheus"

关于kubernetes - 访问prometheus服务器的入口路由规则,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61121046/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com