首页
/ Kuberay项目中使用kindest/node:v1.24.0运行e2e测试失败问题分析

Kuberay项目中使用kindest/node:v1.24.0运行e2e测试失败问题分析

2025-07-09 15:00:09作者:邓越浪Henry

在Kuberay项目的开发过程中,开发人员发现当使用kindest/node:v1.24.0版本的Kubernetes集群运行ray-operator的端到端测试时,测试用例"TestRayClusterManagedBy"会失败。这个问题在M3(arm)架构的MacOS系统和x86-64架构的Ubuntu系统上都能够复现。

测试失败的具体表现是,在测试"Failed_creation_of_cluster,_managed_by_external_controller"场景时,预期应该发生的错误没有出现,导致测试断言失败。错误日志显示测试执行了panic(nil)或runtime.Goexit。

经过排查,开发人员发现当将Kubernetes版本升级到v1.26.0后,测试能够顺利通过。进一步的测试表明,v1.25.0版本是能够支持当前ray-operator所有端到端测试的最低Kubernetes版本。

这个问题揭示了Kuberay项目对Kubernetes版本有一定的依赖关系。特别是"ManagedBy"功能可能依赖于Kubernetes v1.24.0之后引入的某些特性。这提醒开发者在本地开发环境搭建时需要特别注意Kubernetes版本的选择。

针对这个问题,项目团队建议采取以下措施:

  1. 更新开发文档,明确指出运行端到端测试所需的最低Kubernetes版本要求
  2. 在持续集成配置中固定Kubernetes版本,确保CI环境和文档描述的一致性
  3. 全面评估各组件(ray-operator、kubectl-plugin、apiserver)的Kubernetes版本兼容性,找出能够支持所有组件的最低版本

这个案例也提醒我们,在开发基于Kubernetes的Operator时,需要特别注意Kubernetes版本兼容性问题,特别是在使用较新的Kubernetes特性时。在项目文档中明确标注版本要求,可以避免开发者在使用过程中遇到类似的兼容性问题。

登录后查看全文
热门项目推荐
相关项目推荐