Kubernetes Ingress 服务无法加载静态文件

Wor*_*kWe 3 kubernetes kubectl minikube

我在 minikube (1.8.0) 上为一些服务创建了入口:

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: gateway-ingress
  namespace: kube-system
  annotations:
    ingress.kubernetes.io/rewrite-target: /
spec:
  rules:
  - http:
      paths:
      - backend:
          serviceName: api-service
          servicePort: 80
        path: /api
      paths:
      - backend:
          serviceName: kubernetes-dashboard
          servicePort: 80
        path: /ui
Run Code Online (Sandbox Code Playgroud)

当我访问 MINIKUBE_IP/ui 时,dashboard 的静态文件不起作用。以下是错误:

192.168.99.100/:1 GET https://192.168.99.100/ui/static/vendor.4f4b705f.css net::ERR_ABORTED
192.168.99.100/:5 GET https://192.168.99.100/ui/static/app.8a6b8127.js net::ERR_ABORTED
VM1524:1 GET https://192.168.99.100/ui/api/v1/thirdpartyresource 404 ()
...
Run Code Online (Sandbox Code Playgroud)

请帮我解决这个错误,谢谢。

Alb*_*rra 5

我遇到过同样的问题。您可以通过在 Ingress 资源中定义新路径来解决它。

 rules:
  - http:
      paths:
      - path: /ui
        backend:
          serviceName: kubernetes-dashboard
          servicePort: 80
      - path: /*
        backend:
          serviceName: kubernetes-dashboard
          servicePort: 80
Run Code Online (Sandbox Code Playgroud)

“/*”将允许您访问静态文件。

其他资源: