在学习容器、k8s的时候,发现只关注了命令使用、上层的抽象对象如service等,对于底层的基础网络没有梳理,是个知识真空。本文梳理一下docker底层网络。
虽然k8s是基于容器技术实现,但是k8s并不是直接使用docker的底层网络,而是有自己的底层网络实现。
docker的底层网络主要是通过docker0的网络设备,这个网络设备工作在二层,接着在创建容器的时候,创建了Veth Pair,这是两张成对出现的网卡,一端在容器上,另外一端在docker0上。
docker0
,
有了这个机制,容器可以在不同的Namespace中通讯。
经过docker0的数据如果转向节点外部,则会把数据通过eth0传递出去。
通过这个机制,如果排查问题就根据docker0配置、iptable配置看看问题究竟在哪里。
网友评论