如何让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
,它监听/
,我希望urlmy.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引入了很多更改。我会给你一个简短的答复,以提高能见度。