如何让traefik.ingres.kubernetes.io/rule-type:PathPrefixStrip工作?

如何让traefik.ingres.kubernetes.io/rule-type:PathPrefixStrip工作?,kubernetes,traefik,traefik-ingress,Kubernetes,Traefik,Traefik Ingress,我有以下库伯内特名单 apiVersion: extensions/v1beta1 kind: Ingress metadata: annotations: kubernetes.io/ingress.class: traefik-external traefik.ingress.kubernetes.io/router.entrypoints: websecure, web traefik.ingress.kubernetes.io/rule-type: PathP

我有以下库伯内特名单

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  annotations:
    kubernetes.io/ingress.class: traefik-external
    traefik.ingress.kubernetes.io/router.entrypoints: websecure, web
    traefik.ingress.kubernetes.io/rule-type: PathPrefixStrip
  name: ingressname
  namespace: thenamespace
spec:
  rules:
  - host: my.host
    http:
      paths:
      - backend:
          serviceName: theservice
          servicePort: 8080
        path: /api
在一个服务中,
theservice
,它监听
/
,我希望url
my.host/api/something/anotherthing
服务中的
/something/anotherthing
匹配。但我没有这样做,我得到了404


有什么想法吗?

在从v1到v2的转换过程中,Traefik的许多内部部件和组件被重写和重组。因此,前端和后端等核心概念的组合已被和的组合所取代

通过v2转换,传入请求的URL路径前缀在路由步骤之后配置为object

对于v1,它在入口级别定义:

apiVersion:networking.k8s.io/v1beta1 种类:入口 元数据: 姓名:traefik 注释: kubernetes.io/ingres.class:traefik traefik.ingres.kubernetes.io/rule-type:PathPrefixStrip 规格: 规则: -主持人:company.org http: 路径: -路径:/admin 后端: serviceName:admin svc 服务端口:管理员
使用v2,您还可以在入口路由旁定义中间件对象:


apiVersion:traefik.containo.us/v1alpha1
种类:安格尔斯路
元数据:
名称:http重定向入口路由
名称空间:管理web
规格:
入口点:
-网
路线:
-匹配:主机(`company.org`)和路径前缀(`/admin`)
种类:规则
服务:
-姓名:admin svc
端口:admin
中间商:
-名称:admin-stripprefix
---
种类:中间件
元数据:
名称:admin-stripprefix
规格:
条带前缀:
前缀:
-/管理员
更多信息可在此处找到:

您是如何安装traefik的?是否使用了特定的选项?你用的是哪个K8s版本?你用的是哪个traefik版本?它是版本2,所以我需要添加一些中间件来让它工作。这是我怀疑的,因为v2引入了很多更改。我会给你一个简短的答复,以提高能见度。