我是否需要为新的 API 版本编写新的控制器?
不幸的是,它看起来确实如此。如果您无法应用此类似问题中描述的内容,因为您使用的是自定义控制器,那么您需要创建自己的新控制器(如果您无法更改其中的 API),它将与受支持的 API 一起使用。查看官方文档中的自定义控制器页面。
我不确定控制器是否可以管理新的 API 版本。即使在将 CRD 的 API 版本从 v1Alpha1 更改为 v1 之后,我也会收到一条错误消息,指出控制器正在尝试使用 API 版本 v1alpha1 列出 CRD。
看起来控制器有一些错误。引用[本文档中]所写的新 API 应该没有问题(看起来控制器写得不好。引用本文档中所写的新 API 应该没有问题。):
v1.22 版本 将停止提供以下已弃用的 API 版本,转而支持更新和更稳定的 API 版本:
- 将不再提供extensions/v1beta1 API 版本中的入口
- 迁移以使用从 v1.14 开始可用的 networking.k8s.io/v1beta1 API 版本。>可以通过新版本检索/更新现有的持久数据。
Kubernetes 1.16 将于 2019 年 9 月发布,因此请务必立即审核您的配置和集成!
- 更改 YAML 文件以引用较新的 API
- 更新自定义集成和控制器以调用更新的 API
- 更新第三方工具(入口控制器、持续交付系统)以调用更新的 API
另请参阅1.22 中的 Kubernetes API 和功能删除:这是您需要知道的。