《2017年京東容器平臺與數據中心基礎設施協同發展實踐.pdf》由會員分享,可在線閱讀,更多相關《2017年京東容器平臺與數據中心基礎設施協同發展實踐.pdf(34頁珍藏版)》請在三個皮匠報告上搜索。
1、京東容器平臺與數據中心協同發展實踐 京東商城-基礎平臺部 技術總監 容器技術在京東商城歷史與未來 容器技術是什么 傳統數據中心 京東敏捷數據中心建設 開源 問題 容器集群管理&應用編排 VS 數據中心基礎軟件 夢想 不止于分容器 讓編排成為自然的事情 JDOS 圖譜 JDOS 1.0 分物理機=分容器 業務系統100%全面容器運行 上線周期由1天降低到10分鐘 少買3/4機器 JD Data Center Operating System(JDOS)?VMs?Physical servers?Containers?JFS?OVSSS?JD Linux Kernel?JDOS 2.0/3.0/3
2、.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 Attache
3、d Resources Service App Orchestration JDOS 2.0/3.0/3.5集群部署 自動構建NodeDockerfileSource CodeJenkins MasterJenkins Slave PodAppAppAppNetworkVolumeLogSkyFSSkyNetElasticSearchPrometheusJDOS-apiSkyDNSMonitorapicontrollerscheduler鏡像中心Docker ImageApp集群管理 kubeletApp生產環境測試環境AppSkyLB 容器技術在京東的歷史和未來 容器技術【泛指Contain
4、er&CM】是什么 傳統數據中心 京東敏捷數據中心 開源 容器技術是什么-1/3 Linux Kernel 容器技術是什么-2/3 Networking 容器技術是什么-3/3 Scheduler Create?Resource Rebalance?容器技術在京東的歷史和未來 容器技術是什么 傳統數據中心 京東敏捷數據中心建設 開源計劃 傳統數據中心 DNS 負載均衡 二層VLAN網絡 CMDB 7x24監控中心 容器技術在京東的歷史和未來 容器技術是什么 傳統數據中心 京東敏捷數據中心建設 開源 京東分布式 DNS DNS ServerAPICheck IP statusetcdServic
5、e to DNSWrite to/DeletedockerRead DNS fromDNS req/respIP port scanRead DNS from/Write DNS to/Del/UpdateRed IP from/Update IP statusUser Get ServiceJD O S2.0Load BalancerIP port scan負載均衡服務部署架構 Load Balancer.LB Based on Container(Haproxy)agentDockeragentDockeragentDockerLoad BalanceragentDockeragentDo
6、ckeragentDockerLoad BalanceragentDockeragentDockeragentDockerLoad Balancer.Load Balancer Based on DPDKagentDockeragentDockeragentDPDKLoad BalanceragentDockeragentDockeragentDPDKLoad BalanceragentDockeragentDockeragentDPDKJDOSLoad BalanceControl CentergRPCgRPCWatch ServiceCreate/Del/Get RS for Servic
7、e京東高性能 L4 RouterSkylbSkylbquaggaDPDK Load balancerKNISkylbSkylbquaggaDPDK Load balancerKNISkylbSkylbquaggaDPDK Load balancerKNIService EndpointService EndpointService Endpoint10.20.3.210.20.3.210.20.4.210.20.4.210.20.5.210.20.5.2BGPBGPBGPBGPBGPBGPVIP:192.168.100.2VIP:192.168.100.210.20.3.25410.20.3.
8、25410.20.4.25410.20.4.25410.20.5.25410.20.5.254Router Table:Dest:10.20.3.0 via:10.20.3.2Dest:10.20.3.0 via:10.20.4.2Dest:10.20.3.0 via:10.20.5.2Dest:10.20.4.0 via:10.20.3.2Dest:10.20.4.0 via:10.20.4.2Dest:10.20.4.0 via:10.20.5.2Dest:10.20.5.0 via:10.20.3.2Dest:10.20.5.0 via:10.20.4.2Dest:10.20.5.0 v
9、ia:10.20.5.2Router Table:Dest:10.20.3.0 via:10.20.3.2Dest:10.20.3.0 via:10.20.4.2Dest:10.20.3.0 via:10.20.5.2Dest:10.20.4.0 via:10.20.3.2Dest:10.20.4.0 via:10.20.4.2Dest:10.20.4.0 via:10.20.5.2Dest:10.20.5.0 via:10.20.3.2Dest:10.20.5.0 via:10.20.4.2Dest:10.20.5.0 via:10.20.5.2Hash 0Hash 1Hash 2Hash
10、3Hash 4Hash 5Hash 6Hash 7Session 0Session 1Session 2Session 3Session 4Session 5Session 6Session 7Client-pkt-hashtablers-pkt-hashtableHash 0Hash 1Hash 2Hash 3Hash 4Hash 5Hash 6Hash 7Session table京東百萬級容器網絡 AS BRouterComputeServerAS BRouterComputeServerAS BRouterComputeServerAS BRouterComputeServerAS Y
11、RouterAS YRouterSpine SwitchSpine SwitchSpine SwitchSpine SwitchAS ARouterTORTOR SwitchSwitchAS ARouterTORTOR SwitchSwitch192.20.3.1/24192.20.4.1/24192.20.3.2/24192.20.4.2/24192.20.5.2/30192.20.5.1/30192.20.6.2/30192.20.1.1/30192.20.1.2/30192.20.6.1/30192.20.7.1/30192.20.7.2/30192.20.8.1/30192.20.8.
12、2/30192.20.9.1/24192.20.9.2/24192.20.10.1/24192.20.10.2/2410.20.3.210.20.4.210.20.5.210.20.3.2 via 192.20.3.210.20.4.2 via 192.20.4.2default via 192.20.5.110.20.5.2 via 192.20.9.210.20.6.2 via 192.20.10.2default via 192.20.8.110.20.6.2default via 192.20.3.1default via 192.20.10.110.20.3.2 via 192.20
13、.5.210.20.4.2 via 192.20.5.210.20.5.2 via 192.20.7.210.20.6.2 via 192.20.7.210.20.3.2 via 192.20.6.210.20.4.2 via 192.20.6.210.20.5.2 via 192.20.8.210.20.6.2 via 192.20.8.2網絡服務質量 1/2 網絡服務質量 2/2 分布式共享存儲-1/2 分布式共享存儲-2/2 容器技術在京東的歷史和未來 容器技術是什么 傳統數據中心 京東敏捷數據中心建設 開源 開源計劃 分布式共享存儲分布式DNS JD IDC 容器&基礎軟件 Switc
14、hRouter路由發布VIPL4 負載均衡(DPDK+物理機)路由發布VIPL4 負載均衡(DPDK+物理機)SwitchL7負載均衡BGPDNSBGPDNSBGPHades.HadesDNSSwitchBGPBGPL4負載均衡NginxSSL/TLSTomcatNginxSSL/TLSTomcat.APIAPITomcat.TomcatetcdNginxSSL/TLSNginxSSL/TLSAPIKubernetes/JDOS2.0無VIP L4-L7負載均衡DNSDNS.BGPContainerFSService?Broker?JDOS 3.0?Service?Catalog?pJDOS3.0 Service Catalog 通過標準的 Open Service Broker API集成各個后端服務 pService Broker 實現了Open Service Broker API的一組后端服務 JDOS 3.0 Backing Services 集成方式 APP1APP1:Pod1?Pod1?APP1:DB?APP1:PodN?APP1:Pod2?APP1APP1:LB?LB?APP1APP1:JIMDB?JIMDB?JDOS 3.0 Backing Services 模版