1、容器核心技术及SDN实践田琪&闫国旗AgendaSDN实践容器核心技术Part 1Agenda 内核Namespace介绍 内核CGroup介绍 Docker存储驱动选择 京东镜像存储系统内核Namespace机制 提供进程级别的资源隔离 为进程提供不同的命名空间视图 无hypervisor层,区别于KVM,Xen等虚拟化技术 从Kernel 2.4版本引入mnt namespace3.8引入user namespace仍然持续发展中Namespace概念及当前支持的种类 user(UIDS)mnt(Mount points)pid(Processes)net(Network stack)ip
2、c(System V IPC)uts(Hostname)Namespace使用接口 创建新进程及namespace 改变当前进程的namespace 加入当前进程到新建namespace中CGroups资源管理 提供进程的资源管理功能 CGroups提供通用框架,各子系统负责实现 管理功能通过VFS接口暴露 不依赖于Namespace,可单独使用 资源管理主要涉及内存,CPU,IO等CGroups文件系统cgroup及ns的问题 ns的隔离性不完整 buffer io无法准确控制 通用限流策略缺少弹性 带宽控制只能CFQ调度器,不适合高速硬件 cgroup IO控制方面问题较多 需要更多种类的
3、命名空间docker镜像驱动选择 需要系统提供CoW 文件系统层 btrfs 叠合文件系统 块设备层 aufs,overlayfs device mapper overlayfs 内核dentry的游戏 大文件的copy up会比较慢 merged/work/lower/upper/JD Image Store小结Part 2需求 网络隔离 网络拓朴自定义 IP资源动态管理与分配 网络流量的精细化运营 业务和基础网络的融合面临的问题 项目周期紧迫 落地经验不足 传统网络架构的平滑过渡 技术的实现基本原则 充分利用已有资源 大系统小做,快速迭代 避免过度依赖硬件设备 方案设计要冗余基础组件一些技
4、术点 控制平面和数据平台分离 计算节点即网络节点 L2 over L3 Overlay Network 集中控制,统一调度 优化东西、南北流量路径 避免虚拟网络的广播流入承载网 优化广播拓扑-概览拓扑-节点内部拓扑-内部网络Container1N:计算实例vRouter:虚拟路由实例Inner vSwitch:虚拟二层交换机支持Openflow协议拓扑-虚拟路由QoS:带宽、速率限制Firewall:按自定义规则过滤上行及下行流量NAT:源地址、目标地址转换Router:IP包转发拓扑 ARP AgentReceive ARP Request:响应内部虚拟交换机上所有的ARP广播请求Send
5、ARP Reply:根据广播请求的内容,返回正确的IP/MAC映射信息拓扑-TunnelTunnel Port:虚拟端口、用于对数据包进行隧道封装VxLAN:Virtual Extensible LAN(supported)GRE:Generic Routing Encapsulation(supported)Geneve:Generic Network Virtualization Encapsulation(3.18)STT:Stateless Transport Tunneling(patch)拓扑 Multiple Host控制器-架构控制器-性能测试现在进行时 IBGIBG:内部边界网关Zone1N:二层隔离的网络(例如VLAN等)OSPF:Equal-cost multi-path routingQuagga:路由软件,支持OSPF,RIP,BGP等路由协议现在进行时 vRouter将vRouter的功能以Openflow Controller应用进行交付,统一对网络操作的业务模型。小结Q&A