c语言sscanf函数的用法是什么
231
2022-10-24
k8s 网络
k8s 网络
1、同一个pod的多个容器,互相访问,会共享一个linux的协议站pause(同一网络命名空间),通过localhost\回环网卡就可以 2、同一主机下的不同pod,是通过同一主机的doker0网桥转发,同一网桥下的不通子网而已,不需要flannel0 3、跨主机下的不同pod通信: 首先在node主机上会安装一个Flanneld守护进程,并且这个进程会监听一个端口,这个端口就是用于后期转发数据包的, flanneld这个进程启动以后,它会开启一个网桥叫flannel0,这个网桥专门收集docker0转发出来的数据报文,可以理解为 钩子函数,docker0会分配具体的IP到对应的pod上。 首先Pod的源地址和对方pod的目标地址不在同一网段,所以Pod会将自己的源地址发送到自己的网关,也就是docker0, docker0上会有钩子函数,把数据包抓到flannel0上,flannel0上会有一堆路由表记录(是从etcd上取的),然后flannel0 把数据包给flanneld,到flanneld后会对数据报文进行封装,首先是把node主机的源地址和目标地址进行第一次封装(第一次封装知道对方的node ip信息就是根据etcd里维护的路由表), 通过udp封装(更快),然后在此基础上进行第二次封装,把pod的源地址和目标地址包上,由于里层封装的写了目标的node主机 IP,会被目标的node主机上的flanneld截获(根据端口),截获以后会进行拆封,拆封以后会转发到flannel0,然后flannel0会 转发到docker0,然后根据拆封里面的pod目标IP找到机器。 pod和service的网络: 老版是通过iptables,现在一般是lvs,效率更高 pod里的容器上网,通过snat动态转换实现 out network访问pod,就是通过service来实现
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~