开发者社区 > 飞天洛神云网络 > 负载均衡 > 正文

请问下面这个负载均衡ALB的问题怎么解决?

麻烦问下我的load-balancer-controller 为什么只在一个ecs上,我污点驱逐或者ecs关机他都只在这个ecs上,驱逐不出去,关机删除就peding

展开
收起
乐天香橙派 2023-11-14 10:27:58 63 0
3 条回答
写回答
取消 提交回答
  • 这个问题可能是由于负载均衡器(ALB)的污点驱逐策略或ECS的自动扩展配置导致的。请尝试以下方法解决问题:

    1. 检查污点驱逐策略:确保您的污点驱逐策略已正确配置,以便在需要时将负载均衡器从特定的ECS实例上移除。您可以在Kubernetes集群中查看污点和容忍度设置,以确保它们与您的期望相符。

    2. 检查ECS的自动扩展配置:如果您的ECS实例是通过自动扩展组(ASG)进行管理的,请确保ASG的配置允许在负载均衡器控制器需要时创建新的ECS实例。您可以通过修改ASG的最小、最大和目标容量设置来实现这一点。

    3. 重启负载均衡器控制器:如果上述方法都无法解决问题,您可以尝试重启负载均衡器控制器。这将使控制器重新评估其当前的ECS实例列表,并根据需要创建新的实例或将现有的实例移出负载均衡器。要重启控制器,请运行以下命令:

    kubectl delete pod -n <your-namespace> <load-balancer-controller-pod-name>
    
    2023-11-30 13:49:05
    赞同 展开评论 打赏
  • 面对过去,不要迷离;面对未来,不必彷徨;活在今天,你只要把自己完全展示给别人看。

    这个问题可能是由于您的集群没有正确配置 "taints and tolerations" 导致的。
    "Taints and tolerations" 是 Kubernetes 集群中的一个重要特性,它可以用来限制某些节点只能运行特定类型的 Pod。具体来说,您可以在节点上添加 "taint" 来标记该节点具有某种限制条件;然后在 Pod 上添加 "toleration" 来声明该 Pod 可以容忍这些限制条件。
    在这种情况下,您可以在 Node 上添加一种 "taint" 来阻止 LoadBalancer 类型的 Pod 在此节点上运行,然后在其他节点上添加相应的 "toleration" 来允许此类 Pod 在这些节点上运行。这样,LoadBalancer 就会按照预期的方式在多个节点之间进行迁移和平衡了。
    需要注意的是,如果您想要完全避免这种问题的发生,您可以考虑使用 Azure Kubernetes Service (AKS) 或其他第三方托管服务提供商提供的 LoadBalancer 功能,这些服务通常都已经内置了类似的能力,无需手动配置即可正常工作。

    2023-11-14 13:00:20
    赞同 展开评论 打赏
  • 在EC2上运行的LoadBalancer Controller有时会受到单个节点的影响,并且可能在单个节点上多次运行,这是因为LoadBalancer Controller的任务是异步执行的,并且它们可能在单个节点上堆积。
    如果发现此类问题,请尝试以下解决方案:

    • 关闭EC2实例上的LoadBalancer Controller,使其再次运行。
    • 检查LoadBalancer Controller的配置,确保它能够有效响应事件。
    • 使用更高效的计算资源。
    • 增加运行容器的数量,以便更好地分配任务。
    2023-11-14 10:44:46
    赞同 展开评论 打赏

阿里云负载均衡(Server Load Balancer,简称SLB)是云原生时代应用高可用的基本要素。通过将流量分发到不同的后端服务来扩展应用系统的服务吞吐能力,消除单点故障并提升应用系统的可用性。 阿里云SLB包含面向4层的网络型负载均衡NLB、面向7层的应用型负载均衡ALB和传统型负载均衡CLB,是阿里云官方云原生网关。

相关产品

  • 负载均衡
  • 热门讨论

    热门文章

    相关电子书

    更多
    《应用型负载均衡ALB产品解读》 立即下载
    阿里云网络-SLB负载均衡产品介绍 立即下载
    负载均衡SLB热点问题解答 立即下载