chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

docker跨主機通信的方法

汽車玩家 ? 來源:Devops部落 ? 作者:Devops部落 ? 2020-01-21 17:14 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

概述

flannel是CoreOS提供用于解決Dokcer集群跨主機通訊的覆蓋網(wǎng)絡(luò)工具。它的主要思路是:預(yù)先留出一個網(wǎng)段,每個主機使用其中一部分,然后每個容器被分配不同的ip;讓所有的容器認(rèn)為大家在同一個直連的網(wǎng)絡(luò),底層通過UDP/VxLAN等進(jìn)行報文的封裝和轉(zhuǎn)發(fā)。

架構(gòu)圖

docker跨主機通信的方法

跨主機容器通信

這里涉及到一個知識點,就是底層通過UDP/VxLAN設(shè)備進(jìn)行報文的封裝和轉(zhuǎn)發(fā),以下來敘述一下這個過程,當(dāng)報文從Pod1:10.1.15.2/24要去往Pod4: 10.1.20.2/24這個容器的時候,要分別經(jīng)過以下步驟。

因為Pod1的veth0和docker0的一段網(wǎng)卡相連,所以數(shù)據(jù)包會先發(fā)往docker0網(wǎng)橋,此時docker0會查詢自己所維護(hù)的路由表,沒有發(fā)現(xiàn)有10.1.20.2/24這個地址,所以會把數(shù)據(jù)包發(fā)送給默認(rèn)路由,這里的默認(rèn)路由即flannel網(wǎng)橋。

docker跨主機通信的方法

flannel網(wǎng)橋是一個VxLAN設(shè)備,它收到數(shù)據(jù)包后,檢查到包中的目的地址并不是自己的地址,所以他本應(yīng)該這把這個數(shù)據(jù)包重新發(fā)送出去,因為他的下一層已經(jīng)是數(shù)據(jù)鏈路層,所以即將進(jìn)行二層封包,即通過ARP協(xié)議來對以太網(wǎng)進(jìn)行廣播誰是10.1.20.2/24,接受并記錄目的的MAC地址。但是由于它是一個VxLAN設(shè)備,其特殊性就是并沒有真正在二層發(fā)出這個 arp 包,而是由 linux kernel 引發(fā)一個”L3 MISS”事件并將 arp 請求發(fā)到用戶空間的 Flannel 程序中。

docker跨主機通信的方法

flannel程序接收到”L3 MISS”事件以及 arp 請求 (who is10.1.20.2/24 ) 后,并不會像以太網(wǎng)發(fā)送ARP請求,而是在etcd中匹配10.1.20.2/24的信息,從而找到Node2的MAC地址。Flannel 將查詢到的信息放入 Node1 host 的 arp cache 表中,flannel0 完成這項工作后,Linux kernel 就可以在 arp table 中找到 10.1.20.2/24對應(yīng)的 MAC 地址并封裝二層以太包了。

Node 上 2 的 eth0 接收到上述 VXLAN 包,內(nèi)核也識別出這是一個 VXLAN 包,于是通過相反的步驟解包出來,最后傳達(dá)到POD4上去。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 以太網(wǎng)
    +關(guān)注

    關(guān)注

    41

    文章

    5635

    瀏覽量

    175949
  • 集群
    +關(guān)注

    關(guān)注

    0

    文章

    111

    瀏覽量

    17436
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    全面介紹docker的使用方法

    docker使用方法
    發(fā)表于 07-25 14:22

    Docker容器管理命令(一)

    1、Docker容器管理命令的使用方法查看當(dāng)前主機本地docker鏡像:啟動容器必須依賴鏡像,所以要獲取到鏡像的唯一標(biāo)識docker容器管理
    發(fā)表于 04-20 17:55

    Docker容器管理命令(二)

    1、Docker容器管理命令的使用方法批量刪除docker 容器docker cp命令docker cp :用于容器與
    發(fā)表于 04-21 11:31

    docker基礎(chǔ)知識和使用bmnnsdk時的docker常用命令

    安裝docker并下載bmnnsdk2 解壓bmnnsdk壓縮包(以下簡成bmnnsdk為SDK) 進(jìn)入SDK解壓后文件夾,文件名如bmnnsdk2_bm1684_vx.x.x ,此為宿主機根目錄; 從
    發(fā)表于 09-18 07:59

    如何在docker容器內(nèi)使用宿主機上的顯示設(shè)備顯示圖像?

    主機名:端口』共享給docker,docker 就可以通過端口找到顯示輸出的地方,和linux系統(tǒng)共用顯示設(shè)備: 宿主機安裝x11-server: sudo apt-get ins
    發(fā)表于 09-19 08:16

    如何判斷是否在docker鏡像中?

    則簡潔很多 3. 一個有些土的方法:大部分 docker 容器中都不會在安裝 docker,至少算能SDK 的docker是這樣的,所以在云主機
    發(fā)表于 09-20 07:42

    網(wǎng)段獲取遠(yuǎn)程主機MAC地址的方法與java實現(xiàn)

    本文分析了利用SendARP 方法(基于ARP 協(xié)議)來獲取遠(yuǎn)程主機MAC 地址的缺陷,提出了一種新思路——研究并利用SNMP 協(xié)議來快速獲取遠(yuǎn)程主機MAC 地址的方法,并給出了其在J
    發(fā)表于 09-18 11:01 ?61次下載

    基于Docker的云資源彈性調(diào)度策略

    針對云資源彈性調(diào)度問題,結(jié)合Ceph數(shù)據(jù)存儲的特點,提出一種基于Docker容器的云資源彈性調(diào)度策略。首先,指出Docker容器數(shù)據(jù)卷不能主機的特性給應(yīng)用在線遷移帶來了困難,并對Ce
    發(fā)表于 03-29 10:11 ?0次下載
    基于<b class='flag-5'>Docker</b>的云資源彈性調(diào)度策略

    容器主機存儲教程說明

    REX-Ray 容器主機存儲坑實在是太多,百度搜索出來的各種解決方案很少有實際意義,跟風(fēng)粘貼復(fù)制者眾,大家在學(xué)習(xí)這些前沿技術(shù)時,學(xué)會去國外官方論壇上查詢問題。rex-ray作為docker
    的頭像 發(fā)表于 09-22 17:46 ?3708次閱讀

    docker的4種網(wǎng)絡(luò)模式

    Docker 使用 Linux 橋接,在宿主機虛擬一個 Docker 容器網(wǎng)橋(docker0),Docker 啟動一個容器時會根據(jù)
    的頭像 發(fā)表于 08-14 11:50 ?2219次閱讀

    docker的4種網(wǎng)絡(luò)模式配置

    Docker 使用 Linux 橋接,在宿主機虛擬一個 Docker 容器網(wǎng)橋(docker0),Docker 啟動一個容器時會根據(jù)
    的頭像 發(fā)表于 10-10 10:37 ?1834次閱讀

    Docker容器網(wǎng)絡(luò)的數(shù)據(jù)鏈路是什么

    主機容器網(wǎng)絡(luò)可能存在多個docker,分屬于不同的bridge,它們之間有通信的需求。
    的頭像 發(fā)表于 02-15 09:56 ?1229次閱讀
    <b class='flag-5'>Docker</b>容器網(wǎng)絡(luò)的數(shù)據(jù)鏈路是什么

    docker exec命令的使用方法

    有用的命令,用于在正在運行的容器中執(zhí)行命令。 在本文中,我將詳細(xì)介紹Docker exec命令的使用方法,包括命令格式、參數(shù)選項、使用示例等。 Docker exec命令格式 Docker
    的頭像 發(fā)表于 11-23 09:33 ?2357次閱讀

    docker容器與容器之間通信

    Docker是一種輕量級容器化技術(shù),能夠?qū)?yīng)用程序及其依賴項封裝在一個獨立、可移植的容器中。而容器化的應(yīng)用程序通常是以分布式方式設(shè)計的,因此實現(xiàn)容器與容器之間的通信至關(guān)重要。 本文將詳細(xì)介紹
    的頭像 發(fā)表于 11-23 09:36 ?1994次閱讀

    docker進(jìn)入容器的方法有哪些

    Docker是一種流行的容器化平臺,它能夠快速構(gòu)建、交付和運行應(yīng)用程序。在使用Docker時,我們經(jīng)常需要進(jìn)入容器進(jìn)行調(diào)試、管理和運行命令等操作。本文將詳細(xì)介紹Docker進(jìn)入容器的各種方法
    的頭像 發(fā)表于 11-23 09:45 ?1.2w次閱讀