一文带你理解云原生( 四 )


一文带你理解云原生
本文插图
一文带你理解云原生
本文插图
一文带你理解云原生
本文插图
2.2 Docker 关键技术2.2.1 Namespace 视图隔离
Linux namespace 是一种内核级别的环境隔离机制 , 使得其中的进程好像拥有独立的系统环境 。
一文带你理解云原生
本文插图
一文带你理解云原生
本文插图
Network namespace 在 Linux 中创建相互隔离的网络视图 , 每个网络名字空间都有自己独立的网络配置 , 包括:网络设备、路由表、IPTables 规则 , 路由表、网络协议栈等 。 (默认操作是主机默认网络名字空间)
2.2.2 control groups(资源隔离)
Linux Control Group 是内核用于限制进程组资源使用的功能 。 资源包括:CPU , 内存 , 磁盘 IO 等 。
一文带你理解云原生
本文插图
一文带你理解云原生
本文插图
2.2.3 Union File System(联合文件系统)
一文带你理解云原生
本文插图
Union File System ,联合文件系统:将多个不同位置的目录联合挂载(union mount)到同一个目录下 。
Docker 利用联合挂载能力 , 将容器镜像里的多层内容呈现为统一的 rootfs(根文件系统);
Rootfs 打包整个操作系统的文件和目录 , 是应用运行所需要的最完整的“依赖库” 。
一文带你理解云原生
本文插图
一文带你理解云原生
本文插图
一文带你理解云原生
本文插图
2.3 Docker-网络技术
一文带你理解云原生
本文插图
一文带你理解云原生
本文插图
Bridge 模式:Docker0 充当网桥 , 在默认情况下 , 被限制在 Network Namespace 里的容器进程 , 是通过 Veth Pair 设备 +宿主机网桥的方式 , 实现跟同其他容器的数据交换 。
一旦一张虚拟网卡被“插”在网桥上 , 它就会变成该网桥的“从设备” 。
从设备会被“剥夺”调用网络协议栈处理数据包的资格 , 从而“降级”成为网桥上的一个端口 。