k8s

k8s 1.22 ingress 变化

我的2个环境一个是1.18,一个是1.22,在使用1.18版本的ingress.yaml到1.22上就会报错。

file
file

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/

file

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.service.port.number/name(number和name只能存在一个)
    file
    file

  • pathType。每个路径都需要有对应的路径类型。未明确设置 pathType 的路径无法通过合法性检查。可选项有Prefix, Exact, and ImplementationSpecific。

ImplementationSpecific:对于这种路径类型,匹配方法取决于 IngressClass。 具体实现可以将其作为单独的 pathType 处理或者与 Prefix 或 Exact 类型作相同处理。

Exact:精确匹配 URL 路径,且区分大小写。

Prefix:基于以 / 分隔的 URL 路径前缀匹配。匹配区分大小写,并且对路径中的元素逐个完成。 路径元素指的是由 / 分隔符分隔的路径中的标签列表。 如果每个 p 都是请求路径 p 的元素前缀,则请求与路径 p 匹配。

ingressClass的api Version也从 networking.k8s.io/v1beta1 修改成 networking.k8s.io/v1 。
file
ingress使用ingressClass
file

查看当前集群支持的api

kubectl api-resources | grep ingress

file

分类: k8s
0 0 投票数
文章评分
订阅评论
提醒
guest

0 评论
内联反馈
查看所有评论

相关文章

开始在上面输入您的搜索词,然后按回车进行搜索。按ESC取消。

返回顶部
0
希望看到您的想法,请您发表评论x