普罗米修斯仪表板暴露在入口控制器上
Prometheus dashboard exposed over ingress controller
我正在尝试在 k8 集群中设置 Prometheus,能够 运行 使用 helm。当我使用外部 ip 将 prometheus-server 公开为 LoadBalancer 服务时访问仪表板。
当我尝试将此服务配置为 ClusterIP 并使用入口控制器将其作为后端时,同样不起作用。收到 404 错误,想知道如何解决这个问题吗?
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: ops-ingress
annotations:
#nginx.org/server-snippet: "proxy_ssl_verify off;"
nginx.ingress.kubernetes.io/rewrite-target: /
spec:
rules:
- http:
paths:
- path: /prometheus(/|$)(.*)
backend:
serviceName: prometheus-server
servicePort: 80
有了上面的入口定义,url“http://<>/prometheus/ 被重定向到 http://<>/graph/,然后呈现 404 错误页面。当 url 调整为 http://<>/prometheus/graph 时,某些 Web 控件在浏览器控制台上呈现时出现大量错误。
Prometheus 可能希望控制根路径 (/)。
请将 Ingress 更改为 prometheus.example.com
,它应该可以正常工作。 (将其更改为子域)
请更改您的 Ingress 配置文件,添加 host
字段:
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: ops-ingress
annotations:
#nginx.org/server-snippet: "proxy_ssl_verify off;"
nginx.ingress.kubernetes.io/rewrite-target: /
spec:
rules:
- host: prometheus.example.com
http:
paths:
- path: /prometheus(/|$)(.*)
backend:
serviceName: prometheus-server
servicePort: 80
然后应用更改执行命令:
$ kubectl aply -f your_ingress_congifguration_file.yaml
请求中的host
头字段提供主机和端口
来自目标 URI 的信息,使源服务器能够
在为多个请求提供服务时区分资源
单个 IP 地址上的主机名。
请看这里:hosts-header.
入口定义:ingress.
有用信息:helm-prometheus.
有用的文档:ingress-path-matching。
我正在尝试在 k8 集群中设置 Prometheus,能够 运行 使用 helm。当我使用外部 ip 将 prometheus-server 公开为 LoadBalancer 服务时访问仪表板。 当我尝试将此服务配置为 ClusterIP 并使用入口控制器将其作为后端时,同样不起作用。收到 404 错误,想知道如何解决这个问题吗?
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: ops-ingress
annotations:
#nginx.org/server-snippet: "proxy_ssl_verify off;"
nginx.ingress.kubernetes.io/rewrite-target: /
spec:
rules:
- http:
paths:
- path: /prometheus(/|$)(.*)
backend:
serviceName: prometheus-server
servicePort: 80
有了上面的入口定义,url“http://<>/prometheus/ 被重定向到 http://<>/graph/,然后呈现 404 错误页面。当 url 调整为 http://<>/prometheus/graph 时,某些 Web 控件在浏览器控制台上呈现时出现大量错误。
Prometheus 可能希望控制根路径 (/)。
请将 Ingress 更改为 prometheus.example.com
,它应该可以正常工作。 (将其更改为子域)
请更改您的 Ingress 配置文件,添加 host
字段:
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: ops-ingress
annotations:
#nginx.org/server-snippet: "proxy_ssl_verify off;"
nginx.ingress.kubernetes.io/rewrite-target: /
spec:
rules:
- host: prometheus.example.com
http:
paths:
- path: /prometheus(/|$)(.*)
backend:
serviceName: prometheus-server
servicePort: 80
然后应用更改执行命令:
$ kubectl aply -f your_ingress_congifguration_file.yaml
请求中的host
头字段提供主机和端口
来自目标 URI 的信息,使源服务器能够
在为多个请求提供服务时区分资源
单个 IP 地址上的主机名。
请看这里:hosts-header.
入口定义:ingress.
有用信息:helm-prometheus.
有用的文档:ingress-path-matching。