簡體   English   中英

NGINX 入口僅加載 Kubernetes AKS 上的 html

[英]NGINX ingress loads only html on Kubernetes AKS

I'm setting up my Kubernetes Cluster using Azure AKS and I deployed NGINX Ingress following this guide: https://docs.microsoft.com/en-us/azure/aks/ingress-internal-ip

現在,該指南非常適用於它演示的演示應用程序,但是當我嘗試部署我自己的一個應用程序時,該頁面僅顯示 html 部件,而對於 js、css 和 png 部件,我在控制台中收到以下錯誤: 在此處輸入圖像描述

當我在我的 K8S 集群上部署沒有 NGINX Ingress 的應用程序時,它運行良好,但由於某種原因,當我通過 NGINX 部署它時,我得到了這些錯誤。

我還嘗試部署另一個應用程序 pgAdmin,為此,當我嘗試訪問其頁面時,我只收到錯誤 503。

我嘗試了在 web 上找到的幾種解決方法,但似乎沒有任何解決方法。

文件:

內部入口。yaml:

controller:
service:
  loadBalancerIP: 10.50.0.253
  annotations:
    service.beta.kubernetes.io/azure-load-balancer-internal: "true"

你好世界入口.yaml:

apiVersion: networking.k8s.io/v1beta1
kind: Ingress
metadata:
  name: hello-world-ingress
  namespace: infra
  annotations:
    kubernetes.io/ingress.class: nginx
    nginx.ingress.kubernetes.io/ssl-redirect: "false"
    nginx.ingress.kubernetes.io/use-regex: "true"
    nginx.ingress.kubernetes.io/rewrite-target: /$1
spec:
  rules:
   - http:
      paths:
      - backend:
          serviceName: aks-helloworld
          servicePort: 80
        path: /hello-world-one(/|$)(.*)  
      - backend:
          serviceName: pgadmin
          servicePort: 80
        path: /pgadmin(/|$)(.*)
      - backend:
          serviceName: pgadmin
          servicePort: 80
        path: /(.*)
      - backend:
           serviceName: box-model
           servicePort: 80
        path: /box-model(/|$)(.*)

pgadmin 部署 yaml:

apiVersion: apps/v1
kind: Deployment
metadata:
  name: {{ .Values.pgadmin.name }}
spec:
  selector:
    matchLabels:
      app: {{.Values.pgadmin.name}}
  replicas: {{.Values.pgadmin.deployment.replicas}}
  strategy:
    type: {{.Values.pgadmin.deployment.strategy}}
  template:
    metadata:
      labels:
        app: {{.Values.pgadmin.name}}
    spec:
      containers:
      - env:
        - name: PGADMIN_DEFAULT_EMAIL
          valueFrom: 
            secretKeyRef:  
              name: {{.Values.pgadmin.secrets.PGADMIN_DEFAULT_EMAIL.name}}
              key: {{.Values.pgadmin.secrets.PGADMIN_DEFAULT_EMAIL.key}}
        - name: PGADMIN_DEFAULT_PASSWORD
          valueFrom: 
            secretKeyRef:  
              name: {{.Values.pgadmin.secrets.PGADMIN_DEFAULT_PASSWORD.name}} 
              key: {{.Values.pgadmin.secrets.PGADMIN_DEFAULT_PASSWORD.key}}
        image: {{.Values.pgadmin.deployment.image}}
        imagePullPolicy: {{.Values.pgadmin.deployment.imagePullPolicy}}
        name: {{.Values.pgadmin.name}}
        ports:
        - containerPort: {{.Values.pgadmin.deployment.containerPort}}
        volumeMounts: 
        - mountPath: {{.Values.pgadmin.deployment.volumeMounts.name}}
          name: {{.Values.pgadmin.deployment.volumeMounts.name}}
        resources: {}
      restartPolicy: {{.Values.pgadmin.deployment.restartPolicy}}
      serviceAccountName: ""
      volumes:
        - name: {{.Values.pgadmin.volumes.pvc.name}}
          persistentVolumeClaim:
            claimName: {{.Values.pgadmin.volumes.pvc.name}}
status: {}

pgadmin 服務 yaml:

apiVersion: v1
kind: Service
metadata:
  name: {{.Values.pgadmin.name}}
spec:
  ports:
  - name: {{.Values.pgadmin.deployment.containerPort | quote}} 
    port: {{.Values.pgadmin.deployment.containerPort}}
    targetPort: {{.Values.pgadmin.deployment.containerPort}}
status:
  loadBalancer: {}

請告訴我是否缺少相關信息,我會添加它。

可能是 nginx.ingress.kubernetes.io/rewrite-target: /$1 正在創建一個問題。 我不知道。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM