当前位置: 首页 > 知识库问答 >
问题:

在Azure库伯内特斯服务(AKS)中,我有一个ClusterIP类型的服务,它是否在内部执行pod的负载平衡?

彭畅
2023-03-14

假设这种情况:

服务A(集群IP):

  • 豆荚1(图1)
  • 豆荚2(图1)
  • 豆荚3(图1)

服务B(ClusterIP):

  • Pod1(Image2)
  • Pod2(Image2)
  • Pod3(Image2)

假设我有一个入口控制器:

/svcA

所以我的问题是,服务仍然在pod之间进行负载平衡?如果服务A的Pod1很忙,并且请求必须由服务A的Pod2或Pod3处理怎么办?谁在执行负载平衡?

谢谢你!

共有2个答案

柴晔
2023-03-14

名为kube proxy的Kubernetes基础设施为ClusterIP服务(以及从集群内部调用时的NodePort和LoadBalancer服务)提供负载平衡。实际的负载平衡取决于集群配置,但通常并不智能;典型的开箱即用设置将使用循环或随机路由。Kubernetes文档中关于虚拟IP和服务代理的部分对此进行了更详细的讨论。

如果pod < code > deployment-a-pod-1 太忙而无法处理请求,那么对< code>service-a的三分之一请求将会超时。如果这种积压也影响到您用于活性探测的HTTP请求,它将最终导致pod重新启动,并且到该特定pod的任何未完成的连接都将丢失。在这两种情况下,客户端都必须重试受影响的请求。

姜弘化
2023-03-14

它将进行负载平衡,但它不是应用程序感知的,因此如果您的pod由于负载而无法处理请求,请求将会丢失或返回错误。您可以使用就绪性探测将pod标记为未就绪,在这种情况下,它们将不会接收流量

 类似资料:
  • 我仍然对Kubernetes节点端口服务有疑问。 NodePort:在静态端口(NodePort)上公开每个节点IP上的服务。将自动创建节点端口服务将路由到的ClusterIP服务。您可以从集群外部通过请求来联系NodePort服务:。 如果我有两个节点:nodeA和nodeB,并且如果我只在nodeA上部署应用程序,然后创建NodePort服务,那么我可以同时使用nodeA和nodeB IP访问

  • 我在两个节点上运行 Kubernetes,并在两个节点上部署一个应用程序(两个 pod,每个节点一个)。 这是一个Spring Boot应用程序。它使用OpenFygnd来实现服务可发现性。在应用程序中,我定义了一个一来控制程序,它有几个API和一个从API内部调用的@Autow的@Service。 每当我对其中一个API进行请求时,Kubernetes都会使用某种负载平衡来将流量路由到其中一个p

  • 我只是在本地mac上使用mini kube设置kubernetes。 创建了一个类型为NodePort的服务,并且能够使用url

  • 我在pod中运行了高视频编码任务。这些任务在接收用户请求时运行,并且CPU密集型非常高。我想确保CPU使用率最低的pod应该在传入请求中接收。库伯内特斯有没有办法根据CPU使用率的百分比来平衡我的负载?

  • 我最近开始研究Kubernetes集群。在我们的集群中,对给定Kubernetes服务的网络调用流如下所示: 外部非K8S负载均衡器- 对于给定的服务,有两个副本。通过查看副本中容器的日志,我可以看到调用被路由到不同的pod。据我所知,我们还没有为Kubernetes中的服务明确设置任何负载平衡策略。 我有几个问题: 1)K8S是否有默认的负载平衡策略?我读过库贝-proxy和随机路由。它看起来绝

  • 什么是负载均衡器? 负载平衡改进了跨多个计算资源(如计算机、计算机群集、网络链路、中央处理器或磁盘驱动器)的工作负载分布 NodePort不是负载平衡器。(我知道一旦流量在集群内,kube proxy就会在pod之间进行负载平衡)我的意思是,最终用户点击http://NODEIP:30111(例如)访问应用程序的URL。即使POD之间的流量是负载平衡的,用户仍然会点击一个节点,即“节点”,它是K8

  • 当我将服务与ClusterIP类型和2个POD一起使用时,流量分布在2个POD上。 我找到了另一种服务类型LoadBalancer。这两种服务的区别是什么?LoadBalancer与ClusterIP有何不同? 谢谢

  • 我已经在AKS上部署了我的kubernetes应用程序,它使用内部负载均衡器,而没有单独的入口控制器。 目前该服务可以使用超文本传输协议访问,我想保护该服务。如何启用https以及应在何处安装证书?