京东容器平台与数据中心协同发展实践 鲍永成 京东商城 - 基础平台部 技术总监
鲍永成 l 2013 年加入京东, 负责京东容器集群平台 (JDOS) 研发, 带领团队完成京东容器大规模落地战略项目, 有效承载京东全部业务系统和中间件, 以及数据库系统, 特别在大促期间抢占式调度应对高峰流量, 技术引领, 从容大促 l 目前聚焦在京东容器集群 JDOS 2.0 以及京东敏捷智能数据中心研发
容器技术在京东商城历史与未来 容器技术是什么 传统数据中心 京东敏捷数据中心建设 开源
问题 容器集群管理 & 应用编排 VS 数据中心基础软件
梦想 不止于分容器 让编排成为自然的事情
JDOS 图谱
JDOS 1.0 分物理机 => 分容器 业务系统 100% 全面容器运行 上线周期由 1 天降低到 10 分钟 少买 3/4 机器 Containers! VMs! Physical servers! JD Data Center Operating System (JDOS)! JFS! OVSSS! JD Linux Kernel!
JDOS 2.0 / 3.0 / 3.5 60% 业务 SRE 初步形成 首次支撑 618 大促 全面基于镜像发布上线 RS 副本数 从容扩容应对高峰流量 CPU 利用率提升 3 倍, 有效消除 CPU/Network 热点
JDOS 2.0 / 3.0 / 3.5
JDOS 2.0 / 3.0 运行典型业务
JDOS 2.0 / 3.0 核心功能 JD PaaS Self-Service,On-Demand Application Stacks CI,Build Image Services Logs,Monitors,APM Service DNS,LB,JSF Service Distributed Shared Storage Service Attached Resources Service App Orchestration
JDOS 2.0 / 3.0 / 3.5 集群部署 JDOS- api 镜像中心 自动构建 集群管理 api Dockerfile Source Code Jenkins Master controller scheduler SkyLB SkyNet SkyDNS Jenkins Slave Pod 生产环境 App Node App kubelet Network Volume SkyFS ElasticSearch App Log Monitor Prometheus Docker Image 测试环境 App App App
容器技术在京东的历史和未来 容器技术 泛指 Container&CM 是什么 传统数据中心 京东敏捷数据中心 开源
容器技术是什么 -1/3 Linux Kernel
容器技术是什么 -2/3 Networking
容器技术是什么 -3/3 Scheduler Create! Resource Rebalance!!
容器技术在京东的历史和未来 容器技术是什么 传统数据中心 京东敏捷数据中心建设 开源计划
传统数据中心 DNS 负载均衡 二层 VLAN 网络 CMDB 7x24 监控中心
容器技术在京东的历史和未来 容器技术是什么 传统数据中心 京东敏捷数据中心建设 开源
京东分布式 DNS User JDOS2. 0 docker Load Balancer Get Service DNS req/resp IP port scan IP port scan API Service to DNS DNS Server Check IP status Write to/delete Read DNS from Read DNS from /Write DNS to /Del/Update etcd Red IP from /Update IP status
负载均衡服务部署架构 JDOS Create/Del/Get RS for Service Watch Service Load Balance Control Center grpc grpc LB Based on Container(Haproxy) LoadBalancer LoadBalancer LoadBalancer Load Balancer Based on DPDK LoadBalancer LoadBalancer LoadBalancer...... Docker Docker Docker Docker Docker Docker Docker Docker Docker Docker Docker DPDK Docker Docker DPDK Docker Docker DPDK
京东高性能 L4 Client- pkt- hashtable Session table rs- pkt- hashtable VIP:192.168.100.2 BGP Router 10.20.3.254 10.20.4.254 10.20.5.254 BGP BGP Router Table: Dest:10.20.3.0 via:10.20.3.2 Dest:10.20.3.0 via:10.20.4.2 Dest:10.20.3.0 via:10.20.5.2 Dest:10.20.4.0 via:10.20.3.2 Dest:10.20.4.0 via:10.20.4.2 Dest:10.20.4.0 via:10.20.5.2 Dest:10.20.5.0 via:10.20.3.2 Dest:10.20.5.0 via:10.20.4.2 Dest:10.20.5.0 via:10.20.5.2 Hash 0 Hash 1 Hash 2 Hash 3 Hash 4 Hash 5 Session 0 Session 1 Session 2 Session 3 Session 4 Session 5 Hash 0 Hash 1 Hash 2 Hash 3 Hash 4 Hash 5 10.20.3.2 10.20.4.2 10.20.5.2 Hash 6 Session 6 Hash 6 quagga quagga quagga Hash 7 Session 7 Hash 7 Skylb DPDK KNI Load balancer Skylb DPDK KNI Load balancer Skylb DPDK KNI Load balancer Service Endpoint Service Endpoint Service Endpoint
京东百万级容器网络 10.20.3.2 via 192.20.5.2 10.20.4.2 via 192.20.5.2 10.20.5.2 via 192.20.7.2 10.20.6.2 via 192.20.7.2 192.20.5.1/30 Spine Switch AS Y Router 192.20.1.1/30 192.20.1.2/30 192.20.7.1/30 192.20.6.1/30 Spine Switch AS Y Router 192.20.8.1/30 10.20.3.2 via 192.20.6.2 10.20.4.2 via 192.20.6.2 10.20.5.2 via 192.20.8.2 10.20.6.2 via 192.20.8.2 10.20.3.2 via 192.20.3.2 10.20.4.2 via 192.20.4.2 default via 192.20.5.1 192.20.5.2/30 AS A Router 192.20.6.2/30 TOR Switch 192.20.3.1/24 192.20.4.1/24 192.20.7.2/30 192.20.9.1/24 AS A Router 192.20.8.2/30 TOR Switch 192.20.10.1/24 10.20.5.2 via 192.20.9.2 10.20.6.2 via 192.20.10.2 default via 192.20.8.1 default via 192.20.3.1 default via 192.20.10.1 Compute Server AS B Router 192.20.3.2/24 Compute 192.20.4.2/24 Server AS B Router Compute Server AS B Router 192.20.9.2/24 Compute Server AS B Router 192.20.10.2/24 10.20.3.2 10.20.4.2 10.20.5.2 10.20.6.2
网络服务质量 1/2
网络服务质量 2/2
分布式共享存储 -1/2
分布式共享存储 -2/2
容器技术在京东的历史和未来 容器技术是什么 传统数据中心 京东敏捷数据中心建设 开源
开源计划 分布式共享存储 https://github.com/ipdcode/containerfs 分布式 DNS https://github.com/ipdcode/skydns
JD IDC 容器 & 基础软件 Router BGP BGP Switch Switch Switch API BGP BGP 无 VIP L4-L7 负载均衡 BGP DNS BGP DNS L4 负载均衡 DNS Hades... Hades DNS DNS 路由发布 L4 负载均衡 (DPDK+ 物理机 ) VIP 路由发布 L4 负载均衡 (DPDK+ 物理机 ) VIP API Nginx SSL/TLS... Nginx SSL/TLS L7 负载均衡 API et cd Nginx Nginx Tomcat... Tomcat SSL/TLS Tomcat... SSL/TLS Tomcat Kubernetes/JDOS2.0 ContainerFS
JDOS 3.0 Backing Services 集成方式 p JDOS3.0ServiceCatalog 通过标准的 OpenServiceBrokerAPI 集成各个后端服务 p ServiceBroker 实现了 OpenServiceBrokerAPI 的一组后端服务 JDOS 3.0! Service! Catalog! Service! Broker!
JDOS 3.0 Backing Services 模版 APP1:LB! APP1:Pod1! APP1:Pod2! APP1:PodN! APP1:DB! APP1: JIMDB!