如何解决Traefik信息中心:Ingress和IngressRoute,它们可以共存吗?
最近,我将一个项目移至Kubernetes,并已使用Traefik作为入口控制器。对于Traefik,我已使用Traefik Kubernetes Ingress提供程序进行路由。当我尝试添加Traefik仪表板时,我发现似乎只能使用IngressRoute进行添加(即,使用Kubernetes CRD作为提供程序)。
我有几个问题:
- 是否可以使用Traefik Kubernetes Ingress提供程序来显示仪表板?
- 我可以同时使用kubernetesingress和kubernetescrd作为提供商吗? Ingress和IngressRoute可以共存吗?
解决方法
因此,我仅使用Traefik Kubernetes Ingress解决了Traefik仪表板问题,第一个问题的答案是“是”:
以下是我的配置:
traefik-deployment.yaml
kind: Deployment
apiVersion: apps/v1
metadata:
name: traefik
namespace: ingress-traefik
labels:
app: traefik
spec:
replicas: 1
selector:
matchLabels:
app: traefik
template:
metadata:
labels:
app: traefik
spec:
serviceAccountName: traefik-ingress-controller
containers:
- name: traefik
image: traefik:v2.2
ports:
- name: web
containerPort: 80
- name: websecure
containerPort: 443
- name: admin
containerPort: 8080
args:
- --api
- --api.insecure=true
- --api.dashboard=true
- --providers.kubernetesingress
- --providers.kubernetescrd
- --entrypoints.web.Address=:80
- --entrypoints.websecure.Address=:443
traefik-dashboard-ingress.yaml
apiVersion: networking.k8s.io/v1beta1
kind: Ingress
metadata:
name: traefik-dashboard-ingress
namespace: ingress-traefik
annotations:
kubernetes.io/ingress.class: traefik
traefik.ingress.kubernetes.io/router.entrypoints: web,websecure
traefik.ingress.kubernetes.io/router.tls: "true"
traefik.ingress.kubernetes.io/router.middlewares: ingress-traefik-traefikbasicauth@kubernetescrd
cert-manager.io/cluster-issuer: letsencrypt-prod
spec:
tls:
- secretName: cert-stage-wildcard
rules:
- host: traefik.your-domain.io
http:
paths:
- path: /
backend:
serviceName: traefik-service
servicePort: 8080
提出此问题的关键是设置api.insecure=true
,使用此命令我可以在我的本地主机上进行端口转发和测试Traefik仪表板,然后通过traefik kubernetes ingress
路由服务。
另一个问题(我可以同时使用kubernetesingress
和kubernetescrd
作为提供者)也被确认为“是”,因为我现在将它们与kubernetesingress
一起用于路由和kubernetescrd
在basicAuth MiddleWare上。
但是我猜这两个路由方案ingress
和ingressRoute
可能无法共存,因为它们都用于路由,并且当两者同时使用时,系统将仅使用其中一种存在。如果我错了,请纠正我。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。