Architecture and Implement on 3000 Nodes Bare Metal Cloud in China Mobile
Yuntong Jin, Li Hao, Yao Jun yuntong.jin@intel.com lihao@cmss.chinamobile.com yaojun@cmss.chinamobile.com
ecloud.10086.cn
Architecture and Implement on 3000 Nodes Bare Metal Cloud in China - - PowerPoint PPT Presentation
Architecture and Implement on 3000 Nodes Bare Metal Cloud in China Mobile Yuntong Jin, Li Hao, Yao Jun yuntong.jin@intel.com lihao@cmss.chinamobile.com yaojun@cmss.chinamobile.com ecloud.10086.cn Agenda Practice of Openstack in CMCC
Yuntong Jin, Li Hao, Yao Jun yuntong.jin@intel.com lihao@cmss.chinamobile.com yaojun@cmss.chinamobile.com
ecloud.10086.cn
Public cloud(GuangZhou) total: 1000 nodes 600 nova-compute Public cloud(Beijing) total: 1000 nodes 530 nova-compute Private cloud total: 6000 nodes, 3000 nodes every pool
1 Public Cloud with 2 pools, 1 Private Cloud with 2 pools
Public Cloud Topological Graph in CMCC
172.16.216.7 172.16.216.7 172.16.216.20 172.16.216.20 vip:172.16.216.201
MYSQL Galera MYSQL Galera N-cpu N-cpu
172.16.216.23 172.16.216.23 172.16.216.6 172.16.216.6 172.16.216.19 172.16.216.19 a a 172.16.216.26 172.16.216.26 aa 172.16.216.4 172.16.216.4 172.16.216.11 172.16.216.11 a a 172.16.216.17 172.16.216.17 aa
CORE Zone DMZ Zone
Keystone
Physical machine
172.16.216.6 172.16.216.6 172.16.216.19 172.16.216.19 vip:172.16.216.202
MYSQL Galera MYSQL Galera
172.16.216.26 172.16.216.26 172.16.216.12 172.16.216.12 172.16.216.21 172.16.216.21 vip:172.16.216.201
RabbitMQ RabbitMQ
172.16.216.25 172.16.216.25 172.16.216.5 172.16.216.5 172.16.216.14 172.16.216.14 vip:172.16.216.202
InfluxDB InfluxDB
172.16.216.24 172.16.216.24 172.16.216.3 172.16.216.3 172.16.216.9 172.16.216.9 a a 172.16.216.15 172.16.216.15 aa 172.16.216.22 172.16.216.22 172.16.216.29 172.16.216.29 a a
Nova、Heat
172.16.191.1 172.16.191.1 172.16.191.2 172.16.191.2 a a 172.16.191.3 172.16.191.3 aa
VNCProxy
172.16.216.1 172.16.216.1 172.16.216.8 172.16.216.8 a b
Haproxy、Keepalive、LVS
vip:172.16.190.201 vip:172.16.216.201 vip:172.16.216.201 172.16.216.13 172.16.216.13 172.16.216.18 172.16.216.18 a a 172.16.216.27 172.16.216.27 aa 172.16.216.5 172.16.216.5 172.16.216.14 172.16.216.14 a a 172.16.216.24 172.16.216.24 aaGnocchi
vip:172.16.216.202 172.16.216.2 172.16.216.2 172.16.216.10 172.16.216.10 a a 172.16.216.16 172.16.216.16 aa 172.16.216.12 172.16.216.12 172.16.216.21 172.16.216.21 a a 172.16.216.25 172.16.216.25 aaCeilometer-Collector
vip:172.16.216.202 172.16.216.2 172.16.216.2 172.16.216.10 172.16.216.10 a a 172.16.216.16 172.16.216.16 aaCeilometer-API、Senlin
vip:172.16.216.201 172.16.216.13 172.16.216.13 172.16.216.18 172.16.216.18 a a 172.16.216.27 172.16.216.27 aaCinder-API
vip:172.16.216.201 172.16.172.27 172.16.172.27 172.16.172.48 172.16.172.48 a a 172.16.172.126 172.16.172.126 aaCinder-Volume、Glance
vip:172.16.216.201 vip:172.16.216.201 172.16.216.202N-cpu N-cpu
...N-cpu N-cpu N-cpu N-cpu N-cpu N-cpu
...N-cpu N-cpu N-cpu N-cpu N-cpu N-cpu
...N-cpu N-cpu
Production Zone
Service Usage Node Number Haproxy Haproxy A/P Share with coreAPI Core service Nova/Neutron/Keystone api/conductor/scheduler 3 Ceilometer Ceilomeer-api/agent-central Share with coreAPI MySQL MySQL cluster 3 RabbitMQ RabbitMQ cluseter Share with MySQL Total 6 Service Usage Node Number Haproxy Haproxy A/P Share with Ironic Ironic Ironic-api/conductor 10 Glance Glance API Share with Ironic tftp Tftp server Share with Ironic Total 10 Control Zone Production Zone
Support multi tenancy local boot support
Neutron network default_network_interface=neutron for SDN integration
SDN integration with Vxlan undelaying
Driver Boot Deploy Power Manager agent_ipmitool PXE Agent IPMI
Use whole_disk_image to support windows Miss LSI SAS RAID driver
Nova API Nova Compute …… Nova Compute Ironic Node …… Ironic Node Ironic Node …… Ironic Node Failed
Ironic Glance Get image Swift Get Image from Swift Expose temp URL Ironic IPA Glance Get image Get Image from Glance
NICs on BM 1G Ethernet choose a specific nic's mac address to create tenant port 1G Ethernet 10G Fiber Card 10G Fiber Card Management Network Business Network
add main_nic = yes property in Ironic port. If yes, use its mac as create tenant port mac address
1G Ethernet IPMI
Ironic API Ironic node create Neutron Tftp server BM Node set provision state =inspect get dhcp address Conductor PXE boot IPA LLDP Back to inspection server Download inspect image
Nova API Ironic API/conduct
set vif info & instance info Nova compute Neutron BM Node scheduling Nova boot _allocate_network_async configdrive boot set_provision_state active prepare_deploy
Ironic API Ironic Conductor Neutron do_node_deploy Ironic Update DHCPBOOT Boot Create provision port deploy Shundown
Nova Neutron Remove provision network port Ironic BM Node Update Tenent network port Cloud-Init configure tenant port TOR LLDP reboot
support nova compute HA https://review.openstack.org/#/c/456865/ Ironic External display drivers https://review.openstack.org/#/c/306078/ Raid Configuration Driver Nova scheduler to support running ironc and kvm in same region expose which conductor instance is managing given Ironic node https://bugs.launchpad.net/ironic/+bug/1616878