You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Microk8s通过Nginx-Ingress暴露Dashboard出现版本不匹配及400错误问题

解决方案

版本报错说明

Kubernetes v1.22 已正式废弃extensions/v1beta1版本的Ingress资源,必须使用networking.k8s.io/v1版本,你后续调整后的API版本是正确的。

400错误修复

你不需要启用microk8s proxy,400错误由两个配置缺失导致:

  1. 缺失后端协议标识:Kubernetes Dashboard默认使用HTTPS对外提供服务,你新版Ingress配置删除了之前的nginx.ingress.kubernetes.io/backend-protocol: "HTTPS"注解,Ingress控制器默认用HTTP协议请求HTTPS后端,直接返回400错误。
  2. 缺失路径重写规则:Dashboard服务本身没有/dashboard路径前缀,Ingress转发请求时会原封不动把/dashboard路径传给后端,后端无法匹配路径返回错误。

最终可用Ingress配置

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  annotations:
    kubernetes.io/ingress.class: public
    nginx.ingress.kubernetes.io/backend-protocol: "HTTPS"
    nginx.ingress.kubernetes.io/rewrite-target: /$2
  name: dashboard
  namespace: kube-system
spec:
  rules:
  - host: main
    http:
      paths:
      - path: /dashboard(/|$)(.*)
        pathType: Prefix
        backend:
          service:
            name: kubernetes-dashboard
            port:
              number: 443

访问说明

  • 本地访问的设备需要在hosts文件添加记录:<MicroK8s节点IP> main,即可通过http://main/dashboard/访问。
  • 若无需域名访问,删除host: main配置项,可直接通过http://<节点IP>/dashboard/访问。
  • 登录Dashboard的临时Token可通过命令microk8s kubectl create token default生成。

内容的提问来源于stack exchange,提问作者petwri

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.30 18:30:05