k8s中网络通讯简单介绍

1 前言

        Kubernetes的网络模型假定了所有的pod都在一个可以直接连通的扁平的网络空间中,这在GCE(Google Compute Engine)里面是现成的网络模型,Kubernetes假设这定这个网络已经存在。但是在私有云里搭建Kubernetes集群,就不能够假定这个网络已经存在了。我们需要自己去实现这个网络假设,将不同节点的Docker容器之间的访问互相打通,然后运行Kubernetes。

2 解决方案

2.1 Flannel

        Flannel团队是CoreOs团队针对Kubernetes设计的一个网络规划服务,简单来说,它的功能是让集群中的不同节点主机创建的Docker容器都具有全集群唯一的虚拟ip地址,而且它还能在这个ip地址之间建立一个覆盖网络(Overlay Network),通过这个覆盖网络,将这个数据包原封不动的传递到目标容器内。

假设现在有2台机器,4个pod(包含3个后端的pod(Web app1、Web app2、Web app3),1个前端的pod(Backend))

那么从这张图中就可以看出几个问题了,

        一个是在同一个主机中的通讯

        一个是在不同主机间的通讯

同一个Pod内部通讯:同一个Pod共享同一个网络命名空间,共享一个Linux协议栈

Pod1至Pod2在同一台主机:由Docker0网桥转发请求至Pod2,不需要经过Flannel

Pod1至Pod2不在同一个主机:Pod的地址是与Docker0在同一个网段的,但docker0网段与宿主机网卡是两个完全不同的IP网段,并且不同之间Node的通信只能通过宿主机的物理网卡进行。将Pod的ip和所在Node的ip关联起来,通过这个关联让Pod互相访问。

Pod至Service网络:基于性能考虑,全部为iptables维护和转发

Pod至外网:Pod向外网发送请求,查找路由表,转发数据包到宿主机的网卡,宿主网卡完成路由选择后ipatables执行Masquerade,把原ip更改为宿主网卡的ip,然后向外网服务器发送请求。

外网访问Pod:Service

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/19556.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Flutter悬浮UI的设计Overlay组件

文章目录 APP开发经常要遇到的开发场景Overlay 的介绍Overlay的使用规则举例说明源码例子报错报错No Overlay widget found报错原因解决方法 修改后的源码 例子效果 APP开发经常要遇到的开发场景 有时候我们在开发APP的时候会遇到下面这些需求: 在现有页面上添加浮…

UI 自动化测试 —— selenium的简单介绍和使用

selenium 是 web 应用中基于 UI 的自动化测试框架,支持多平台、多浏览器、多语言。 提到 UI 自动化就先了解什么是自动化测试? 目录 1. 自动化测试 2. UI 自动化 2.1 UI 自动化的特点 2.2 UI 自动化测试的优缺点 2.3 UI 自动化测试的使用对象 2.4 UI …

【Mac】Mac 通过路径找到对应的文件夹

mac 的快捷键 复制文件夹或文件全路径 命令:command Option C 跳转文件夹或文件 命令:command shift G 其他待补充

百度墨斗鱼文库创作中心源码分析

前言 公司解散,待业中,耗时一天研究了一下百度墨斗鱼文库创作中心源码。实现了后台自动完成任务并通知。 下面主要分析一下实现思路和难点 一,实现思路 调用接口查询未回答的题目列表 合并多个tab下的题目 设置黑白名单,这里…

can 相关背题

1 CAN FD 和CAN的 区别: CAN-FD:一帧数据最长64字节。以理解成CAN协议的升级版,只升级了协议,物理层未改变。传输速率不同、数据长度不同、帧格式不同、ID长度不同。 1)速率不同: CAN:最大传…

【JAVA】数据类型,类型转换与提升,运算符,标识符命名规则

🍉内容专栏:【JAVA】 🍉本文脉络:数据类型,类型转换与提升,运算符,标识符命名规则 🍉本文作者:Melon_西西 🍉发布时间 :2023.7.12 目录 1. 字面常…

阿里云限时福利:WoSign品牌SSL证书首购4折优惠

阿里云SSL证书限时首购福利:2023年07月04日至08月31日,阿里云平台WoSign品牌系列SSL证书首购4折优惠,惊喜折扣、限时促销、限量抢购,机会不容错过! 阿里云平台WoSignSSL证书 沃通CA是依法设立的第三方电子认证服务机构…

vLLM大模型推理加速方案原理(PagedAttention)

一、vLLM 简介 vLLM 用于大模型并行推理加速,核心是 PagedAttention 算法,官网为:https://vllm.ai/。 vLLM 主要特性: 先进的服务吞吐量通过 PagedAttention 对注意力 key 和 value 进行内存管理对传入请求的批处理针对 CUDA 内…

SwiftUI + Swift 设备振动

如何让设备振动呢 iPhone 6S 3D Touch,可以识别轻,中,重三种按压力度,配合恰到好处的振动有利于提升交互体验,但后面的新设备都不支持 3D Touch 了,改为了检测按压时间,按同一个图标&#xff0…

尚医通04:Axios Node Npm bable webpack+前端工程改造

目录 本日学习 内容介绍 Axios Node NPM包管理器 本日学习 1. 了解Axios :他是异步请求用的,前后端。 用于在浏览器和 Node.js 中发送 HTTP 请求。它支持从服务器获取数据、上传数据以及执行其他与 HTTP 相关的操作。 2.Node:它允许你在服务器端运行 JavaScrip…

python PYQT5 键盘,鼠标,绘制,焦点,改变,输入法,事件的方法和使用例子

https://img-blog.csdnimg.cn/7630017d3ee444eab9bdedf8d48d575f.png from PyQt5.Qt import * import sys class MyQwidget(QWidget):def __init__(self):super().__init__()def showEvent(self, a0) -> None:print("窗口被展示出来",a0)def closeEvent(self,a0) …

linux开发工具:repo

1:repo简单介绍 repo是Google开发的用于管理Android版本库的一个工具,它是由一系列的Python脚本组成,封装了一系列的Git命令,用来统一管理多个Git仓库。repo不是用于取代git,而是简化了对多个Git版本库的管理。 repo…