第0层Node节点网络是保证K8s节点(物理或虚拟机)之间能够正常IP寻址和互通的网络,一般由底层(公有云或数据中心)网络基础设施支持。
第一层Pod网络
Pod是K8s的基本调度单位。所谓Pod网络,就是能够保证K8s集群中的所有Pods(包括同一节点上的,也包括不同节点上的Pods),逻辑上看起来都在同一个平面网络内,能够相互做IP寻址和通信的网络,下图是Pod网络的简化概念模型:
Pod网络构建于Node节点之上,又是Service网络的基础。Pod网络可以区分同一节点以及不同节点上的网络,下面进行剖析。
同一节点:
不同节点间的Pod网络
第二层service网络
Service网络概念模型
我们假定第1层Pod网络已经存在,下图是K8s的第2层Service网络的简化概念模型:
1、发现:Account-Service提供统一的ClusterIP来解决服务发现问题。的ClusterIP实际是个虚拟IP,也称Virtual IP(VIP)。
2、:Account-Service抽象层具有负载均衡的能力,支持以不同策略去访问Account-App集群中的不同Pod实例默认的负载均衡策略是RoundRobin。
Ingress就是一个特殊的Service,通过节点的**HostPort(80/443)**暴露出去,前置一般也有LB做负载均衡。Ingress转发到内部的其它服务,是通过集群内的Service抽象层/ClusterIP进行转发,最终转发到目标服务Pod上。Ingress的转发可以基于Path转发,也可以基于域名转发等方式,基本上你只需给它设置好转发路由表即可,功能和Nginx无本质差别。
注意,上图的Ingress概念模型是一种更抽象的画法,隐去了K8s集群中的节点,实际HostPort是暴露在节点上的。
————————————————
版权声明:本文为CSDN博主「架构师波波」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/yang75108/article/details/101268208
推荐站内搜索:最好用的开发软件、免费开源系统、渗透测试工具云盘下载、最新渗透测试资料、最新黑客工具下载……
还没有评论,来说两句吧...