【问题标题】:How setup kube-proxy for balance requests between Pods?如何为 Pod 之间的平衡请求设置 kube-proxy?
【发布时间】:2022-08-10 20:13:16
【问题描述】:

我有一个带有 2 个节点的 k8s 集群。我有一个 ClusterIP 服务,其 Deployment 链接到一个自动扩展一组 Pod 的 HPA。我想在多个线程中向服务发送许多请求,并在当前可用的 Pod 数量中平衡请求。 在开始时,我使用默认的 kube-proxy 模式 IPTABLES,但是将请求随机分配给 Pod,其中一些 Pod 工作更多而另一些更少,增加了请求的响应时间,并且平均 CPU 百分比不高用于添加新 Pod。 比我使用“sed”调度程序切换到 IPVS 但平衡不一样,因为每个线程都被分配给一个 Pod 并且在最后创建的 Pod 不工作时以最大值工作。 你能给我一些提示,告诉我如何才能达到我的目标吗?

    标签: kubernetes hpa kube-proxy ipvs


    【解决方案1】:

    Kube-proxy 不支持将虚拟 IP 作为目标 Kubernetes 集群中的每个节点都运行一个 kube-proxy。 kube-proxy 负责为非 ExternalName 类型的服务实现一种形式的虚拟 IP kube-proxy 可以在三种不同的模式下运行:

    • iptables(默认模式)
    • Ipv
    • 用户空间(“传统”模式,不再推荐) 虽然 iptables 模式对于许多集群和工作负载来说完全没问题,但当服务数量很重要(超过 1,000 个)时,ipvs 会很有用。事实上,由于 iptables 规则是按顺序读取的,如果集群中存在许多服务,它的使用会影响路由性能。 您可以查看此document 进行配置。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-12-27
      • 2021-06-12
      • 1970-01-01
      • 2021-04-24
      • 1970-01-01
      • 2023-03-27
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多