Kubernetes - [02] 网络通讯方式
题记部分
一、网络通讯模式
Kubernetes的网络模型假定了所有Pod都在一个可以直接连通的扁平的网络空间中,这在(GCEGoogle Compute Engine)里面是现成的网络模型,Kubernetes假定这个网络已经存在。而在私有云里搭建Kubernetes集群,就不能假定这个网络已经存在了。我们需要自己实现这个网络假设,将不同节点上的Docker容器之间的互相访问先打通,然后运行Kubernetes。
同一个Pod内的多个容器之间:lo
各Pod之间的通讯:Overlay Network
Pod与Service之间通讯:各节点的iptables规则
二、网络解决方案 k8s + Flannel
Flannel是CoreOS团队针对Kubernetes设计的一个网络规划服务,简单来说,它的功能是让集群中的不同节点主机创建的Docker容器都具有全集群唯一的虚拟IP地址。而且它还能在这些IP地址之间建立一个覆盖网络(Overlay Network),通过这个覆盖网络,将数据包原封不动地传递到目标容器内。

三、ETCD和Flannel的关联
(1)存储管理Flannel可分配的IP地址资源
(2)监控ETCD中每个Pod的实际地址,并在内存中建立维护Pod节点路由表
四、不同情况下网络通信方式
(1)同一个Pod内部通讯:同一个Pod共享同一个网络命名空间,共享同一个Linux协议栈
(2)Pod1至Pod2
- Pod1与Pod2不在同一台主机,Pod的地址是与docker0在同一个网段的,但docker0网段与宿主机网卡是两个完全不同的IP网段,并且不同Node之间的通信只能通过宿主机的物理网卡进行。将Pod的IP和所在Node的IP关联起来,通过这个关联让Pod可以互相访问
- Pod1与Pod2在同一台机器,由docker0网桥直接转发请求至Pod2,不需要经过Flannel
(3)Pod至Service的网络:目前基于性能考虑,全部为iptables维护和转发
(4)Pod 到外网:Pod向外网发送请求,查找路由表,转发数据包到宿主机的网卡,宿主网卡完成路由选择后,iptables执行Masquerade,把源IP更改为宿主网卡的IP,然后向外网服务器发送请求
(5)外网访问 Pod:Service
五、组件通讯示意图
节点网络是真实的网络,Pod网络和Service网络则是虚拟的

— 业精于勤荒于嬉,行成于思毁于随 —
Kubernetes - [02] 网络通讯方式的更多相关文章
- 网络--三种网络通讯方式及Android的网络通讯机制
Android平台有三种网络接口可以使用,他们分别是:java.net.*(标准Java接口).Org.apache接口和Android.net.*(Android网络接口).下面分别介绍这些接口的功 ...
- kubernetes 配置网络插件 flannel
概述 在学习docker时知道docker有四种常用的网络模型 bridge:桥接式网络 joined:联盟式网络,共享使用另外一个容器的网络名称空间 opened:容器直接共享使用宿主机的网络名称空 ...
- dicom网络通讯入门(3)
接下来可以进行消息传递了 ,也就是dimse ,再来复习下 什么是dimse .n-set n-create c-echo 这些都是dimse 他们都是属于一种结构的pdu 那就是tf-pdu(传 ...
- dicom网络通讯入门(2)
第二篇,前面都是闲扯 其实正文现在才开始,这次是把压箱底的东西都拿出来了. 首先我们今天要干的事是实现一个echo响应测试工具 也就是echo 的scu,不是实现打印作业管理么.同学我告诉你还早着呢. ...
- 《连载 | 物联网框架ServerSuperIO教程》-4.如开发一套设备驱动,同时支持串口和网络通讯。附:将来支持Windows 10 IOT
1.C#跨平台物联网通讯框架ServerSuperIO(SSIO)介绍 <连载 | 物联网框架ServerSuperIO教程>1.4种通讯模式机制. <连载 | 物联网框架Serve ...
- VMware的三种网络连接方式区别
关于VMware的三种网络连接方式,NAT,Bridged,Host-Only ,在刚接触的时候通常会遇到主机Ping不通虚拟机而虚拟机能Ping得通主机:主机与虚拟机互不相通等等网络问题.本文就这三 ...
- 【工业串口和网络软件通讯平台(SuperIO)教程】九.重写通讯接口函数,实现特殊通讯方式
SuperIO相关资料下载:http://pan.baidu.com/s/1pJ7lZWf 1.1 统一的IO接口 开发一套设备驱动同时具备串口和网络通讯能力,通讯接口在逻辑上是统一的,在此基础 ...
- C# RFID windows 服务 网络协议方式
上篇话说是串口方式操作RFID设备. 下面介绍网络协议方式. 设备支持断线重连. 那我们的服务也不能差了不是. 所以这个服务类也是支持的哦. 不解释上代码: namespace Rfid { /// ...
- DIOCP网络通讯流程
DIOCP 运作核心探密 原文连接: http://blog.qdac.cc/?p=2362 原作者: BB 天地弦的DIOCP早已经广为人知了,有很多的同学都用上了它,甚至各种变异.修改版本也出 ...
- VirtualBox的四种网络连接方式
VirtualBox中有4中网络连接方式:a. NAT 网络地址转换模式(Network Address Translation)b. Bridged ...
随机推荐
- Pytest接口自动化测试框架Python自动化测试开发
一.引言 在软件开发过程中,接口测试是确保软件各个组件之间数据传输和功能交互正常工作的重要环节.通过接口测试,可以提高软件的整体质量和稳定性.Pytest是一个流行的Python自动化测试框架,提供了 ...
- Finereport调用python服务进行大数据量导出
Finereport调用python服务进行大数据量导出 背景: 在使用finereport过程中,我们发现在数据导出这块一直是一个瓶颈,闲来无事,思索一番,想出来一种场景来应对此问题.供各位大佬参考 ...
- 加速人民币国际化,CIPS迎来三大变化
何谓CIPS? 人民币跨境支付系统(Cross-border Interbank Payment System,简称CIPS)是由中国人民银行组织开发的独立支付系统,为境内外金融机构人民币跨境和离岸业 ...
- 两个 F# 的 MVVM
fsprojects/Avalonia.FuncUI: Develop cross-plattform GUI Applications using F# and Avalonia! fabulous ...
- [SpringBoot]浏览器输出中文乱码问题解决
问题情境: IDEA.Springboot.浏览器访问接口查看返回的JSON数据,发现中文乱码 解决方案: server: servlet: encoding: charset: UTF-8 enab ...
- Python+Selenium自动搜索基金业协会指定企业名单,爬虫抓取指定信息并保存到数据库
Python+Selenium自动搜索基金业协会指定企业名单,抓取指定信息并保存到数据库.网址https://gs.amac.org.cn/amac-infodisc/res/pof/manager/ ...
- DotNetBar控件中,删除或移除AdvTree上指定名称的Node
废话少说,直接上核心代码: string deleteNodeName = "节点1"; //移除advTree上指定名称的Node Node deleteNode = advTr ...
- IM消息ID技术专题(七):深度解密vivo的自研分布式ID服务(鲁班)
本文由vivo互联网技术An Peng分享,本文收录时有内容修订和重新排版. 1.引言 本文通过对分布式ID的3种应用场景.实现难点以及9种分布式ID的实现方式进行介绍,并对结合vivo业务场景特性下 ...
- Web网页端IM产品RainbowChat-Web的v4.1版已发布
一.关于RainbowChat-Web RainbowChat-Web是一套Web网页端IM系统,是RainbowChat的姊妹系统(RainbowChat是一套基于开源IM聊天框架 MobileIM ...
- 基于Netty,从零开发IM(三):编码实践篇(群聊功能)
本文由作者"大白菜"分享,有较多修订和改动.注意:本系列是给IM初学者的文章,IM老油条们还望海涵,勿喷! 1.引言 接上两篇<IM系统设计篇>.<编码实践篇(单 ...