gmnon.cn-疯狂蹂躏欧美一区二区精品,欧美精品久久久久a,高清在线视频日韩欧美,日韩免费av一区二区

站長資訊網
最全最豐富的資訊網站

Flannel入門介紹

Flannel是CoreOS團隊針對Kubernetes設計的一個網絡規劃服務,簡單來說,它的功能是讓集群中的不同節點主機創建的Docker容器都具有全集群唯一的虛擬IP地址。 

在Kubernetes的網絡模型中,假設了每個物理節點應該具備一段“屬于同一個內網IP段內”的“專用的子網IP”。例如: 

節點A:10.0.1.0/24  節點B:10.0.2.0/24  節點C:10.0.3.0/24  

但在默認的Docker配置中,每個節點上的Docker服務會分別負責所在節點容器的IP分配。這樣導致的一個問題是,不同節點上容器可能獲得相同的內外IP地址。并使這些容器之間能夠之間通過IP地址相互找到,也就是相互ping通。 
Flannel的設計目的就是為集群中的所有節點重新規劃IP地址的使用規則,從而使得不同節點上的容器能夠獲得“同屬一個內網”且”不重復的”IP地址,并讓屬于不同節點上的容器能夠直接通過內網IP通信。 

2Flannel的工作原理

Flannel實質上是一種“覆蓋網絡(overlay network)”,也就是將TCP數據包裝在另一種網絡包里面進行路由轉發和通信,目前已經支持UDP、VxLAN、AWS VPC和GCE路由等數據轉發方式。 

默認的節點間數據通信方式是UDP轉發,在Flannel的GitHub頁面有如下的一張原理圖: 

Flannel入門介紹

這張圖的信息量很全,下面簡單的解讀一下。 
數據從源容器中發出后,經由所在主機的docker0虛擬網卡轉發到flannel0虛擬網卡,這是個P2P的虛擬網卡,flanneld服務監聽在網卡的另外一端。 
Flannel通過Etcd服務維護了一張節點間的路由表,在稍后的配置部分我們會介紹其中的內容。 
源主機的flanneld服務將原本的數據內容UDP封裝后根據自己的路由表投遞給目的節點的flanneld服務,數據到達以后被解包,然后直 接進入目的節點的flannel0虛擬網卡,然后被轉發到目的主機的docker0虛擬網卡,最后就像本機容器通信一下的有docker0路由到達目標容器。 
這樣整個數據包的傳遞就完成了,這里需要解釋三個問題。 

第一個問題,UDP封裝是怎么一回事? 

我們來看下面這個圖,這是在其中一個通信節點上抓取到的ping命令通信數據包。可以看到在UDP的數據內容部分其實是另一個ICMP(也就是ping命令)的數據包。 

Flannel入門介紹

原始數據是在起始節點的Flannel服務上進行UDP封裝的,投遞到目的節點后就被另一端的Flannel服務還原成了原始的數據包,兩邊的Docker服務都感覺不到這個過程的存在。 

第二個問題,為什么每個節點上的Docker會使用不同的IP地址段? 

這個事情看起來很詭異,但真相十分簡單。其實只是單純的因為Flannel通過Etcd分配了每個節點可用的IP地址段后,偷偷的修改了Docker的啟動參數,見下圖。 

Flannel入門介紹

這個是在運行了Flannel服務的節點上查看到的Docker服務進程運行參數。 

注意其中的“–bip=172.17.18.1/24”這個參數,它限制了所在節點容器獲得的IP范圍。 

這個IP范圍是由Flannel自動分配的,由Flannel通過保存在Etcd服務中的記錄確保它們不會重復。 

第三個問題,為什么在發送節點上的數據會從docker0路由到flannel0虛擬網卡,在目的節點會從flannel0路由到docker0虛擬網卡? 

我們來看一眼安裝了Flannel的節點上的路由表。下面是數據發送節點的路由表: 

Flannel入門介紹

這個是數據接收節點的路由表: 

Flannel入門介紹

例如現在有一個數據包要從IP為172.17.18.2的容器發到IP為172.17.46.2的容器。根據數據發送節點的路由表,它只與 172.17.0.0/16匹配這條記錄匹配,因此數據從docker0出來以后就被投遞到了flannel0。同理在目標節點,由于投遞的地址是一個容 器,因此目的地址一定會落在docker0對于的172.17.46.0/24這個記錄上,自然的被投遞到了docker0網卡。 

回到頂部

 

3Flannel的安裝和配置

Flannel是Golang編寫的程序,因此的安裝十分簡單。 
從 https://github.com/coreos/flannel/releases和 https://github.com/coreos/etcd/releases分別下載Flannel和Etcd的最新版本二進制包。 
解壓后將Flannel的二進制文件“flanneld”和腳本文件“mk-docker-opts.sh”、以及Etcd的二進制文件“etcd”和“etcdctl”放到系統的PATH目錄下面安裝就算完成了。 
配置部分要復雜一些。 
首先啟動Etcd,參考 https://github.com/coreos/etcd … overy。 
訪問這個地址: https://discovery.etcd.io/new?size=3 獲得一個“Discovery地址” 
在每個節點上運行以下啟動命令: 
etcd -initial-advertise-peer-urls http://<當前節點IP>:2380 -listen-peer-urls http://<當前節點IP>:2380 -listen-client-urlshttp://<當前節點IP>:2379,http://<當前節點IP>:2379 -advertise-client-urls http://<當前節點IP>:2379 -discovery <剛剛獲得的Discovery地址> & 
啟動完Etcd以后,就可以配置Flannel了。 

Flannel的配置信息全部在Etcd里面記錄,往Etcd里面寫入下面這個最簡單的配置,只指定Flannel能用來分配給每個Docker節點的擬IP地址段: 

etcdctl set /coreos.com/network/config '{ "Network": "172.17.0.0/16" }'

然后在每個節點分別啟動Flannel: 

flanneld &

最后需要給Docker動一點手腳,修改它的啟動參數和docker0地址。 

在每個節點上執行: 

sudo mk-docker-opts.sh -i  source /run/flannel/subnet.env  sudo rm /var/run/docker.pid  sudo ifconfig docker0 ${FLANNEL_SUBNET}   

重啟動一次Docker,這樣配置就完成了。 

現在在兩個節點分別啟動一個Docker容器,它們之間已經通過IP地址直接相互ping通了。 

到此,整個Flannel集群也就正常運行了。 

最后,前面反復提到過Flannel有一個保存在Etcd的路由表,可以在Etcd數據中找到這些路由記錄,如下圖。 

Flannel入門介紹

Q&A

問:數據從源容器中發出后,經由所在主機的docker0虛擬網卡轉發到flannel0虛擬網卡,這種P2P實際生產中是否存在丟包,或者此機制有高可用保障么? 
答:只是本機的P2P網卡,沒有經過外部網絡,應該還比較穩定。但我這里沒有具體數據。 

問:UDP數據封裝,轉發的形式也是UDP么?我們一般知道UDP發送數據是無狀態的,可靠么? 
答:轉發的是UDP,高并發數據流時候也許會有問題,我這里同樣沒有數據。 

問:實際上,kubernates是淡化了容器ip,外圍用戶只需關注所調用的服務,并不關心具體的ip,這里fannel將IP分開且唯一,這樣做有什么好處?有實際應用的業務場景么? 
答: IP唯一是Kubernetes能夠組網的條件之一,不把網絡拉通后面的事情都不好整。 

問:Flannel通過Etcd分配了每個節點可用的IP地址段后,偷偷的修改了Docker的啟動參數:那么如果增加節點,或刪除節點,這些地址段(ETCD上)會動態變化么?如果不是動態變化,會造成IP地址的浪費么? 
答會造成一些浪費,一般使用10.x.x.x的IP段。 

問:sudo mk-docker-opts.sh -i 這個命令具體干什么了?非coreos上使用flannel有什么不同? 
答:生成了一個Docker啟動的環境變量文件,里面給Docker增加了啟動參數。 
沒有什么不同,只是CoreOS集成了Flannel,在CoreOS上面啟動Flannel只是一行命令:systemctl start flanneld。 

問:容器IP都是固定的嗎?外網與物理主機能ping通,也能ping通所有Docker集群的容器IP? 
答:不是固定的,IP分配還是Docker在做,Flannel只是分配了子網。 

問:Flannel的能否實現VPN?你們有沒有研究過? 
答: 應該不能,它要求這些容器本來就在一個內網里面。 

問:Flannl是誰開發的?全是對k8s的二次開發嗎? 
答: CoreOS公司,不是k8s的二次開發,獨立的開源項目,給k8s提供基礎網絡環境。 

問:Flannel支持非封包的純轉發嗎?這樣性能就不會有損失了? 
答:非封裝怎樣路由呢?發出來的TCP包本身并沒有在網絡間路由的信息,別忘了,兩個Flannel不是直連的,隔著普通的局域網絡。 

問: Flanel現在到哪個版本了,后續版本有什么側重點?性能優化,還是功能擴展? 
答:還沒到1.0,在GitHub上面有他們的發展計劃,性能是很大的一部分。 

問: 就是在CoreOS中,客戶還需要安裝Flannel嗎? 
答:不需要,在啟動的Cloudinit配置里面給Etcd寫入Flannel配置,然后加上flanneld.service command: start 就可以了,啟動完直接可用,文檔連接我不找了,有這段配置,現成的。 

問: 可不可以直接用命令指定每個主機的ip范圍,然后做gre隧道實現節點之間的通信?這樣也可以實現不同主機上的容器ip不同且可以相互通信吧? 
答:還不支持指定哪個節點用那段IP,不過貌似可以在Etcd手改。 

問: Flannel只是負責通信服務,那是不是還要安裝k8s? 
答:是的,k8s是單獨的。 

問:現在Docker的網絡組件還有什么可以選擇或者推薦的? 
答:Overlay網絡的常用就是Flannel和Weave,其他OVS之類的另說了。

贊(0)
分享到: 更多 (0)
?
網站地圖   滬ICP備18035694號-2    滬公網安備31011702889846號
gmnon.cn-疯狂蹂躏欧美一区二区精品,欧美精品久久久久a,高清在线视频日韩欧美,日韩免费av一区二区
日韩精品免费一区| 日本三级福利片| 日韩精品视频网址| 久久久999免费视频| 久久久久久久免费视频| 天天干天天综合| 欧美精品色婷婷五月综合| 神马午夜伦理影院| 91在线第一页| √天堂资源在线| 污色网站在线观看| 免费在线激情视频| 自拍日韩亚洲一区在线| 污污污污污污www网站免费| 在线免费看污网站| 亚洲另类第一页| www.涩涩涩| 成人亚洲精品777777大片| 97在线播放视频| 波多野结衣家庭教师在线播放| 国产精品视频一二三四区| 国产一二三四五| 欧美与动交zoz0z| 99视频精品全部免费看| 欧美极品少妇无套实战| 国产一区 在线播放| 成年人视频网站免费| 999久久欧美人妻一区二区| 麻豆一区二区三区在线观看| 国产在线无码精品| 男女日批视频在线观看| 久久久久免费看黄a片app| 国产伦精品一区二区三区四区视频_| 人人妻人人澡人人爽欧美一区双| 免费网站永久免费观看| 国产精品视频一区二区三区四区五区| 无码aⅴ精品一区二区三区浪潮 | 久久99999| 一级黄色录像在线观看| 亚洲在线观看网站| 欧美 日韩 国产精品| 久久视频这里有精品| 免费激情视频在线观看| 亚洲最大天堂网| 男女裸体影院高潮| 日本a级片免费观看| 激情五月婷婷久久| 在线a免费观看| 熟女少妇在线视频播放| 人人干人人干人人| 成年丰满熟妇午夜免费视频| 每日在线更新av| 中文字幕亚洲影院| 91视频 -- 69xx| www.久久com| 狠狠爱免费视频| 国产资源第一页| 日本激情视频在线| 黄色大片中文字幕| 日本一二三四区视频| 91免费视频网站在线观看| 成人性生交视频免费观看| 丰满爆乳一区二区三区| 五月天婷婷在线观看视频| 99精品人妻少妇一区二区| 咪咪色在线视频| 男女男精品视频站| 欧美国产日韩激情| 三年中国中文在线观看免费播放| 男人日女人下面视频| 久久久久福利视频| 日韩va在线观看| 国产偷人视频免费| 一卡二卡三卡视频| 成人高清dvd| 一区二区三区一级片| 污污视频网站免费观看| 久久国产精品网| 成年在线观看视频| 久久久久亚洲av无码专区喷水| 成人免费在线观看视频网站| 国产99久久九九精品无码| 日韩精品综合在线| 欧美少妇一区二区三区| 欧美一级小视频| 91小视频网站| 亚洲黄色小视频在线观看| 欧美一级片中文字幕| 国产午夜福利视频在线观看| 日韩av一二三四区| aa视频在线播放| 国产九九九九九| 缅甸午夜性猛交xxxx| 国产精品无码av在线播放| 日本免费不卡一区二区| 国产精品333| 国产性生交xxxxx免费| 少妇高清精品毛片在线视频 | 狠狠干 狠狠操| 免费看国产一级片| aⅴ在线免费观看| 天天视频天天爽| 男女啪啪的视频| 国产日韩av网站| 日韩av资源在线| 亚洲黄色片免费| 成人在线视频一区二区三区| 久久综合久久网| 欧美性猛交xxx乱久交| 91插插插插插插插插| 91香蕉视频网址| 精品无码国产一区二区三区av| 欧美日韩在线中文| 污污的视频免费| 欧美中文字幕在线观看视频| 成人免费在线小视频| 最新免费av网址| 日韩精品―中文字幕| 亚洲最大成人在线观看| 亚洲色图都市激情| 91国产精品视频在线观看| 色婷婷激情视频| 欧美国产视频一区| 欧美在线观看视频网站| 亚洲第一成肉网| 国内精品视频一区二区三区| 婷婷激情四射五月天| 国产精品www在线观看| 国产天堂在线播放| 成年人视频大全| 天天爱天天操天天干| 精品人妻人人做人人爽| 亚洲老女人av| 国产在线精品91| 青青草综合在线| 国产性生活一级片| 激情五月开心婷婷| 人人妻人人做人人爽| 亚洲欧美日韩三级| 国产黄色一级网站| www成人免费| 中文字幕第三区| 亚洲午夜激情影院| 亚洲欧美激情网| 欧美极品欧美精品欧美图片| 日韩精品综合在线| 黄色影视在线观看| 激情在线观看视频| jizz18女人| 91人人澡人人爽人人精品| 动漫av网站免费观看| wwwwww欧美| 男人c女人视频| 97在线免费视频观看| 天天成人综合网| 美女黄色片网站| ijzzijzzij亚洲大全| 色婷婷.com| 特级西西444www| 亚洲小说欧美另类激情| 日韩成人精品视频在线观看| 在线视频日韩一区 | heyzo国产| 和岳每晚弄的高潮嗷嗷叫视频| avove在线观看| 亚洲精品少妇一区二区| 神马午夜伦理影院| 免费的一级黄色片| 黄色一级片国产| 成人免费观看cn| 免费高清在线观看免费| 一本久道综合色婷婷五月| 99视频在线免费| 五月天视频在线观看| 五月婷婷六月丁香激情| 一级黄色录像在线观看| 中文字幕 欧美日韩| 91成人在线视频观看| 日韩精品一区二区三区四| 欧美丰满熟妇bbbbbb百度| 亚洲一区二区蜜桃| 91小视频在线播放| 中文字幕乱码免费| 日韩a∨精品日韩在线观看| 国产一区二区三区精彩视频 | 蜜桃福利午夜精品一区| 亚洲综合激情五月| 成人在线观看你懂的| 亚洲无吗一区二区三区| www.久久com| 九色在线视频观看| 色乱码一区二区三区在线| 在线观看18视频网站| 欧美日韩在线中文| 久久精品国产99久久99久久久| 妞干网在线播放| 污视频网址在线观看| 成人免费网站入口| 在线观看亚洲色图| 日日摸日日碰夜夜爽无码|