Nuw*_*era 16 google-kubernetes-engine
我在 kubernetes 中部署了名为“test”的服务。服务名称:测试端口:80
有一个名为“/abc”的端点
入口.yaml
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: load-balancer
spec:
rules:
- http:
paths:
- path: /test/*
backend:
serviceName: test
servicePort: 80
Run Code Online (Sandbox Code Playgroud)
API 调用“ http://ip-address/test/abc ”给出 404 错误。但是端点“/test/abc”工作正常。
路由时我需要跳过“/test”。我如何做到这一点。
Ahm*_*gle 12
您正在寻找 url 重写功能。目前仅支持 nginx-ingress(不支持 GKE ingress)。https://github.com/kubernetes/ingress-nginx/blob/master/docs/examples/rewrite/README.md。
但是如果你愿意,你可以在 GKE 上安装 nginx-ingress 控制器,有关于如何做到这一点的文档。
Con*_*che 10
apiVersion: networking.k8s.io/v1beta1
kind: Ingress
metadata:
annotations:
nginx.ingress.kubernetes.io/rewrite-target: /$2
name: rewrite
namespace: default
spec:
rules:
- host: rewrite.bar.com
http:
paths:
- backend:
serviceName: http-svc
servicePort: 80
path: /something(/|$)(.*)
Run Code Online (Sandbox Code Playgroud)
在这个入口定义中,由 (.*) 捕获的任何字符都将分配给占位符 $2,然后将其用作 rewrite-target 注释中的参数。
例如:
rewrite.bar.com/something 改写为 rewrite.bar.com/来源:https : //github.com/kubernetes/ingress-nginx/blob/master/docs/examples/rewrite/README.md。
| 归档时间: |
|
| 查看次数: |
14631 次 |
| 最近记录: |