问题描述
pod调度到节点后pv中的ebs挂载失败(提示为超过节点的ebs数量限制)
问题分析
- 这个节点本身最多支持挂12块盘,csi限制了最多挂10个ebs pvc,预留了2块数据盘的quota,实际节点现在系统盘和数据盘已经有5个,所以最多可以挂载7个pvc。
- 调度器认为7<10还能继续挂载,所以pod调度到此节点,但实际节点上盘数量已经满了。
- csi限制的10个pvc数量不合理导致pod调度上来后却超过磁盘数量限制的挂载失败。
问题解决
- 升级csi-ebs组件
- 新版本csi-ebs组件可以自动适配不同规格机器
- vke中节点可以挂载的最大磁盘数量由csi-ebs插件配置
- 旧版本插件:(默认机型16块盘,预留给系统及data4块)固定写为12块 - 可通过以下参数调整
b. 新版本插件:(考虑三代机后不同机型最大磁盘数量差异)- 采用动态方式(依照默认比例0.3预留)
-
如需手动指定:cmd.Flags().Float64Var(&reserveVolumesFactor, "reserve-volumes-factor", 0.3, "volume attach reserve factor per node, Rounded down.")
-
默认:插件动态依照比例计算预留后配置vke节点最大磁盘数量
c. 插件升级后验证csinode中最大节点数量已生效为7
如果您有其他问题,欢迎您联系火山引擎技术支持服务