2014-11-21 16:56:37 -07:00
|
|
|
======
|
|
|
|
Magnum
|
|
|
|
======
|
2014-09-09 17:34:53 +05:30
|
|
|
|
|
|
|
new Openstack project for containers.
|
|
|
|
|
|
|
|
* Free software: Apache license
|
|
|
|
* Documentation: http://docs.openstack.org/developer/magnum
|
|
|
|
* Source: http://git.openstack.org/cgit/stackforge/magnum
|
|
|
|
* Bugs: http://bugs.launchpad.net/magnum
|
2014-12-10 12:56:31 -07:00
|
|
|
* ReST Client: http://git.openstack.org/cgit/stackforge/python-magnumclient
|
2014-11-21 16:56:37 -07:00
|
|
|
|
|
|
|
Architecture
|
|
|
|
------------
|
|
|
|
|
2015-01-06 16:53:00 +00:00
|
|
|
There are seven different types of objects in the Magnum system:
|
2014-11-21 16:56:37 -07:00
|
|
|
|
2014-12-07 09:58:27 -07:00
|
|
|
* Bay: A collection of node objects where work is scheduled
|
2014-12-31 01:30:27 -05:00
|
|
|
* BayModel: An object stores template information about the bay which is used to create new bays consistently
|
2014-12-07 09:58:27 -07:00
|
|
|
* Node: A baremetal or virtual machine where work executes
|
2014-11-21 16:56:37 -07:00
|
|
|
* Pod: A collection of containers running on one physical or virtual machine
|
2014-12-31 01:20:57 -05:00
|
|
|
* Service: An abstraction which defines a logical set of pods and a policy by which to access them
|
2015-01-06 16:53:00 +00:00
|
|
|
* ReplicationController: An abstraction for managing a group of PODs to ensure a specified number of PODs are running
|
2014-11-21 16:56:37 -07:00
|
|
|
* Container: A docker container
|
|
|
|
|
2014-12-10 12:56:31 -07:00
|
|
|
Two binaries work together to compose the Magnum system. The first binary
|
2014-11-21 16:56:37 -07:00
|
|
|
accessed by the python-magnumclient code is the magnum-api ReST server. The
|
|
|
|
ReST server may run as one process or multiple processes. When a ReST request
|
|
|
|
is sent to the client API, the request is sent via AMQP to the magnum-backend
|
2014-12-10 12:56:31 -07:00
|
|
|
process. The ReST server is horizontally scalable. AT this time, the backend
|
|
|
|
is limited to one process, but we intend to add horizontal scalability to the
|
|
|
|
backend as well.
|
2014-11-21 16:56:37 -07:00
|
|
|
|
2014-12-10 12:56:31 -07:00
|
|
|
The magnum-backend process runs on a controller machine and connects to a
|
|
|
|
kubernetes or docker ReST API endpoint. The kubernetes and docker ReST API
|
|
|
|
endpoints are managed by the bay object.
|
2014-11-21 16:56:37 -07:00
|
|
|
|
2014-12-10 12:56:31 -07:00
|
|
|
When service or pod objects are created, Kubernetes is directly contacted via
|
|
|
|
the k8s ReST API. When container objects are acted upon, the docker ReST API
|
|
|
|
is directly contacted.
|
2014-09-09 17:34:53 +05:30
|
|
|
|
|
|
|
Features
|
|
|
|
--------
|
2014-12-07 09:58:27 -07:00
|
|
|
* Abstractions for bays, containers, nodes, pods, and services
|
2014-11-21 16:56:37 -07:00
|
|
|
* Integration with Kubernetes and Docker for backend container technology.
|
|
|
|
* Integration with Keystone for multi-tenant security.
|
|
|
|
* Integraiton with Neutron for k8s multi-tenancy network security.
|
2014-11-25 13:04:42 -07:00
|
|
|
|
2014-12-10 12:56:31 -07:00
|
|
|
Installation and Usage
|
|
|
|
----------------------
|
2014-12-22 04:35:36 -05:00
|
|
|
* Getting Started Guides: [doc/source/dev/dev-quickstart.rst](doc/source/dev/dev-quickstart.rst)
|