开发者社区 > 云原生 > 容器服务 > 正文

容器服务ACK集群1.24升级到1.26后,还在调用废弃的API,请问怎么处理?

容器服务ACK集群1.24升级到1.26后,cluster-autoscaler还在调用废弃的API,请问怎么处理?什么时候有这个组件的新版本?E0710 04:06:51.588383 1 reflector.go:205] k8s.io/autoscaler/cluster-autoscaler/utils/kubernetes/listers.go:397: Failed to list *v1beta1.PodDisruptionBudget: the server could not find the requested resource

展开
收起
三分钟热度的鱼 2023-07-19 20:59:48 96 0
2 条回答
写回答
取消 提交回答
  • 北京阿里云ACE会长

    在容器服务 ACK 中,如果您的应用程序在升级后仍然调用了废弃的 API,可能会导致应用程序无法正常工作。为了解决这个问题,您可以按照以下步骤进行处理:

    检查应用程序代码:首先,您需要检查应用程序代码中是否调用了废弃的 API。可以通过查看容器服务 ACK 的官方文档、API 接口文档或参考其他资源,找到替代废弃 API 的新 API,并进行相应的修改。如果您无法找到替代 API,可以考虑使用其他方法实现所需的功能。

    升级应用程序版本:如果应用程序代码中确实调用了废弃的 API,您需要升级应用程序的版本,并修改代码,以使用替代 API。可以使用容器服务 ACK 提供的版本管理工具或其他工具,升级应用程序版本,并进行相应的测试和验证。

    维护容器服务 ACK 集群:升级应用程序版本之前,建议您先升级容器服务 ACK 集群的版本,以确保容器服务 ACK 的稳定性和兼容性。可以使用容器服务 ACK 提供的版本升级工具或其他工具,升级容器服务 ACK 的版本,并进行相应的测试和验证。

    2023-07-29 09:03:46
    赞同 展开评论 打赏
  • 当容器服务 ACK 集群从版本 1.24 升级到 1.26 后,发现 cluster-autoscaler 组件仍在调用废弃的 API,并且报错提示 Failed to list *v1beta1.PodDisruptionBudget: the server could not find the requested resource。这可能是由于新版本中删除了 v1beta1.PodDisruptionBudget 的 API 对象而导致的。

    为了解决此问题,您可以考虑以下几点:

    1. 确认集群-autoscaler 版本:检查您当前使用的 cluster-autoscaler 版本是否是最新的版本。如果不是,请尝试升级到最新版本,以确保您使用的是与 ACK 1.26 兼容的版本。cluster-autoscaler 通常跟随 Kubernetes 版本进行更新,因此更新到较新的版本通常会解决许多问题。

    2. 检查配置和参数:重新审查和确认 cluster-autoscaler 的配置文件和参数是否正确设置。确保它们与 ACK 1.26 的 API 对象匹配,并遵循相应的指南和文档。

    3. 查看 issue 和官方文档:在 cluster-autoscaler 的 GitHub 存储库或相关论坛、社区中搜索相关问题和解决方案。开发者社区可能已经意识到并解决了类似的问题,并提供了修复补丁或建议。

    4. 更新 cluster-autoscaler:如果最新版本的 cluster-autoscaler 仍然存在问题,您可以跟踪 cluster-autoscaler 的官方文档、GitHub 存储库或邮件列表,以获取有关新版本发布的信息。通常,开发者会尽力修复和更新组件,以确保其与最新版本的 Kubernetes 和 ACK 兼容。

    2023-07-28 12:55:38
    赞同 展开评论 打赏

国内唯一 Forrester 公共云容器平台领导者象限。

相关产品

  • 容器服务Kubernetes版
  • 相关电子书

    更多
    ACK 云原生弹性方案—云原生时代的加速器 立即下载
    ACK集群类型选择最佳实践 立即下载
    《边缘容器服务ACK@Edge》 立即下载

    相关镜像