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

前几年做那些网站能致富做图挣钱的网站

前几年做那些网站能致富,做图挣钱的网站,唐山网站开发培训,成都php网站开发概述 在Kubernetes中要保证容器之间网络互通#xff0c;网络至关重要。而Kubernetes本身并没有自己实现容器网络#xff0c;而是而是借助CNI标准#xff0c;通过插件化的方式自由接入进来。在容器网络接入进来需要满足如下基本原则#xff1a; Pod无论运行在任何节点都可…概述 在Kubernetes中要保证容器之间网络互通网络至关重要。而Kubernetes本身并没有自己实现容器网络而是而是借助CNI标准通过插件化的方式自由接入进来。在容器网络接入进来需要满足如下基本原则 Pod无论运行在任何节点都可以互相直接通信而不需要借助NAT地址转换实现。Node与Pod可以互相通信在不限制的前提下Pod可以访问任意网络。Pod拥有独立的网络栈Pod看到自己的地址和外部看见的地址应该是一样的并且同个Pod内所有的容器共享同个网络栈。 kubernetes中的网络通信 kubernetes中的网络通信大致分为以下几种 Pod内容器间的通信loPod之间的通信 pod IP —– pod IPflannel、calicoPod与Service之间的通信 podIP —– ClusterIPiptables、ipvsService与集群外部的通信 ClusterIP —– 集群外部 常见的CNI插件 flannelcalicocanel Flannel Flannel是CoreOS开源的Overlay模式的CNI网络插件Flannel在每个集群节点上运行一个flanneld的代理守护服务为每个集群节点host分配一个子网subnet同时为节点上的容器组pod分配IP在整个集群节点间构建一个虚拟的网络实现集群内部跨节点通信。Flannel的数据包在集群节点间转发是由backend实现的目前已经支持核心官方推荐的模式有UDP、VXLAN、HOST-GW以及扩展试用实验的模式有IPIPAWS VPC、GCE、Ali VPC、Tencent VPC等路由其中vxlan模式在实际的生产中使用最多下面以vxlan模式为例。 从图里看每个宿主机都有一个flannel1flannel.1的设备就是VXLAN所需的VTEP设备flannel1“用于VXLAN报文的封装和解封装”它既有IP地址也有MAC地址。如现在container1 访问 container2当container1发出请求后这个目的的地址是10.244.1.3的IP包会先出现在cni0网桥然后被路由到本机flanner1设备上处理也就是说来到了“隧道”的出口。既目的宿主机的VTEP设备就是flannel1 设备。 margu 当所有Node启动后我们可以在k8s-m2上可以看到多个flannel1 网卡的路由信息是因为flanneld启动后创建的。 [rootk8s-m2 ~]# ifconfig flannel.1 flannel.1: flags4163UP,BROADCAST,RUNNING,MULTICAST mtu 1450inet 10.244.0.0 netmask 255.255.255.255 broadcast 0.0.0.0ether 96:69:e2:7d:bd:32 txqueuelen 0 (Ethernet)RX packets 10177 bytes 977133 (954.2 KiB)RX errors 0 dropped 0 overruns 0 frame 0TX packets 10177 bytes 1787417 (1.7 MiB)TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0[rootk8s-m2 ~]# route -n Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 0.0.0.0 192.168.2.254 0.0.0.0 UG 0 0 0 ens32 10.244.0.0 0.0.0.0 255.255.255.0 U 0 0 0 cni0 10.244.1.0 10.244.1.0 255.255.255.0 UG 0 0 0 flannel.1 10.244.2.0 10.244.2.0 255.255.255.0 UG 0 0 0 flannel.1 169.254.0.0 0.0.0.0 255.255.0.0 U 1002 0 0 ens32 172.17.0.0 0.0.0.0 255.255.0.0 U 0 0 0 docker0 192.168.2.0 0.0.0.0 255.255.255.0 U 0 0 0 ens32从上图看到10.244.1.0就是k8s-m3的VTEP设备flannel1的IP地址而这些VTEP设备之间通讯就需要想办法组成一个虚拟的二层网络既通过二层数据帧进行通信而k8s-m2上的VTEP设备在收到原始报文后就要想办法把原始报文加一个目的MAC地址封装成二层数据帧然后发送给目的VTEP设备。这里需要解决一个问题目的VTEP设备的MAC地址是什么 根据路由表信息我们知道了目的VTEP设备的IP地址而根据三层IP地址查询二层MAC地址正是ARP表的功能。而这里用ARP表的记录也就是flanneld进程在Node2节点启动时自动添加到Node1上的。如下 $ ip neigh show dev flannel.1 10.244.1.0 lladdr e6:05:f1:5f:d7:13 PERMANENT 10.244.2.0 lladdr 46:1b:96:8c:b0:cf PERMANENT有了这个MAC地址linux内核就可以开始二层封装了上面提到的MAC地址对宿主机的二层网络没有任何意义所以上述封装的数据帧不能在宿主机的二层网络里传输为了方便概述我们把上述数据帧称为内部数据帧。所以Linux内核还要把内部数据帧进一步封装成宿主机网络的一个普通数据帧好让它载着内部数据帧通过外网网卡如eth0 、ens33等进行传输。这次封装我们称为外部数据帧为了实现这个搭便车的机制Linux内核在封装内部数据帧前面加上特殊的VXLAN头用来表示这个乘客实际上是VXLAN使用的数据帧。而这个VXLAN头里有一个重要的标志VNI它是识别某个数据帧是不是应该归属自己处理的标志。而flannel中VNI的值是1这也是为什么宿主机的VTEP设备都叫做flannel1的原因。这个时候linux内核会把这数据帧封装一个UDP报文在转发出去。虽然k8s-m2的flannel1知道k8s-m3的flannel1的MAC地址但是不知道k8s-m3对外网卡的MAC的地址也就是UDP该发往那台主机实际上flannel1还要扮演一个网桥的角色在二层网络进行UDP转发而在Linux内核里面网桥设备进行转发的依据来自FDB的转发数据库。这个flannel网桥对应的FDB信息就是flannel进程维护的他的内容如下 $ bridge fdb show flannel.1|grep 46:1b:96:8c:b0:cf 46:1b:96:8c:b0:cf dev flannel.1 dst 192.168.2.140 self permanent我们可以看到发往的IP地址是192.168.2.142的主机显然这台主机就是 k8s-m3UDP要转发的目的也找到了。接下来就是宿主机网络封包的过程了。 下面让我们来看看当有一个EventAdded到来时flanneld如何进行配置以及封包是如何在flannel网络中流动的。 借用上图所示当主机B启动了一个flanneld的服务后将从etcd中读取配置信息并请求获取子网的租约。所有Node上的flanneld都依赖etcd cluster来做集中配置服务etcd保证了所有node上flanned所看到的配置是一致的。同时每个node上的flanned监听etcd上的数据变化实时感知集群中node的变化。flanneld一旦获取子网租约、配置后端后会将一些信息写入/run/flannel/subnet.env文件。它会将自己的subnet 10.1.16.0/24和Public IP 192.168.0.101写入etcd中它还会将vtep设备flannel.1的mac地址也写入etcd中。 之后主机A会得到EventAdded事件并从中获取主机B添加至etcd的各种信息。这个时候它会在本机上添加三条信息 路由信息所有通往目的地址10.1.16.0/24的封包都通过vtep设备flannel.1设备发出发往的网关地址为10.1.16.0即主机B中的flannel.1设备。 $ ip route list ... 10.1.16.0/24 via 10.1.16.0 dev flannel.1 onlink ...fdb信息MAC地址为flannel的mac地址发往10.1.16.0的数据包都将通过vxlan首先发往目的地址192.168.0.101即主机B $ ip neigh show dev flannel.1 10.1.16.0 lladdr 46:1b:96:8c:b0:cf PERMANENT$ bridge fdb show flannel.1 | grep46:1b:96:8c:b0:cf 46:1b:96:8c:b0:cf dev flannel.1 dst 192.168.0.101 self permanentarp信息网关地址10.1.16.0的MAC地址为flannel的mac地址 [rootk8s-m2 ~]# arp -v Address HWtype HWaddress Flags Mask Iface .... 10.1.16.0 ether 46:1b:96:8c:b0:cf CM flannel.1 ....参数说明 Network flannel使用CIDR格式10.244.0.0/16的网络地址用于为pod的配置网络功能SubnetLen表示每个主机分配的subnet大小我们可以在初始化时对其指定否则使用默认配置。在默认配置的情况下SubnetLen配置为24表示24位子网掩码。SubnetMin是集群网络地址空间中最小的可分配的subnet可以手动指定否则默认配置为集群网络地址空间中第一个可分配的subnet。例如对于”10.244.0.0/16″当SubnetLen为24时第一个可分配的subnet为”10.244.1.0/24″SubnetMax表示最大可分配的subnet对于”10.244.0.0/16″当subnetLen为24时SubnetMax为”10.244.255.0/24″Backend.Type 为flannel指定使用的backend的类型类型分三种vxlan、host-gw、udp如未指定则默认为“vxlan”–ip-masqtrue 为网桥上的IP地址开启IP伪装(代表需要为其配置SNAT) 注意Backend为vxlan时其中会存储vtep设备的mac地址至etcd中 更多关于kubernetes的知识分享请前往博客主页。编写过程中难免出现差错敬请指出
http://www.ihoyoo.com/news/12320.html

相关文章:

  • wordpress 系列教程郑州网站优化公司哪家好
  • 邯郸老区建设网站黄冈网站推广软件视频下载
  • 毕设代做的网站国内漂亮大气的网站
  • 网站logo制作教程天津开发区网站设计公司
  • 源码网站怎么搭建莱芜益寿堂网站
  • 网站图片优化大小招生网站建设方案
  • 邢台移动网站建设服务开发一块地需要多少钱
  • 重庆家政公司网站建设商标免费设计在线生成
  • 游戏加盟网seo网站排名优化工具
  • 怎样做网站步骤做采集网站难不
  • 小红书网站建设目的dw是网页制作平台吗
  • joomla 网站图标wordpress 按月归档
  • 网站设计 成都广州做网页的公司
  • 国外自助建站企业商标图片大全
  • 吉林省住房城乡建设厅网站wordpress 搜索框
  • 保定哪里有做网站的大专计算机网络技术主要学什么
  • 博达网站建设优秀品牌设计公司
  • 做网站用的笔记本配置兰州做网站
  • 网站全程设计技术贵阳网站建设加q479185700
  • 河南网站建设哪家好余姚网站建设维护
  • 自己做网站语言构建服务器建工网校app免费下载
  • 长尾关键词搜索网站在线做漫画的网站
  • 郑州网站优化公司电话做的比较好的时尚网站
  • seo网站优化专员手机型号最全的网站
  • dede网站搬家教程网站建设论文总结
  • 做网站必须开厂吗网页广告关不掉怎么办
  • 做网站大概要多太原网站建设最好
  • 上海opencart网站建设电子网络工程建设范围
  • 临沂做wish网站网站 备案规定
  • 网站搭建与服务器配置深圳政务服务网官网首页