更新NGINX-Ingress以使用稳定的Ingress API
作者:James Strong、Ricardo Katz
对于所有 Kubernetes API,都有一个创建、维护和最终弃用它们的过程。networking.k8s.io API 组没有不同。即将发布的 Kubernetes 1.22 版本将删除几个与网络相关的弃用 API:
IngressClass[1]的 networking.k8s.io/v1beta1 API 版本 Ingress[2]的所有测试版本:extensions/v1beta1 和 networking.k8s.io/v1beta1
在 v1.22 Kubernetes 集群中,你可以通过稳定的(v1)API 访问 Ingress 和 IngressClass 对象,但无法通过 beta API 访问它们。自2017 年[3]、2019 年[4]1.16 Kubernetes API 弃用以来,以及最近的是 KEP-1453:从 Ingress API 毕业到 GA[5],一直在讨论中这种变化。
在社区会议上,SIG Network 决定使用 Ingress-NGINX 版本 0.47.0,继续支持 Kubernetes 1.22 之前的版本。Kubernetes 1.22 发布后,对 Ingress-NGINX 的支持将持续 6 个月。对于 Ingress-NGINX 的任何额外的 bug 修复和 CVE 都将根据需要进行处理。
Ingress-NGINX 将有独立的分支和 Ingress-NGINX 版本来支持这个模型,这反映了 Kubernetes 项目过程。Ingress-NGINX 项目的未来版本将跟踪并支持 Kubernetes 的最新版本。
Kubernetes version | Ingress-NGINX version | Notes |
---|---|---|
v1.22 | v1.0.0-alpha.2 | New features, plus bug fixes. |
v1.21 | v0.47.x | Bugfixes only, and just for security issues or crashes. No end-of-support date announced. |
v1.20 | v0.47.x | Bugfixes only, and just for security issues or crashes. No end-of-support date announced. |
v1.19 | v0.47.x | Bugfixes only, and just for security issues or crashes. Fixes only provided until 6 months after Kubernetes v1.22.0 is released. |
由于 Kubernetes 1.22 中的更新,v0.47.0 将不能与 Kubernetes 1.22 一起工作。
你需要做什么
团队目前正在升级 ingress-nginx 以支持 v1 迁移,你可以在这里跟踪进度[6]。
在完成对 Ingress v1 的支持之前,我们不会对 ingress-nginx 进行特性改进。
同时,确保没有兼容性问题:
更新到最新版本的 Ingress-NGINX;目前是v0.47.0[7] Kubernetes 1.22 发布后,确保你使用的是最新版本的 Ingress-NGINX,支持 Ingress 和 IngressClass 的稳定 API。 在集群版本>=1.19 的环境测试 Ingress-NGINX 版本 v1.0.0-alpha.2,并报告任何问题到项目 Github 页面。
欢迎社区对这项工作的反馈和支持。Ingress-NGINX 子项目定期举行社区会议,讨论这个项目面临的问题和其他问题。有关子项目的更多信息,请参阅SIG Network[8]。
参考资料
IngressClass: https://kubernetes.io/docs/concepts/services-networking/ingress/#ingress-class
[2]Ingress: https://kubernetes.io/docs/concepts/services-networking/ingress/
[3]2017 年: https://github.com/kubernetes/kubernetes/issues/43214
[4]2019 年: https://kubernetes.io/blog/2019/07/18/api-deprecations-in-1-16/
[5]从 Ingress API 毕业到 GA: https://github.com/kubernetes/enhancements/tree/master/keps/sig-network/1453-ingress-api#122
[6]跟踪进度: https://github.com/kubernetes/ingress-nginx/pull/7156
[7]v0.47.0: https://github.com/kubernetes/ingress-nginx/releases/tag/controller-v0.47.0
[8]SIG Network: https://github.com/kubernetes/community/tree/master/sig-network
点击【阅读原文】阅读网站原文。
CNCF概况(幻灯片)
扫描二维码联系我们!
CNCF (Cloud Native Computing Foundation)成立于2015年12月,隶属于Linux Foundation,是非营利性组织。
CNCF(云原生计算基金会)致力于培育和维护一个厂商中立的开源生态系统,来推广云原生技术。我们通过将最前沿的模式民主化,让这些创新为大众所用。请长按以下二维码进行关注。