首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

k8s集群网络(7)-service之ipvs cluster ip实现原理

在之前文章中我们介绍了基于iptable方式实现的k8s集群中cluster ip类型和node port类型service的负载均衡。其本质上是当网络数据包从pod的network namespace中通过linux veth pair设备进入到host宿主中的network namespace时,经过iptable一系列的NAT转换,把service的cluster ip和端口DNAT成pod的ip和端口。同时leverage linux iptable的random模块,实现了对pod的负载均衡,然后再交由host对目标pod的路由策略来实现将数据包发往pod。当然,这一切都是在linux内核空间实现的,和应用程序的用户空间没有关系。在这里我们主要介绍基于ipvs的cluster ip类型service的实现原理。如果对于ipvs不熟悉的同学可以浏览一下网站http://www.linuxvirtualserver.org/,大名鼎鼎的LVS负载均衡就是基于ipvs来实现的。

04

k8s集群网络(8)-service之ipvs node port实现原理

在上一篇文章中我们介绍了基于ipvs的cluster ip类型service的实现原理,本质上是在iptable的PREROUTING chain以及相关target中利用ipset来匹配cluster ip,完成对即将做MASQUERADE伪装的items的mark标记,同时结合ipset也减少了iptable中的entry数量。另外在host network namespace里创建kube-ipvs0网络设备,绑定所有cluster ip,保证网络数据包可以进入INPUT chain。在INPUT chain中ipvs利用映射规则(可由ipvsadm查看该规则)完成对cluster ip的DNAT和目标pod endpoints选择的负载均衡,然后直接把数据送入POSTROUTING chain。当数据包进入POSTROUTING chain,经过相关的iptable target,匹配在PREROUTING chain中的mark标记,完成MASQUERADE伪装(SNAT host的ip地址)。最后数据包根据host network namespace的路由表做下一跳路由选择。在这里我们主要介绍基于ipvs的node port类型service的实现原理,如果对上一篇文章内容有所理解,那么这里也比较简单。

05

锐捷交换机常用命令速查[通俗易懂]

大家好,又见面了,我是你们的朋友全栈君。准备工作 >Enable 进入特权模式   #Exit 返回上一级操作模式   #End 返回到特权模式   #write memory 或copy running-config startup-config 保存配置文件   #del flash:config.text 删除配置文件(交换机及1700系列路由器)   #erase startup-config 删除配置文件(2500系列路由器)   #del flash:vlan.dat 删除Vlan配置信息(交换机)   #Configure terminal 进入全局配置模式   (config)# hostname switchA 配置设备名称为switchA   (config)#banner motd & 配置每日提示信息 &为终止符   (config)#enable secret level 1 0 star 配置远程登陆密码为star   (config)#enable secret level 15 0 star 配置特权密码为star   Level 1为普通用户级别,可选为1~15,15为最高权限级别;0表示密码不加密   (config)#enable services web-server 开启交换机WEB管理功能   Services 可选以下:web-server(WEB管理)、telnet-server(远程登陆)等

03
领券