kubernetes - Traefik Dashboard - 自定义 API 路径
问题描述
我可以将仪表板的 Traefik 的默认 api 路径更改为/api
其他路径吗?不幸的是,我发现这个链接不再起作用了。
Traefik 在我的场景中充当 Kubernetes 入口控制器,我正在使用基于路径的路由。现在的问题是我不能/api
用于我自己的微服务,因为仪表板已经使用了这个路径(这些端点)。
仪表板的入口配置:
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: traefik-web-ui
annotations:
kubernetes.io/ingress.class: traefik
traefik.ingress.kubernetes.io/priority: "2"
spec:
rules:
- http:
paths:
- path: /dashboard
backend:
serviceName: traefik-web-ui
servicePort: http
- path: /api <-- needed to make dashboard's api available
backend:
serviceName: traefik-web-ui
servicePort: http
微服务之一的入口配置:
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: backend
annotations:
kubernetes.io/ingress.class: traefik
traefik.ingress.kubernetes.io/priority: "999"
spec:
rules:
- http:
paths:
- path: /apis/ <-- i'd rather use /api here
backend:
serviceName: {{ include "my-backend.fullname" . }}
servicePort: http
解决方案
您可以按如下方式自定义它
defaultEntryPoints = ["http"]
[entryPoints]
[entryPoints.http]
address = ":80"
[entryPoints.foo]
address = ":8080"
[entryPoints.bar]
address = ":8081"
# Activate API and Dashboard
[api]
entryPoint = "bar"
dashboard = true
[file]
[backends]
[backends.backend1]
[backends.backend1.servers.server1]
url = "http://127.0.0.1:8081"
[frontends]
[frontends.frontend1]
entryPoints = ["foo"]
backend = "backend1"
[frontends.frontend1.routes.test_1]
rule = "PathPrefixStrip:/yourprefix;PathPrefix:/yourprefix"
Traefik 的相应文档在这里
推荐阅读
- python - 如何根据编码的分类特征制作分类器?
- python - NumPy - 生成多个间隔
- android - 如何在 Kotlin 中将句柄 Light System Bars 导航主题更改为 API 30
- ios - 无法在此文件中预览 - 无法获取 [AppName].app 的沙盒容器的位置
- c++ - 尝试释放 std::forward_list 指针的动态数组(C++)
- c - C 队列错误地存储值
- jupyter-notebook - 如何在 google colab 上运行 jupyter notebook,k 次并取得一些结果?
- firebase - 如何实现 Firestore 数据加密?
- r - ggplot:在一张图上绘制多个函数
- javascript - 试图处理卸载事件