如何解决Kubernetes + ingress-nginx - 两个应用程序,其中一个在 / 路径中
我在 Kubernetes 集群上有两个需要公开的应用程序。一个是基于 OAuth2 的身份验证器,另一个是使用它的客户端应用程序。
我想在 test.mydomain.com
上安装客户端应用程序,在 test.mydomain.com/auth
我尝试在 Kubernetes 中构建以下入口:
apiVersion: networking.k8s.io/v1beta1
kind: Ingress
metadata:
name: my-ingress
namespace: default
annotations:
kubernetes.io/ingress.class: nginx
nginx.ingress.kubernetes.io/backend-protocol: "HTTP"
nginx.ingress.kubernetes.io/proxy-body-size: "20m"
spec:
rules:
- http:
paths:
- path: /auth
backend:
serviceName: authenticator-service
servicePort: 8080
- path: /
backend:
serviceName: app-service
servicePort: 8080
出于某种原因,我无法让它工作,每当我尝试点击 test.mydomain.com/auth
时,我最终都会点击主 app-service
。我做错了什么吗?我想做的事情有可能吗?
解决方法
试试这个 -
apiVersion: networking.k8s.io/v1beta1
kind: Ingress
metadata:
annotations:
nginx.ingress.kubernetes.io/rewrite-target: /$1
kubernetes.io/ingress.class: nginx
name: my-ingress
spec:
rules:
- host: test.mydomain.com
http:
paths:
- path: /(.*)
backend:
serviceName: app-service
servicePort: 8080
- path: /auth/(.*)
backend:
serviceName: authenticator-service
servicePort: 8080
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。