【发布时间】:2021-10-09 01:12:59
【问题描述】:
我在 k3s 下运行 prometheus 和 grafana,可分别在 http://monitoring.internal/prometheus 和 http://monitoring.internal/grafana 访问。例如,grafana Ingress 对象如下所示:
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: grafana
annotations:
kubernetes.io/ingress.class: traefik
spec:
rules:
- host: monitoring.internal
http:
paths:
- path: /grafana
pathType: Prefix
backend:
service:
name: grafana
port:
number: 3000
这很好用,除了如果你降落在
http://monitoring.internal/,您收到 404 错误。我想
请求 http://monitoring.internal/ 重定向到
http://monitoring.internal/grafana。我也许可以创造另一个
运行类似darkhttpd ... --forward-all http://monitoring.internal/grafana 的服务,并创建一个 Ingress 对象
这会将/ 映射到该服务,但似乎应该有
成为 Traefik 本身的一种方式。
看起来我在本地运行 Traefik 2.4.8:
$ kubectl -n kube-system exec -it deployment/traefik -- traefik version
Version: 2.4.8
Codename: livarot
Go version: go1.16.2
Built: 2021-03-23T15:48:39Z
OS/Arch: linux/amd64
我发现 this documentation for 1.7 表明有一个注释正是用于此目的:
-
traefik.ingress.kubernetes.io/app-root: "/index.html": 重定向 对 / 到已定义路径的所有请求。
但是在 grafana 入口对象上设置它似乎没有 任何影响,我还没有找到 2.x 的类似文档 (我环顾四周 here,为 示例)。
设置这种重定向的正确方法是什么?
【问题讨论】:
标签: kubernetes kubernetes-ingress traefik k3s