陜西省建設銀行網(wǎng)站6seo如何優(yōu)化
承接上文
同一個node中pod之間如何通信?
單一Pod上的容器是怎么共享網(wǎng)絡命名空間的?

每個node上的pod ip和cni0網(wǎng)橋ip和flannel ip都是在同一個網(wǎng)段10.1.71.x上。
cni0網(wǎng)橋會把報文發(fā)送flannel這個網(wǎng)絡設備上,flannel其實是node上的一個后臺進程,它將整個k8s的node網(wǎng)絡地址分成一塊一塊的。每個node的網(wǎng)段是互相不重疊的。
flannel network是10.1.0.0,10.1是整個集群總的網(wǎng)段,給每個node使用ip地址的第三位即給每個node再劃分網(wǎng)段,每個node再用具體劃分的網(wǎng)段再給pod分配ip地址。
pod和pod之間的通信,如果是在同一個node上,就使用cni這個網(wǎng)橋進行報文的轉發(fā);如果去連接別的node上的pod,那么就會通過flannel網(wǎng)絡設備。
flannel使用的是vxlan(虛擬擴展網(wǎng)絡)。

k8s集群中有2個node,一個是ubantu,一個是centos

ubantu的網(wǎng)段是10.1.62,centos網(wǎng)段是10.1.71

在當前的node上會有一個flannel damon來控制整個網(wǎng)段的分配,

有一個flannel的網(wǎng)絡設備,它使用的網(wǎng)段就是當前node的網(wǎng)段,用來做報文的轉發(fā);flannel在維護整個網(wǎng)絡空間上,連接到了k8s的etcd,每當有新的node加入,就會在etcd中注冊上新的信息,

在etcd的這個目錄network/config下flannel配的這個信息表示flannel給整個集群的網(wǎng)段是10.1,當有新的node加入到這個集群當中就會有新的目錄產(chǎn)生,

2個node,2個目錄,

看下里面的內(nèi)容,flannel看當前使用的是這個網(wǎng)段對外的ip是10.211.55.12,

這個ip地址跟當前的node對外的網(wǎng)絡設備的ip地址是一樣的;flannel虛擬出來了一組ip,然后進行node和node之間通信的時候,它實際上是通過node上實際的網(wǎng)絡設備的ip地址進行路由。
看下路由信息,

如果是這個網(wǎng)段就通過flannel這個設備進行轉發(fā);
node與node之間是如何通信的?
采用了扁平化的網(wǎng)絡,這個網(wǎng)絡的維護是flannel的demon,有新的node加入進來,通過etcd注冊并分配這個node相應的網(wǎng)絡空間,并且通知后臺的damon用來控制報文的轉發(fā)。