【问题标题】:K8S - Ingress - Route 2 different applicationsK8S - Ingress - Route 2 不同的应用程序
【发布时间】:2019-03-06 03:13:54
【问题描述】:

在我的 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/

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

【问题讨论】:

    标签: nginx kubernetes kubernetes-ingress


    【解决方案1】:

    尝试在ingress中添加如下注解

    ingress.kubernetes.io/add-base-url: "true"

    将解决这个问题。

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

    【讨论】:

    • 谢谢苛刻。但这无济于事。我也试过nginx.ingress.kubernetes.io/add-base-url: "true"
    • 你能删除重写并重试吗
    • 我得到 404 Not Found
    • 这听起来很奇怪,无法正常工作......看看这个github.com/kubernetes/ingress-nginx/issues/333
    • 啊……谢谢分享。看起来像一个已知问题 - ““rewirte”不适用于资源。”
    【解决方案2】:

    根据 Harsh 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
    

    【讨论】:

      猜你喜欢
      • 2019-07-24
      • 1970-01-01
      • 2019-02-02
      • 2020-11-28
      • 2021-12-14
      • 2023-04-02
      • 2019-07-29
      • 2020-11-06
      • 2019-03-24
      相关资源
      最近更新 更多