负载均衡型Service更新出现错误:Quota exceeded for resources: members_per_pool
问题现象
负载均衡型Service更新时出现错误,信息如下:
(combined from similar events):Details:Update member of listener/pool(dc9098a3-e004-4e60-ac6c-44a9a04bd8f8/539490e1-51c2-4c09-b4df-10730f77e35f) error: Failed to create member :(error_msg":"Quota exceeded for resources: members_per_pool","error_code":"ELB.8905","request_id":"e064fd46211318ff57f455b29c07c821"},status code: 409
排查项一:后端服务器数量是否达到配额上限
ELB单后端服务器组可添加的后端服务器数量默认配额上限值为500。在CCE Turbo集群中使用独享型ELB创建Service时,Service关联的每个Pod实例都会在ELB侧创建一个后端服务器,当后端服务器数量超过配额上限时,会出现以上错误。
解决方法:根据业务需求对负载均衡器的后端服务器进行合理规划。
排查项二:后端服务器健康检查是否有异常
在Service更新ELB后端服务器的过程中,为保证流量不中断,会先增加后端服务器,在确保新加的后端服务器可用后,再删除原先的后端服务器。
但在后端服务器配额已满的情况下,无法再新增后端服务器,会出现以上超出配额上限的错误,此时会直接更新已有的后端服务器。如果在更新Service时配置出现错误,导致更新后的后端服务器全部健康检查失败,在保证流量不中断的逻辑下,Service此时并不会删除原先正常的后端服务器,最终导致只有部分后端服务器更新为错误配置,其余后端服务器仍保持原先配置。
解决方法:在后端服务器配额已满的情况下,更新Service时需要配置正确的健康检查协议、端口,查看健康检查是否成功。