【发布时间】:2021-12-10 05:36:01
【问题描述】:
您好,我对 Kubernetes 很陌生。我有一个 k3s.io 集群设置(服务器版本 1.20),我想在同一个域下运行多个 Web 应用程序。我使用 k3s 默认入口控制器(traefik)。
根据给定的路径,请求应该被路由到配置的网络应用程序。
-
dev.xxxxxxx.de/app -> 应该去我自己开发的 .net blazor webassembly 应用程序
-
dev.xxxxxxx.de/graf -> 应该去grafana service/pod
两个应用程序/服务都在浏览器中运行,并且可以通过 NodePort(无入口)通过其服务名称成功访问。所以我怀疑入口路由的问题。
我的 ingress.yaml:
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: ingress
labels:
environment: dev
annotations:
kubernetes.io/ingress.class: "traefik"
spec:
tls:
- hosts:
- dev.xxxxxxx.de
rules:
- host: dev.xxxxxxx.de
http:
paths:
- path: /app
pathType: ImplementationSpecific
backend:
service:
name: iot-app
port:
number: 80
- path: /graf
pathType: ImplementationSpecific
backend:
service:
name: grafana
port:
number: 3000
现在的问题是,当浏览到 dev.xxxxxxx.de/app 或 dev.xxxxxxx.de/graf 时,在这两种情况下,初始请求都返回 200,但随后的请求如 assets (css, js)返回 404。
我怀疑网址
- dev.xxxxx.de/app/bootstrap.min.css
正在转变为
- dev.xxxxx.de/bootstrap.min.css
导致 404。
所有提示为什么我不能完全浏览这两个应用程序赞赏!谢谢。
【问题讨论】:
标签: kubernetes traefik-ingress