You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Kubernetes上Traefik的Path/PathPrefix路由配置失效问题排查

问题排查与解决方案

1. TLS证书名称不匹配

你的后两个IngressRoute配置中,tls.secretName写为api-baywa-lusy-com-cert,但原始配置对应的证书是api-my-domain-com-cert,域名不匹配会导致Traefik无法正确绑定证书,进而可能使该IngressRoute的规则失效。请修正为正确的证书名称:

tls:
  secretName: api-my-domain-com-cert

2. 跨命名空间服务访问权限

Traefik默认使用的ServiceAccount通常仅拥有自身命名空间的访问权限,无法直接访问namespace2中的users-api服务。需要为Traefik配置跨命名空间访问权限:

  • 创建ClusterRole,允许访问所有命名空间的服务、端点和密钥:
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
  name: traefik-cross-namespace-access
rules:
- apiGroups: [""]
  resources: ["services", "endpoints", "secrets"]
  verbs: ["get", "list", "watch"]
  • 将该ClusterRole绑定到Traefik的ServiceAccount(假设Traefik部署在kube-system命名空间):
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
  name: traefik-cross-namespace-binding
roleRef:
  apiGroup: rbac.authorization.k8s.io
  kind: ClusterRole
  name: traefik-cross-namespace-access
subjects:
- kind: ServiceAccount
  name: traefik
  namespace: kube-system

3. 路径匹配规则优化

如果你的请求包含/users/或/users/{id}这类子路径,Path(/users)仅匹配精确的/users路径,此时应改用PathPrefix(/users)。若新服务期望接收不带/users前缀的请求,需添加中间件剥离前缀:

routes:
- match: Host(`api.my-domain.com`) && PathPrefix(`/users`)
  kind: Rule
  priority: 2000
  middlewares:
    - name: strip-users-prefix
  services:
    - name: users-api
      namespace: namespace2
      port: 80

对应的Middleware配置(需在namespace1中创建):

apiVersion: traefik.containo.us/v1alpha1
kind: Middleware
metadata:
  name: strip-users-prefix
  namespace: namespace1
spec:
  stripPrefix:
    prefixes:
      - /users

4. 验证服务端点可用性

确认namespace2中的users-api服务对应的端点处于就绪状态:

kubectl get endpoints users-api -n namespace2

若端点未就绪,Traefik会跳过该路由规则,请求将自动 fallback到下一个匹配的旧服务路由。

5. 检查Traefik日志

查看Traefik Pod的日志,排查是否存在路由规则解析错误、服务访问权限问题或证书加载失败:

kubectl logs -n kube-system <traefik-pod-name>

内容的提问来源于stack exchange,提问作者Pascal Paulis

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.03 06:20:52