OpenStack Magnum @CERN
Scaling Container Clusters to thousand of nodes
Spyros Trigazis @strigazi
OpenStack Magnum #openstack-containers
Kubernetes, Docker Swarm, Apache Mesos, DC/OS (experimental) aaS
Deep integration of OpenStack with Container technologies:
OpenStack Magnum Architecture
Plans for Magnum Pike
CERN OpenStack Infrastructure
Production since 2013
~ 190.000 cores ~4 million vms created ~200 vms per hour
CERN Container Use Cases
CERN Magnum Deployment
Container Investigations
Magnum Tests
Pilot Service Deployed
11 / 2015
02 / 2016
Production Service
CERN / HEP Service Integration, Networking, CVMFS, EOS
10 / 2016
Mesos Support
Upstream Development
CERN Magnum Deployment
$ magnum cluster-template-list
+------+---------------------------+
| uuid | name |
+------+---------------------------+
| .... | swarm |
| .... | swarm-ha |
| .... | kubernetes |
| .... | kubernetes-ha |
| .... | mesos |
| .... | mesos-ha |
+------+---------------------------+
CERN Magnum Deployment
$ magnum cluster-create --name myswarmcluster --cluster-template swarm --node-count 100
~ 5 mins later
$ magnum cluster-list
+------+----------------+------------+--------------+----------------------------+
| uuid | name | node_count | master_count | keypair | status |
+------+----------------+------------+--------------+----------------------------+
| .... | myswarmcluster | 100 | 1 | mysshkey | CREATE_COMPLETE |
+------+----------------+------------+--------------+----------------------------+
$ $(magnum cluster-config myswarmcluster --dir magnum/myswarmcluster)
$ docker info / ps / ...
$ docker run --volume-driver cvmfs -v atlas.cern.ch:/cvmfs/atlas -it centos /bin/bash
[root@32f4cf39128d /]#
Rally Benchmarks and Kubernetes scalability
Deployment Setup at CERN and CNCF
CERN
CNCF
CERN Results
Cluster Size (Nodes) | Concurrency | Deployment Time (min) |
2 | 50 | 2.5 |
16 | 10 | 4 |
32 | 10 | 4 |
128 | 5 | 5.5 |
512 | 1 | 14 |
1000 | 1 | 23 |
CNCF Results
Cluster Size (Nodes) | Concurrency | Number of Clusters | Deployment Time (min) |
2 | 10 | 100 | 3.02 |
2 | 10 | 1000 | Able to create 219 clusters |
32 | 5 | 100 | Able to create �28 clusters |
nodes | containers | reqs/sec | latency | flannel |
35 | 1100 | 1M | 83.2 ms | udp |
80 | 1100 | 1M | 1.33 ms | host-gw |
80 | 3100 | 3M | 26.1 ms | host-gw |