[英]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/sva
或mysite.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.com
或svb.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.