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

Kubernetes节点端口并发连接限制

燕嘉颖
2023-03-14
netstat -ant | awk '{print $6}' | sort | uniq -c | sort -n
...
20087 ESTABLISHED
30969 SYN_SENT
net.netfilter.nf_conntrack_buckets = 16384
net.netfilter.nf_conntrack_max = 131072
net.nf_conntrack_max = 131072 

这是港口范围。我不确定这是否重要(我不确定DNAT和SNAT是否使用端口),但范围似乎远高于16K。

net.ipv4.ip_local_port_range = 32768    60999

还有什么可能限制通过iptables/netfilter转发的并发连接的数量吗?

共有1个答案

薛晨
2023-03-14

当您击中pod没有运行的NodePort时,您的性能总是会变得更差。本质上,您的数据包正在经历额外的跳跃,试图(通过iptables)到达其最终目的地。

我建议您为NodePort服务使用源IP。基本上,用以下方法修补您的服务:

$ kubectl patch svc <your-service> -p '{"spec":{"externalTrafficPolicy":"Local"}}'

然后让负载均衡器只将流量转发到为流量服务的节点端口。

 类似资料:
  • 我们正在GKE(谷歌kubernetes引擎)上运行一个API服务器。我们使用Google云endpoint和API密钥处理授权。我们将每个API密钥上的某些IP地址列为白名单。为了做到这一点,我们必须将负载平衡器转换为入口控制器,以公开我们的API服务器。IP白名单不适用于loadbalancer服务。现在,我们有一个类似以下内容的入口设置:

  • 有没有使用Qpromise库限制promise并发的方法? 这个问题有点与如何限制Qpromise并发有关? 但问题是我正试图这样做: 真正的用例是: 从DB获取帖子 循环DB中的每个帖子,如 对于每个帖子做task1,task2,task3(检索社交计数器,检索评论计数等) 在DB中保存新的文章数据。 但问题是node同时执行所有帖子的所有任务,比如同时向facebook询问500篇帖子的“喜欢

  • 我有一个LoadBalancer服务,它在群集外公开3300端口。我想打开一个新的端口用于内部通信,以便其他吊舱可以与此服务对话,但此端口不应暴露在集群外部。 基本上,通信如下所示:

  • 在我的gce库贝集群中,我使用nginx入口控制器而不是谷歌负载均衡器,通过使用“nginx-ingress”与NodePort而不是输入LoadBalance,如下所示: 由于nginx控制器部署为“conroll.service.type=NodePort”,节点被打开/分配(kubect get svc),也获得了外部ip 104.196。xxx。xxx。此时,nginx ingress c

  • 编辑:我直接在我的快速应用程序中对流畅的服务IP进行了编码,并且它的工作。如何在没有 Harcoding IP 的情况下让它工作? 我有几个pod(nodejs express服务器)在Kubernetes集群上运行。 我想将日志从我的nodejs pod发送到Fluentd DeamonSet。 但是我得到了这个错误: 我正在使用 https://github.com/fluent/fluent

  • 我对Kubernetes和Helm图表是新的,我想在这里找到我的问题的答案。 我一直认为是向外部公开集群的端口,而port是在内部服务上公开的端口,它路由到pods上的。我从这里得到了这个理解。 但是,我似乎可以打开或,但不能打开或。我希望能够通过访问104.198.205.71,而不是通过端口。我的理解不正确吗?