簡體   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