iptables实现负载均衡

iptable为什么之后pod的probability越来越大 项目集群是使用k8s管理的,流量分发使用的是iptable,据压测反馈说负载不均衡,吓得老夫赶紧去查看,发现原来是压测同学搞错了。在查询的过程中,发现iptable规则之后的probability越来越大,记录一下原因。 root@ip-10-1-34-89:/home/admin# iptables -t nat -nL ... Chain KUBE-SVC-7XZINH2IMK6FHKPK (2 references) target prot opt source d 阅读详情

主要规则

规则一:(验证有点问题)
iptables -t nat -I PREROUTING -p tcp -d 192.168.200.154/24 --dport 80 -m statistic --mode random --probability 0.5 -j DNAT --to-destination 192.168.200.157:80
 
iptables -t nat -I PREROUTING -p tcp -d 192.168.200.154/24 --dport 80 -j DNAT --to-destination 192.168.200.158:80


规则二:(验证没问题)
iptables -t nat -A PREROUTING -d 192.168.200.154 -p tcp --dport 80 -m statistic --mode nth --every 2 --packet 0 -j DNAT --to-destination 192.168.200.157:80
iptables -t nat -A POSTROUTING -s 192.168.200.157 -p tcp --sport 80 -j SNAT --to-source 192.168.200.154
 
iptables -t nat -A PREROUTING -d 192.168.200.154 -p tcp --dport 80 -j DNAT --to-destination 192.168.200.158:80
iptables -t nat -A POSTROUTING -s 192.168.200.158 -p tcp --sport 80 -j SNAT --to-source 192.168.200.154

 

试验结果(规则二)

  • 网络配置截图如下:

  • 两个nginx服务分别绑定两个虚IP如下图:

  •  添加对应规则如下:

如上图,刚加完规则连接上的数据包都是0。

  • 访问10个页面如下图:

  •  连接会负载到两个规则链上去,如下图:

 

Service流量玄机:图解Kubernetes的iptables负载均衡实现原理 本文深入剖析了Kubernetes Service如何通过iptables实现负载均衡。通过图解方式,详细追踪了从ClusterIP到后端Pod的流量转发路径,解析了KUBE-SERVICES、KUBE-SVC-XXX和KUBE-SEP-XXX等核心规则链的工作原理,并探讨了NodePort服务的实现机制与常见排障思路。 阅读详情

相关推荐

12、Kubernetes中KubeProxy实现之iptables和ipvs_ipvs和iptables

iptables和ipvs其实都是依赖的一个共同的Linux内核模块:Netfilter。Netfilter是Linux 2.4.x引入的一个子系统,它作为一个通用的、抽象的框架,提供一整套的hook函数的管理机制,使得诸如数据包过滤、网络地址转换(NAT)和基于协议类型的连接跟踪成为了可能。Netfilter的架构就是在整个网络流程的若干位置放置了一些检测点(HOOK),而在每个检测点上登记了一些处理函数进行处理。

2401_86444443的博客 1394

iptables实战-DNAT、SNAT和负载均衡

本文主要涉及了三个实验:利用iptabels实现SNAT、DNAT和出向负载均衡。

TheMonkeyKing 5673

利用Iptables实现LVS负载均衡集群研究

利用Iptables实现LVS负载均衡集群研究

Linux利用iptables实现负载均衡loadbalance

1. iptables实现负载均衡的方式: 在Linux中使用iptables完成tcp的负载均衡有两种模式:随机、轮询 The statistic module support two different modes: random:(随机) the rule is skipped based on a probability nth:(轮询) the rule is skipped...

ksj367043706的博客 9018

从TM1到TM9:手把手教你用Wireshark抓包分析LTE下行调度与传输模式切换

本文详细解析了如何使用Wireshark抓包分析LTE下行调度中的传输模式切换,从TM1到TM9的动态调整过程。通过实战案例,包括小区边缘移动、高速场景和多用户调度,揭示eNodeB如何基于信道质量指标(如RSRP、SINR)动态切换传输模式,并提供关键信令解析和优化建议,助力网络工程师提升LTE网络性能。

weixin_42651748的博客 315

Unity UGUI深度优化

Unity UGUI优化相关

不定时分享所学所得,包括游戏开发和其他收获! 2717

查看iptables来理解集群上service如何完成负载均衡

查看iptables规则信息理解发送到service上的请求是如何转发的pod的。

qiaotl的博客 1092

mstar PQ软件修改方法

1.修改ADC的值 Static code APIXC_AdcGainOffsetSetting tADCSetting[ADC_SET_NUMS]= #define INIT_ADC_RGB_RED_GAIN               0x1000 #define INIT_ADC_RGB_GREEN_GAIN           0x1000 #define INIT_ADC_RGB

qq_18810259的专栏 2565

使用iptables OUTPUT规则实现负载均衡

目的:希望本机服务在发出调用请求的时候,可以负载均衡到不同的目的地址。 这个目的看似有些诡异,一般的负载均衡场景都是服务端在收到请求时,在服务端前段的网关上做负载均衡。但是确实存在这样的场景:在微服务治理场景中,没有了全局的负载均衡器,依赖本地代理实现负载均衡算法,如果某个客户端未连接到注册中心,或者其他场景下和注册中心失联,需要手工配置到目的路由,如改下/etc/hosts文件中,加入目的服务...

为君歌一曲 8229

【从零开始玩量化7】easyTrader: 自动化(程序化)交易利器

前面的文章,我们介绍了数据获取工具AKShare, 量化回测工具backtrader等,这一篇,介绍程序化交易工具easyTrader。作者网名食灯鬼,目前项目在Github上的star数已经有6.7k。这可能是目前,开源能找到的,最好用的程序化交易库了。本文介绍了easyTrader的简单用法,这个包还有很多功能,后续再继续写文章探究。

量化投资助手的博客 1万+

Python自动化测试报告:飞书群机器人消息卡片实战

本文详细介绍了如何利用Python和飞书群机器人实现自动化测试报告的智能通知。通过构建可定制的消息卡片,将测试结果(如通过数、失败数)以清晰、美观的格式自动推送至团队群聊,并支持一键跳转查看详细报告,从而显著提升团队协作与问题响应效率。

k6l7m8n9的博客 811

通过iptables实现nat、负载均衡笔记

网络拓扑图

weixin_39713646的博客 1679

别让 Claude Code 一直问你“能不能执行“:权限配置完全指南

Claude Code 提供了一套精细的权限配置机制,配置好权限设置,可以提速不少。这个小技巧需要掌握一下。

沐风 3839

【博客513】iptables实现负载均衡和公平轮询的DNAT

注意:因为iptables中,规则是按顺序匹配的,由上至下依次匹配,因此设计iptables规则时,要严格对规则进行排序。因此上述三条规则的顺序也不可以调换,不然就无法实现LB均分了。由上可见,三条规则命中的几率一样的。此外,如果我们想修改三条规则的命中率,可以通过 --probability 参数调整。在Linux中使用iptables完成tcp的负载均衡有两种模式:随机、轮询。

qq_43684922的博客 1800

C# 上位机之海康工业相机开发(SDK)实战教程

海康工业相机的C#开发核心是基于MVS SDK的“初始化→枚举→连接→采集→释放”流程,其中图像回调处理和格式转换是关键。严格按照SDK文档处理设备类型(网口/USB)和像素格式;及时释放图像资源,避免内存泄漏;错误码是排查问题的重要依据(可参考SDK中的“错误码说明”文档)。掌握这些基础后,可结合机器视觉算法(如OpenCV)实现缺陷检测、尺寸测量等高级功能,构建完整的工业视觉系统。

这里只有干货:从 Modbus 通信到 MES 对接,从 YOLO 训练到工控机部署,带你搞定工业软件开发全流程。 3827

Python电商网站全站爬虫实战:以京东为例的数据采集与分析

随着电子商务的蓬勃发展,电商数据已成为市场研究、竞争分析和消费者行为研究的重要资源。本文详细介绍了如何使用Python最新技术栈构建一个高效的电商网站全站爬虫,以京东为例实现商品数据的自动化采集。文章涵盖了爬虫的法律与伦理考量、技术选型、反爬虫策略应对、分布式架构设计以及数据存储方案,并提供了完整的代码实现。本爬虫系统采用Scrapy-Redis分布式框架、Selenium动态渲染、智能代理轮换和机器学习验证码识别等先进技术,能够稳定高效地抓取京东全站商品数据,为电子商务研究提供数据支持。关键词。

2201_76125261的博客 413

通过iptables简单的实现负载均衡

输入以下命令: iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-ports 8001-8002   解释:通过NAT的方式吧从端口80接收到的数据随机转发到8001,8002端口   注意:要使用 iptables-save > /etc/sysconfig/iptables,否则在服务重启后会丢失的...

代码民工 865

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

k8s service负载均衡实现之iptables

1. k8s-service代理模式

七月流星雨 54

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

LVS nat 是否需要借助iptables 的snat实现负载均衡

先贴图:这个图用的cisco的路由器。事实结果是不用做snat。然而lvs的nat 跟这个模型很相似,有人说lvs nat 是多组的dnat,现在我来证实一下lvs 是否需要开启iptables snat 来帮助realserver 把数据包做转换。还是lvs自身来转换数据包结构。实验所需:lvs配置的关键项我贴出来,我用的keepalived 配置,方便写而且能进行主机存...

weixin_33859665的博客 646

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

linux iptables实现单机多ip出口ip负载均衡(宽带叠加)

环境:服务器配有:10.10.0.196/197/198/199 四个ip 希望:实现对外发送请求时,对方看到我的出口ip每次都是不一样的,四个ip轮训作为出口IP 方案:iptables的nth模块 /sbin/iptables -t nat -I POSTROUTING -m state --state NEW -p tcp --dport 443 -o eth0 -m st

MyBlog 8805

iptables的随机负载均衡机制

本文通过快递仓库类比,详细解释了Kubernetes中Service请求的处理流程:1)客户端请求到达Service ClusterIP;2)节点网络栈识别特殊IP;3)iptables通过随机概率规则选择后端Pod;4)DNAT将虚拟IP转换为具体Pod IP;5)数据包路由到目标Pod;6)响应通过SNAT伪装为Service IP返回。整个过程实现了无状态负载均衡,确保流量均匀分配且客户端无需感知后端变化。

Demo_ZGJ的博客 363

iptables实战-SNAT|DNAT|负载均衡

请注意,以上示例仅为演示iptables的用法,具体的配置和规则需要根据实际网络环境和需求进行调整。DNAT(Destination NAT):用于修改数据包的目标IP地址,通常用于将外部公共IP地址映射到内部私有网络的IP地址,实现入口流量的转发。SNAT(Source NAT):用于修改数据包的源IP地址,通常用于将内部私有网络的IP地址转换为公共IP地址,实现出口流量的转发。iptables是Linux系统下的一个强大的防火墙工具,可以用于实现SNAT、DNAT和负载均衡等网络转发功能。

高性价比服务器就选:蓝易云 674

Kubernetes service之iptables规则以及Coredns

K8s当中的service是如何工作的呢?实际上由Kube-proxy进行工作的。 Service代理模式 访问cluster还是nodeport通过iptables帮你转发。转发方式有两种,一种是iptable还有一种是ipvs,默认使用的是iptables的模式。 Service的底层实现主要有iptables和ipvs二种网络模式,决定了如何转发流量。 可以看到kube-proxy里面显示转发使用的是itpables [root@k8s-master ~]# kubectl l.

小楼一夜听春雨,深巷明朝卖杏花 3847

k8s-service底层之 Iptables与 IPVS

service底层之 Iptables与 IPVS service底层实现主要由两个网络模式组成:iptables与IPVS。他们都是有kube-proxy维护 service工作流程图 Iptables 以k8s中的nginx这个service举例,这是一个nodePort类型的service 用命令 iptables-save |grep nginx 可以看到这个service中的iptables规则 找到他对外暴露的端口30601 ...

huahua1999的博客 8598

12、Kubernetes中KubeProxy实现之iptables和ipvs

iptables和ipvs其实都是依赖的一个共同的Linux内核模块:Netfilter。Netfilter是Linux 2.4.x引入的一个子系统,它作为一个通用的、抽象的框架,提供一整套的hook函数的管理机制,使得诸如数据包过滤、网络地址转换(NAT)和基于协议类型的连接跟踪成为了可能。Netfilter的架构就是在整个网络流程的若干位置放置了一些检测点(HOOK),而在每个检测点上登记了一些处理函数进行处理。

weixiaohuai的博客 2071
上一篇: C++类方法调用
下一篇: C++ 函数对象(仿函数)
码农诗人
博客等级 码龄11年 986粉丝 84原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值