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

解决Kubernetes弃用警告:迁移kubernetes.io/ingress.class至spec.ingressClassName

正确添加spec.ingressClassName的方法

你使用的是networking.k8s.io/v1版本的Ingress资源,这个版本要求**ingressClassName必须放在spec字段下作为直接属性**,旧版本的kubernetes.io/ingress.class注解已被废弃,v1版本不再兼容,这也是你之前把它放在annotations里报错的原因。

另外你的原始配置还存在缩进混乱问题(比如tls与rules的层级错误),这也会导致部署失败。以下是修正后的完整配置:

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: wso2-portals-ingress
  annotations:
    nginx.ingress.kubernetes.io/backend-protocol: "HTTPS"
    nginx.ingress.kubernetes.io/affinity: "cookie"
    nginx.ingress.kubernetes.io/session-cookie-name: "route"
    nginx.ingress.kubernetes.io/session-cookie-hash: "sha1"
spec:
  ingressClassName: nginx  # 这是spec.ingressClassName的正确位置
  tls:
  - hosts:
    - api.am.wso2.com
  rules:
  - host: api.am.wso2.com
    http:
      paths:
      - path: /
        pathType: Prefix
        backend:
          service:
            name: wso2-am-service
            port:
              number: 9443

关键修正点:

  • 移除了annotations中的kubernetes.io/ingress.class: "nginx",替换为spec字段下的ingressClassName: nginx
  • 修正了tls和rules的层级:rules是spec的直接子字段,不能嵌套在tls的hosts节点下
  • 统一了所有配置项的缩进格式(建议用2个或4个空格保持一致)

部署这份修正后的配置文件即可解决之前的报错问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.23 19:00:57