真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯網站制作重慶分公司

docker宿主環(huán)境中容器網絡是怎么樣的

這篇文章主要介紹了docker宿主環(huán)境中容器網絡是怎么樣的,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

10年積累的網站制作、網站設計經驗,可以快速應對客戶對網站的新想法和需求。提供各種問題對應的解決方案。讓選擇我們的客戶得到更好、更有力的網絡服務。我雖然不認識你,你也不認識我。但先制作網站后付款的網站建設流程,更有永修免費網站建設讓你可以放心的選擇與我們合作。

查看docker0 linux bridge:

在宿主機上運行如下命令,從這里面我們看到docker在host上的linux bridge device,另外這個bridge上attach了4個從設備。當然根據上一篇文章,這些從設備一定是veth pair device的一端,而另一端一定是在docker container的network namespace里。

brctl show

docker宿主環(huán)境中容器網絡是怎么樣的

查看veth pair從設備:

在宿主機上運行如下命令,從這里面我們看到在host的default network namespace中確實有4個attach到上面docker0 linux bridge上的設備。

ip addr|grep docker0

docker宿主環(huán)境中容器網絡是怎么樣的

查看docker容器:

在宿主機上運行如下命令,我們看到確實是有4個k8s pod容器在運行,根據上一篇文章,每個容器都有一個network namespace,所以也印證了上面命令中的docker0 bridge上attach的4個設備。這里有同學可能會有疑問,明明是8個容器,為什么說是4個呢?細心的同學應該觀察出來了,另外4個都是同樣的image。沒錯,這是因為在k8s中,每個pod都需要有infrastructure image的(在以前文章安裝kubelet的時候我們通過啟動參數--pod-infra-container-image配置過這個基礎image),而k8s中這個基礎image的container和我們應用程序的image的container是共用同一個network namespace的。所以在k8s的pod之中,infrastructure image產生的container和同一個pod中所有application image產生的container在同一個network namespace里,當然這里就是4個network namespace了。

docker ps

docker宿主環(huán)境中容器網絡是怎么樣的

進入容器的network namespace里:

這里我們在宿主機器上選擇一個container,用以前文章介紹的kube-debug進入容器內部

kubectl get podsdocker pskubectl-debug deployment-nginx-app-69b6bbfd6d-8n69w --namespace default

docker宿主環(huán)境中容器網絡是怎么樣的

docker宿主環(huán)境中容器網絡是怎么樣的

查看容器內的veth設備:

在容器中運行以下命令,我們可以看到容器內確實有一個veth設備。根據以前文章,這個veth設備就是veth pair在容器的另一端,并且這一端的設備也是有ip地址的,ip地址就是container的ip地址。當然它的另一端是attach在宿主default namesapce中的docker0 bridge device里了。

ip -d link show

docker宿主環(huán)境中容器網絡是怎么樣的

查看容器內的路由表:

在容器中運行以下命令,我們可以看到容器network namesapce中的路由表信息。

  • 默認網關為10.1.27.1/32,其實就是host network namespace中的docker0 bridge的ip地址。

  • 對于10.1.27.0/24網絡地址空間的訪問都是直連訪問,不需要下一跳ip地址。

route -n

docker宿主環(huán)境中容器網絡是怎么樣的

根據以上信息總結docker宿主中的網絡:

  • 宿主中容器的網絡地址空間一般為x.x.x.0/24,每一個container屬于一個獨立的network namespace。

  • 宿主的default network namespace中會有l(wèi)inux bridge,一般名字是docker0,其ip地址為x.x.x.1/32。

  • 每個container會有一個veth pair device對應,這個veth pair一端在container的network namespace中,有ip地址,并且這個ip地址就是容器的ip地址。veth pair的另一端attach到宿主network namespace中的linux bridge docker0上,以完成container network namespace和宿主network namespace之間的數據流動。

  • container的默認網關是x.x.x.1/32,也就是宿主network namespace中的linux bridge docker0的ip地址。

  • container到容器的網絡地址空間(x.x.x.0/24)的訪問方式為直連,不需要下一跳ip。

感謝你能夠認真閱讀完這篇文章,希望小編分享的“docker宿主環(huán)境中容器網絡是怎么樣的”這篇文章對大家有幫助,同時也希望大家多多支持創(chuàng)新互聯,關注創(chuàng)新互聯行業(yè)資訊頻道,更多相關知識等著你來學習!


網站名稱:docker宿主環(huán)境中容器網絡是怎么樣的
標題來源:http://weahome.cn/article/igihph.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部