如何解决如何使用Minikube在Kubernetes中配置pathType Exact?
我正在尝试使用pathType Exact配置入口规则。 我的部署Yaml文件:
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: webapp-ingress
annotations:
nginx.ingress.kubernetes.io/rewrite-target: /
spec:
rules:
- host: my.kubernetes.example
http:
paths:
- pathType: Prefix
path: /webapp1
backend:
service:
name: webapp1-svc
port:
number: 80
- pathType: Exact
path: /webapp2
backend:
service:
name: webapp2-svc
port:
number: 80
- pathType: Prefix
path: /*
backend:
service:
name: webapp3-svc
port:
number: 80
我的Ingress Yaml文件:
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: webapp-ingress
annotations:
nginx.ingress.kubernetes.io/rewrite-target: /
spec:
rules:
- host: my.kubernetes.example
http:
paths:
- pathType: Prefix
path: /webapp1
backend:
service:
name: webapp1-svc
port:
number: 80
- pathType: Exact
path: /webapp2
backend:
service:
name: webapp2-svc
port:
number: 80
- pathType: Prefix
path: /*
backend:
service:
name: webapp3-svc
port:
number: 80
我根据kubernetes官方文档和kubectl explain
编写了这个Yaml。
但是,在我应用了这一点之后,似乎/webapp2
路径被视为Prefix
。
这是nginx-ingress-controller窗格中的nginx.conf
[...]
location ~* "^/webapp2" {
set $namespace "default";
set $ingress_name "webapp-ingress";
set $service_name "webapp2-svc";
set $service_port "80";
set $location_path "/webapp2";
rewrite_by_lua_block {
lua_ingress.rewrite({
force_ssl_redirect = false,ssl_redirect = true,force_no_ssl_redirect = false,use_port_in_redirects = false,})
balancer.rewrite()
plugins.run()
}
[...]
Ingerss nginx配置文件看起来像Prefix
设置。
我的环境
- Minikube版本== 1.13
- kubectl版本== 1.19
- Ingress Controller:IngressNginx控制器(minikube插件)
有人可以给我提示吗?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。