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

本地Kubernetes部署Nginx Ingress时CLASS显示<none>问题求助

问题产生原因
  • networking.k8s.io/v1版本的Ingress资源从Kubernetes 1.18版本开始,正式废弃了通过kubernetes.io/ingress.class注解指定关联控制器的方式,改为通过spec.ingressClassName字段声明绑定的Ingress类。
  • kubectl get ingress命令输出的CLASS列,只会读取spec.ingressClassName字段的值,你当前的Ingress配置只在注解里写了类声明,没有配置对应spec字段,因此CLASS列显示为none。
  • 额外注意:M1芯片版Docker Desktop内置的K8s集群默认不携带Nginx Ingress控制器,若未提前安装适配ARM64架构的ingress-nginx控制器,即使配置正确类名,路由规则也无法正常生效。
修复方法
  1. 先确认集群已安装Nginx Ingress控制器:执行kubectl get ingressclass,如果返回结果中没有名为nginx的IngressClass资源,先安装适配ARM64架构的ingress-nginx控制器,安装完成后确认存在名为nginx的IngressClass。
  2. 修改Ingress资源定义文件,删除废弃的类注解,新增spec.ingressClassName字段,修改后的完整配置如下:
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: ingress-resource
  annotations:
    nginx.ingress.kubernetes.io/ssl-redirect: "false"
spec:
  ingressClassName: nginx
  rules:
  - http:
      paths:
      - path: /hello
        pathType: Prefix
        backend:
          service:
            name: hello-app
            port:
              number: 8080
  1. 执行kubectl apply -f <你的Ingress配置文件名>.yaml应用更新,重新执行kubectl get ingress即可看到CLASS字段正常显示为nginx,等待控制器同步规则后就可以通过http://localhost/hello访问对应服务。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.27 03:24:31