我的2个环境一个是1.18,一个是1.22,在使用1.18版本的ingress.yaml到1.22上就会报错。
1.apiVersion
k8s自从1.19版本之后就把apiVersion从 extensions/v1beta1 改成了 networking.k8s.io/v1 。并且在1.22版本中只能从networking.k8s.io/v1 中获取。这是官网的说明:
https://kubernetes.io/docs/reference/using-api/deprecation-guide/
2.spec
-
如果没有rules匹配规则,spec.backend修改为spec.defaultBackend。如果 hosts 或 paths 都没有与 Ingress 对象中的 HTTP 请求匹配,则流量将路由到默认后端。
-
spec.rules.http.backend.serviceName修改为spec.rules.http.backend.service.name
-
spec.rules.http.backend.servicePort修改为spec.rules.http.backend.