当前位置: 首页 > news >正文

酷站百分百python做网站后台

酷站百分百,python做网站后台,php网站作业模版,ui设计师培训费用引言 本文是《深入剖析 K8s》的学习笔记,相关图片和案例可从https://github.com/WeiXiao-Hyy/k8s_example中获取,欢迎 ⭐️! 上篇主要介绍了 Flannel 插件为例,讲解了 K8s 里容器网络和 CNI 插件的主要工作原理。还有一种“纯三层”的网络方…

引言

本文是《深入剖析 K8s》的学习笔记,相关图片和案例可从https://github.com/WeiXiao-Hyy/k8s_example中获取,欢迎 ⭐️!

上篇主要介绍了 Flannel 插件为例,讲解了 K8s 里容器网络和 CNI 插件的主要工作原理。还有一种“纯三层”的网络方案值得注意。即 Flannel 的 host-gw 模式和 Calico 项目。

Flannel 的 host-gw 模式

原理图如下:

请添加图片描述

flannel 使用 host-gw 模式之后,会在宿主机创建一条规则

10.244.0.1/24 via 10.168.0.3 dev eth0

目的 IP 地址属于 10.244.1.0/24 网段的 IP 经过本机的 eth0 发出(dev eth0);并且下一跳的地址是 10.168.0.3(via 10.168.0.3)。

一旦配置了下一跳地址,那么 IP 包从网络曾进入链路层封装成帧时,eth0 设备就会使用下一跳的 MAC 地址。这样,这个数据帧就会从 Node1 通过宿主机的二层网络顺序到达 Node2 上。

根据 Node2 上的路由表,该目的地址会匹配到第二条路由规则(10.244.1.0/24)。

这台“主机”充当了这条容器通信路径的网关(host-gw)。

说明

host-gw 模式能够正常工作的核心,在于 IP 包在封装成帧发送出去,会使用路由表中的下一跳来设置目的 MAC 地址。要求集群宿主机之间是二层连通的。

Calico 项目

Calico 项目提供的网络解决方案与 Flannel 的 host-gw 几乎完全一样。也会为宿主机添加一条格式如下的路由规则。

<目的容器IP地址> via <网关的IP地址> dev eth0

不同与 Flannel 通过 etcd 和宿主机上的 flanneld 来维护路由信息,Calico 项目则使用来 BGP(border gateway protocol,边界网关协议)

BGP 是大规模网络中实现节点路由信息共享的一种协议。BGP 协议详解链接:https://cloud.tencent.com/developer/article/1922673

Calico 项目架构组成

  1. Calico 的 CNI 插件:这是 Calico 与 K8s 对接的部分
  2. Felix:是一个 DaemonSet,负责在宿主机上插入路由规则
  3. BIRD:是 BGP 的客户端,专门负责在集群里分发路由规则信息

Calico 原理图如下所示:

请添加图片描述

由于 Calico 没有使用 CNI 的网桥模式,因此 Calico 的 CNI 插件还需要在宿主机上为每一个容器的 Veth Pair 设备配置一条路由规则,用于接收传入的 IP 包。

10.233.2.3 dev cali5863f3 scope link

发送 10.233.2.3 的 IP 包应该进入 cali5863f3 设备中。

Calico 的 Felix 进程负责维护下一跳路由规则。

注意

Calico 实际上将集群里的所有节点都当作边界路由器来处理,共同组成了一个全连通的网络(Node-to-Node Mesh)。但是随着节点 N 的增加,这些连接的数量就会以 N 2 N^2 N2的规模快速增长,从而给集群的网络带来压力。

一般推荐 Node-to-Node Mesh 用于节点少于 100 个的集群里。而在更大规模的集群里使用 Route Reflector 模式。

Route Reflector 模式会指定一个或者几个专门的节点,来负责跟所有节点建立 BGP 连接,从而学习全局的路由规则。实际上是扮演了“中间代理”的角色。

Calico-考虑两台处于不同子网的宿主机 Node1 和 Node2

同样是 container1 请求 container4,Calico-IPIP 工作原理图如下:

请添加图片描述

Calico 会在 Node1 上添加一条路由规则

10.233.2.0/16 via 192.158.2.2 eth0

然而 Node1 和 Node2 不在一个子网里,无法通过二层网络 IP 包发送到下一跳地址。

解决方案

在 Calico-IPIP 模式下,Felix 进程在 Node1 上添加的路由规则会不同

10.233.2.0/24 via 192.168.2.2 tunl0

使用的 tunl0 设备是一个 IP 隧道设备,会将 IP 包添加一个外部 IP 报头。原理图如下:
请添加图片描述

将宿主机网关也加入 BGP Mesh

由于宿主机属于不同子网(VLAN),成了更加常见的部署状态。为了避免使用IPIP方式的性能损耗,将宿主机网关加入BGP Mesh成了迫切的需求。

方案一:不推荐

所有宿主机跟宿主机建立 BGP Peer 关系

这种情况要求宿主机支持 Dynamic Neighbors 的 BGP 配置方式。考虑到宿主机数量成百上千。Dynamic Neigbors 允许给路由器配置一个网段,路由器自动和跟该网段的主机建立 BGP Peer 关系,避免手动管理路由器。

方案二:推荐

使用一个或者多个独立组件负责搜集整个集群里的所有路由信息,然后使用 BGP 协议同步给网关。

只需要 WATCH ETCD 里的宿主机和对应网段的变化信息,然后把这些信息通过 BGP 协议分发给网关即可。

参考资料

  • https://book.douban.com/subject/35424872/
  • https://cloud.tencent.com/developer/article/1922673
http://www.yayakq.cn/news/515544/

相关文章:

  • 网站建设开发程序wordpress后台慢的问题
  • 建设企业网站个人网上做网站 侵权
  • 山东济南网站建设公司排名可以直接进入网站的正能量没封的
  • 中国效能建设网站舆情报告书
  • 手机建设银行网站进不去网络营销策划案的形式
  • 企业网站建设需要做些什么wordpress添加用户
  • 免费建立永久网站移动端下载
  • wordpress 电商seo搜索引擎优化岗位要求
  • 泰安浩龙网站开发网站贴子推广怎么做
  • wordpress搜站点网络中断哈默wordpress上传
  • 用ps个人网站怎么做网站风格什么意思
  • 南宁哪个网络公司建网站好电子商务前景怎么样
  • 佛山网页设计培训seo搜索引擎优化方案怎么写
  • 重庆seo整站优化系统心理学网站的建设
  • 网站服务器空间选择分销商城app
  • 汉中网站建设汉中备案后的域名改网站名
  • 东莞行业网站建设建立企业网站 优帮云
  • 犀牛云网站建设怎么开网店具体流程
  • 新开传奇网站手机版公司宣传册模板免费下载
  • 天水网站建设公司排名网站开发后台数据库怎么搞
  • 制作公司网站价格龙岗营销网站建设公司哪家好
  • 设计学校网站模板免费下载小型办公室网络组建方案
  • 不懂代码怎么做网站网站开发软件著作权归谁
  • 南昌网站建设精英温州企业网站建设要多少钱
  • 网站规划设计书建设网站哪家最好
  • 2014网站建设商业模式包括哪些模式
  • wordpress整站备份插件网站如何做跳转
  • 宁波汽车网站建设wordpress微信小程序
  • qq做我女朋友好吗网站seo权威入门教程
  • 全国住房城乡建设厅网站网站开发与服务合同范本