删除EKS内LoadBalancer类型Service后,能否保留对应的负载均衡器?
在EKS中删除LoadBalancer Service后保留负载均衡器的方法
默认情况下,删除EKS里的LoadBalancer类型Service时,AWS云控制器管理器(CCM)会自动清理对应的负载均衡器(包括ALB、NLB)以及关联的目标组、安全组规则等资源,直接删除Service会导致LB被删除。但可以通过以下步骤保留LB:
第一步:给目标负载均衡器启用删除保护
先通过AWS控制台或CLI找到LB的ARN,启用删除保护防止K8s尝试删除LB时被AWS执行:aws elbv2 modify-load-balancer-attributes --load-balancer-arn <你的LB_ARN> --attributes Key=deletion_protection.enabled,Value=true第二步:解绑Service与负载均衡器
将Service的类型修改为ClusterIP,让K8s云控制器停止对该LB的管理:kubectl patch service <你的Service名称> -p '{"spec":{"type":"ClusterIP"}}'这一步会让Service不再关联LB,K8s将不再维护LB的状态。
第三步:删除Service
此时可以安全删除Service,LB因启用了删除保护且已与Service解绑,会被保留:kubectl delete service <你的Service名称>
注意:保留LB后,你需要手动维护LB的配置(比如目标组后端节点、安全组规则等),因为K8s不再管理这些资源。后续若需重新关联K8s资源,可能需要手动配置或借助Ingress Controller等工具接管。
内容的提问来源于stack exchange,提问作者Nam The
相关产品推荐
相关产品推荐

