我的K8S Ingress一旦添加 - path: <子路径> 就彻底什么也访问不了了,求解答

各位大神好,我刚学习K8S没多久,今天配置了Ingress资源后发现添加子路径后,什么都访问不了,具体配置如下

  1. ingress.yaml: 说明如下,host是shita.shitb.com,当- path: 什么都不写时,访问这个tomcat服务器完全正常,如果改成我示例2中的注释的webapp部分也没有问题。
kind: Ingress
apiVersion: extensions/v1beta1
metadata:
  name: ingress-tomcat-svc
  labels:
    app: tomcat
    name: tomcat-svc
spec:
  rules:
  - host: shita.shitb.com
    http:
      paths:
      - path: 
        backend:
          serviceName: tomcat-svc
          servicePort: 8080
                     #- path: 
       # backend:
        #  serviceName: webapp
         # servicePort: 80

图片说明

2.修改了yaml文件如下:添加 - path: /t1 之后,就不行了,我本来想让一个域名加不同上下文可以访问tomcat和nginx的,为了排错我把下面nginx部分注释了,service和deployment配置肯定没问题,重点是ingress怎么写,我搞了3个小时了,实在崩了,请各位指教。

kind: Ingress
apiVersion: extensions/v1beta1
metadata:
  name: ingress-tomcat-svc
  labels:
    app: tomcat
    name: tomcat-svc
spec:
  rules:
  - host: shita.shitb.com
    http:
      paths:
      - path: /t1
        backend:
          serviceName: tomcat-svc
          servicePort: 8080
       #- path: /t2
       # backend:
        #  serviceName: webapp
         # servicePort: 80

图片说明

metadata:
  annotations:
    nginx.ingress.kubernetes.io/rewrite-target: "/$1"

- path: /t1/(.*)$


地址 shita.shitb.com/t1/

 

给你项目加一个跟path一样的context-path

path:/

这个根路径的匹配做一份,再做/t1,/t2的试一下。

解决没有,同问

您好,最后怎么解决的,我也遇到了这个问题