繁体   English   中英

K8S-入口-路线2的不同应用

[英]K8S - Ingress - Route 2 different applications

在我的minikube k8s集群中,我有2个应用程序/服务。

这是我拥有的服务的入口控制器。

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: ingress-tutorial
  annotations:
    nginx.ingress.kubernetes.io/rewrite-target: /
spec:
  backend:
    serviceName: default-http-backend
    servicePort: 80
  rules:
  - host: mysite.com
    http:
      paths:
      - path: /sva
        backend:
          serviceName: app-a
          servicePort: 8080
      - path: /svb
        backend:
          serviceName: app-b
          servicePort: 8150

当我键入mysite.com/svamysite.com/svb它会路由到适当的服务。 但是,没有加载任何静态文件(js, css, images etc) ,因为它们似乎从mysite.com而不是mysite.com/sva/请求资源。

如何让它寻找特定服务下的资源?

尝试在入口中添加以下注释

ingress.kubernetes.io/add-base-url:“true”

将解决这个问题。

您也可以查看: https : //github.com/kubernetes/ingress-nginx/issues/333

根据苛刻的Manvar回答,到目前为止,看起来像重写在静态资源上不起作用。

这是我计划遵循的变通办法,可路由sva.mysite.comsvb.mysite.com类的差异应用程序。 工作正常。 如果有人面临类似问题,只需添加此作为答案。

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: ingress-tutorial
  annotations:
    nginx.ingress.kubernetes.io/rewrite-target: /
spec:
  backend:
    serviceName: default-http-backend
    servicePort: 80
  rules:
  - host: sva.mysite.com
    http:
      paths:
      - path: /
        backend:
          serviceName: app-a
          servicePort: 8080
  - host: svb.mysite.com
    http:
      paths:
      - path: /
        backend:
          serviceName: app-b
          servicePort: 8150

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM