我正在尝试在k8集群中设置普罗米修斯,能够使用helm运行。当我使用外部 IP 将普罗米修斯服务器公开为负载均衡器服务时访问仪表板。 当我尝试将此服务配置为 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: /$2
spec:
rules:
- http:
paths:
- path: /prometheus(/|$)(.*)
backend:
serviceName: prometheus-server
servicePort: 80
有了上面的入口定义,URL "http://<>/Prometheus/被重定向到 http://<>/graph/然后呈现 404 错误页面。当 url 调整为 http://<>/prometheus/graph 时,一些 Web 控件会在浏览器控制台上呈现大量错误。
普罗米修斯可能希望控制根路径(/(。
请将入口更改为prometheus.example.com
,它应该可以正常工作。(将其更改为子域(
请更改您的入口配置文件,添加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: /$2
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。
入口定义:入口。
有用信息:舵普罗米修斯。
有用的文档:入口路径匹配。