【问题标题】:K3S Kubernetes Ingress with multiple web apps under same domain: getting 404K3S Kubernetes Ingress 与同一域下的多个 Web 应用程序:获取 404
【发布时间】: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


    【解决方案1】:

    因为我现在在我的 K3s 集群上解决了同样的问题:

    您是否尝试使用 --cluster-domain 选项 (see the docs) 启动您的 master?

    我在我的主人的/etc/systemd/system/k3s.service 中添加了该选项,这对我有用。

    【讨论】:

      猜你喜欢
      • 2015-08-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-10-13
      • 1970-01-01
      • 1970-01-01
      • 2021-10-18
      • 1970-01-01
      相关资源
      最近更新 更多