多个入口在kubernetes中不起作用
我有一个入口问题,在我的单个kubernetes集群中有多个环境。。。现在的问题是,如果我有一个单一的环境,它在下面的配置下工作得非常好,那么一旦我部署第二个环境并访问第二个环境的ip,它就开始指向第一个环境,即使服务名称不同 我的第一次进入多个入口在kubernetes中不起作用,kubernetes,kubernetes-ingress,Kubernetes,Kubernetes Ingress,我有一个入口问题,在我的单个kubernetes集群中有多个环境。。。现在的问题是,如果我有一个单一的环境,它在下面的配置下工作得非常好,那么一旦我部署第二个环境并访问第二个环境的ip,它就开始指向第一个环境,即使服务名称不同 我的第一次进入 apiVersion: extensions/v1beta1 kind: Ingress metadata: name: test-ingress namespace: default annotations: kubernetes.i
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: test-ingress
namespace: default
annotations:
kubernetes.io/ingress.class: "nginx"
nginx.ingress.kubernetes.io/ssl-redirect: "false"
nginx.ingress.kubernetes.io/use-regex: "true"
nginx.ingress.kubernetes.io/add-base-url: "true"
spec:
rules:
- host: test.com
http:
paths:
- path: "/"
backend:
serviceName: servicetest-1
servicePort: 1000
- path: "/test"
backend:
serviceName: servicetest-1
servicePort: 2000
我的第二个入口资源:
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: test-ingress
namespace: default
annotations:
kubernetes.io/ingress.class: "nginx"
nginx.ingress.kubernetes.io/ssl-redirect: "false"
nginx.ingress.kubernetes.io/use-regex: "true"
nginx.ingress.kubernetes.io/add-base-url: "true"
spec:
rules:
- host: test.com
http:
paths:
- path: "/"
backend:
serviceName: servicetest-2
servicePort: 1000
- path: "/test"
backend:
serviceName: servicetest-2
servicePort: 2000
问题是,如果我在第一个环境中删除入口资源,第二个环境就会正常工作
另一点是,我的两个入口资源部署在同一命名空间中
这是我需要在注释或重定向中做的事情吗
感谢所有帮助两个
入口
都具有相同的名称
,并且位于相同的命名空间
。由于两个入口之间的唯一区别是spec.rules.http.paths.backend.serviceName
,并且名称和命名空间保持不变,Kubernetes覆盖了以前的配置,而不是创建新资源
ingres.extensions/test-ingres配置
您应该更改
入口
资源的名称。我的坏。。。实际上是不同的名字。。。我错提了好吧,我明白了。同一主机中的同一路径有多个规则。“/”路径有两条规则。默认情况下,ingress选择firts规则。@magic我认为您应该阅读有关Ingres修补程序匹配的信息:并查看路径重写中的一些示例:在NGINX中,正则表达式遵循第一个匹配策略。如果您不完全理解这一点,您应该创建一个新问题,因为此答案与您提供的信息是正确的。