如何触发Istio在EKS集群中为istio-ingressgateway重建AWS负载均衡器?
EKS中为Istio istio-ingressgateway重新生成AWS负载均衡器
可以实现,不需要手动创建LB,通过触发Kubernetes Service的更新即可让AWS重新生成负载均衡器,具体方法如下:
方法一:使用AWS负载均衡器控制器专属注解触发重建
执行以下命令给istio-ingressgatewayService添加临时注解,强制AWS创建新LB:kubectl annotate service istio-ingressgateway -n istio-system service.beta.kubernetes.io/aws-load-balancer-force-new="true"等待新LB创建完成后,可选择删除该注解:
kubectl annotate service istio-ingressgateway -n istio-system service.beta.kubernetes.io/aws-load-balancer-force-new-方法二:修改Service的loadBalancerIP字段触发更新
如果上述注解不生效,可通过临时修改Service的loadBalancerIP字段触发重建:- 先设置一个无效的IP(仅用于触发更新):
kubectl patch service istio-ingressgateway -n istio-system -p '{"spec":{"loadBalancerIP": "1.2.3.4"}}' - 等待Service状态更新后,再移除该字段:
kubectl patch service istio-ingressgateway -n istio-system -p '{"spec":{"loadBalancerIP": null}}'
- 先设置一个无效的IP(仅用于触发更新):
关键说明
- 重启
istio-ingressgatewayDeployment无效,因为Service与Pod是独立资源,LB的创建由Kubernetes和AWS负载均衡器控制器管理,和Pod生命周期无关。 - 操作过程中会出现短暂服务中断,建议在低峰期执行。
- 确保EKS集群已正确部署AWS负载均衡器控制器,这是Istio在EKS中自动管理AWS LB的基础。
内容的提问来源于stack exchange,提问作者bmoody
相关产品推荐
相关产品推荐

