Traefik IngressRoute CRD未注册路由问题求助
问题:GKE集群中Traefik CRD方式配置IngressRoute不生效
我在GKE集群上用Traefik Proxy代理微服务,所有操作通过CRD完成,已自定义部署Traefik到集群。Traefik仪表盘可正常访问,但配置IngressRoute后,路由无法访问且不在仪表盘显示。用标准Kubernetes Ingress对象配置时,路由能在仪表盘显示,但有中间件相关问题,所以更倾向用CRD方式。微服务的Deployment和Service部署正常,在GKE仪表盘可见且运行状态良好。不确定自定义CRD IngressRoute是否需要创建Ingress资源。
配置相关信息
- 使用Kustomize处理覆盖配置及通用数据
- 通过Kustomize为所有资源应用
users命名空间
已执行的CRD与RBAC配置命令
kubectl apply -f https://raw.githubusercontent.com/traefik/traefik/v2.9/docs/content/reference/dynamic-configuration/kubernetes-crd-definition-v1.yml kubectl apply -f https://raw.githubusercontent.com/traefik/traefik/v2.9/docs/content/reference/dynamic-configuration/kubernetes-crd-rbac.yml
配置文件详情
deployment.yml
apiVersion: apps/v1 kind: Deployment metadata: name: users-service spec: replicas: 1 strategy: rollingUpdate: maxSurge: 1 maxUnavailable: 0 type: RollingUpdate template: metadata: labels: app: users-service spec: containers: - name: users-service image: ${IMAGE} imagePullPolicy: IfNotPresent ports: - name: web containerPort: ${HTTP_PORT} readinessProbe: httpGet: path: /ready port: web initialDelaySeconds: 10 periodSeconds: 2 envFrom: - secretRef: name: users-service-env-secrets
service.yml
apiVersion: v1 kind: Service metadata: name: users-service spec: ports: - name: web protocol: TCP port: 80 targetPort: web selector: app: users-service
ingress.yml
apiVersion: traefik.containo.us/v1alpha1 kind: Middleware metadata: name: users-stripprefix spec: stripPrefix: prefixes: - /userssrv --- apiVersion: traefik.containo.us/v1alpha1 kind: IngressRoute metadata: name: users-service-ingress spec: entryPoints: - service-port routes: - kind: Rule match: PathPrefix(`/userssrv`) services: - name: users-service namespace: users port: service-port middlewares: - name: users-stripprefix
内容的提问来源于stack exchange,提问作者Zach W
相关产品推荐
相关产品推荐

