千家信息网

kubernetes中网络模型的示例分析

发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,这篇文章主要介绍kubernetes中网络模型的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!Kubernetes从Docker默认的网络模型中独立出来形成一套自己的网
千家信息网最后更新 2026年11月01日kubernetes中网络模型的示例分析

这篇文章主要介绍kubernetes中网络模型的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

Kubernetes从Docker默认的网络模型中独立出来形成一套自己的网络模型。模型的基础原则是:每个Pod都拥有一个独立的IP地址,而且假定所有Pod都在一个可以直接连通的,扁平的网络空间中。同一个Pod内的容器可以通过localhost来连接对方的端口。

Docker网络模型

Docker使用Linux桥接,在宿主机上虚拟一个Docker网桥(docker0),Docker启动一个容器时会根据Docker网桥的网段分配容器的IP,同时Docker网桥是每个容器的默认网关。因为在同一个宿主机内的容器都接入同一个网桥,这样容器之间就能通过容器的IP直接通信。



1. 网络命名空间

为了支持网络协议栈的多个实例,Linux在网络栈中引入了网络命名空间。这些独立的协议栈被隔离到不同的命名空间中。处于不同命名空间的网络栈是完全隔离的。网络命名空间内可以有自己独立的路由表及独立的Iptables/Netfilter设置来提供包转发,NAT及IP包过滤等功能。

2. Veth

引入Veth设备对是为了在不同的网络命名空间之间进行通信,利用它可以直接将两个网络命名空间连接起来。

3. Iptables/Netfilter

Netfilter是Linux操作系统核心层内部的一个数据包处理模块. Iptables是应用层的,其实质是一个定义规则的配置工具,而核心的数据包拦截和转发是Netfiler。

Netfilter作用于网络层,数据包通过网络层会经过Netfilter的五个挂载点(Hook POINT):PRE_ROUTING、INPUT、OUTPUT、FORWARD、POST_ROUTING 任何一个数据包,只要经过本机,必将经过这五个挂载点的其中一个。

iptables的规则组成,又被称为四表五链:

四张表:filter表(用于过滤)、nat表(用于地址转换)、mangle表(修改数据包)、raw表(一般是为了不再让iptables做数据包的链接跟踪处理,跳过其他表,提高性能)

五个挂载点:PRE_ROUTING、INPUT、OUTPUT、FORWARD、POST_ROUTING

具体来说,就是iptables每一条允许/拒绝或转发等规则必须选择一个挂载点,关联一张表。

查看系统中已有的规则的方法如下:

iptables-save : 按照命令的方式打印Iptables的内容。

Iptables-vnL : 以另一种格式显示Netfilter表的内容。

4. 网桥

网桥是一个二层网络设备,可以解析收发的报文,读取目标MAC地址的信息,和自己记录的MAC表结合来决策报文的转发端口。

5. 路由

路由功能由IP层维护的一张路由表来实现。当主机收到数据报文时,它用此表来决策下来应该做什么操作,当从网络侧接收到数据报文时,IP层首先会检查报文的IP地址是否与主机自身的地址相同。如果不同,并且主机配置了路由功能,那么报文将被转发,否则,报文将被放弃。

查看LOCAL表的内容:

ip route show table local type local

路由表查看:

Ip route list

6. 网关

网关(Gateway)就是一个网络连接到另一个网络的"关口".按照不同的分类标准,网关也有很多种。TCP/IP协议里的网关是最常用的.

网关实质上是一个网络通向其他网络的IP地址。比如有网络A和网络B,网络A的IP地址范围为"192.168.1.1~192. 168.1.254",子网掩码为255.255.255.0;网络B的IP地址范围为"192.168.2.1~192.168.2.254",子网掩码为255.255.255.0。在没有路由器的情况下,两个网络之间是不能进行TCP/IP通信的,即使是两个网络连接在同一台交换机(或集线器)上,TCP/IP协议也会根据子网掩码(255.255.255.0)判定两个网络中的主机处在不同的网络里。而要实现这两个网络之间的通信,则必须通过网关。




Docker网桥是宿主机虚拟出来的,并不是真实存在的网络设备,外部网络是无法寻址到的,这也意味着外部网络无法直接访问到容器。如果容器希望能够被外部网络访问到,就需要通过映射容器端口到宿主机。 Docker run -p ****:****

实际上,端口映射通过在iptables的NAT表中添加相应的规则,所以我们将端口映射的方式成为NAT方式。

三:Kubernetes网络模型

1. 容器间通信

Pod是容器的集合,Pod包含的容器都运行在同一个宿主机上,这些容器将拥有同样的网络空间,容器之间能够互相通信,它们能够在本地访问其它容器的端口。

2. Pod间通信

Kubernetes网络模型是一个扁平化的网络平面,在这个网络平面内,Pod作为一个网络单元同Kubernetes Node的网络处于同一层级。

同一个Kubernetes Node上的Pod/容器原生能通信,但是Kubernetes Node之间的Pod/容器之间的通信,需要对Docker进行增强。在容器集群中创建一个覆盖网络,联通各个节点。




3. Service到Pod的通信

Service 在Pod之间起到服务代理的作用,对外表现为一个单一访问接口,将请求转发给Pod,Service的网络转发是Kubernetes实现服务编排的关键一环。


IP

是10.254.248.68,端口80/TCP对应的Endpoints包含10.1.46.2:80,10.1.77.2:80;即当请求10.254.248.68:80时,会转发到这些后端之一。

Kubernetes Proxy通过创建Iptables规则,直接重定向访问Service虚拟IP的请求到Endpoints.而当Endpoints发生变化的时候,Kubernetes Proxy会刷新相关的Iptables规则。在Iptables模式下,Kubernetes Proxy只是负责监控Service和Endpoints,更新Iptables规则,报文的转发依赖于Linux内核,默认的负载均衡策略是随机方式。

以上是"kubernetes中网络模型的示例分析"这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注行业资讯频道!

网络 容器 通信 空间 模型 之间 地址 报文 数据 规则 端口 网关 路由 网桥 不同 两个 内容 宿主 独立 主机 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 咖啡豆 广东万易互联网科技有限公司惠州分公司 上海喔噻互联网科技 易通互联网络科技有限公司 互联网科技美容 科技互联网的估值 宁夏众和广鑫互联网科技有限公司 昊天互联网科技有限公司 互联网5g黑科技有哪些 速维有品互联网信息科技(苏州)有限公司 互联网科技和信息 中和天地互联网科技有限公司 银行科技岗属于互联网吗 福建互联网展示科技馆设计 互联网科技企业商标注意事项 互联网科技平台产品运营 玉溪新华互联网科技怎么选 科技互联网公司两年变化 杭州科技互联网公司有哪些 安徽九吞吴互联网科技有限公司 咖啡豆 百单网互联网科技有限公司 国智互联网科技 网络科技有限互联网 厦门比较好的科技互联网公司 知域互联网科技有限公司大骗子 移动互联网年度科技创新 用友工业互联网科技发展 互联网硬科技公司 互联网高科技绘画
0