Kubernetes 使用入口路由流量
一年前,我有一个项目的工作实例,现在已经不工作了 它基本上与这里提到的Kubernetes 使用入口路由流量,kubernetes,kubernetes-ingress,Kubernetes,Kubernetes Ingress,一年前,我有一个项目的工作实例,现在已经不工作了 它基本上与这里提到的nginx.ingres.kubernetes.io/rewrite target属性的行为变化有关- 我有3个申请表,我想根据条件选择路线 /*到前端群集ip服务 /api/battleship/*战列舰集群ip服务 /api/connect4/*连接四个群集ip服务 一年前有效的例子是 apiVersion: extensions/v1beta1 kind: Ingress metadata: name: ingr
nginx.ingres.kubernetes.io/rewrite target
属性的行为变化有关-
我有3个申请表,我想根据条件选择路线
到前端群集ip服务/*
战列舰集群ip服务/api/battleship/*
连接四个群集ip服务/api/connect4/*
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: ingress-service
annotations:
kubernetes.io/ingress.class: nginx
nginx.ingress.kubernetes.io/rewrite-target: /
spec:
rules:
- http:
paths:
- path: /
backend:
serviceName: frontend-cluster-ip-service
servicePort: 3000
- path: /api/connect4/
backend:
serviceName: connect-four-cluster-ip-service
servicePort: 8080
- path: /api/battleship/
backend:
serviceName: battleship-cluster-ip-service
servicePort: 8080
但是,这已经不起作用了,只有到/
的路由,即到前端群集ip服务的路由才起作用。路由到其他系列失败,我得到404
然后我了解了nginx.ingres.kubernetes.io/rewrite target中的变化
我当时试着跟着
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: ingress-service
annotations:
kubernetes.io/ingress.class: nginx
nginx.ingress.kubernetes.io/rewrite-target: /$2
spec:
rules:
- http:
paths:
- path: /
backend:
serviceName: frontend-cluster-ip-service
servicePort: 3000
- path: /api/connect4(/|$)(.*)
backend:
serviceName: connect-four-cluster-ip-service
servicePort: 8080
- path: /api/battleship(/|$)(.*)
backend:
serviceName: battleship-cluster-ip-service
servicePort: 8080
现在,连接四个集群ip服务
和战列舰集群ip服务
的路由正在工作,但前端集群ip服务
不工作,并且少数js文件加载显示错误:
我也有同样的问题,只是重写有点复杂(只针对一条不同的路径) 为每条路径创建多个入口对我来说很有效,但可能不是最干净的解决方案 我的入口定义:
能否尝试从注释中完全删除重写目标?请查收: