📜 ⬆️ ⬇️

Your own AWS. Part 0

Good day,% username%!

Today I will tell you how to collect something vaguely similar to Amazon's EC2 from a file, a handful of servers and such a mother.
The article turned out more overview, so you have to break it into several parts .

image
I blinded you from what was.

This is a demostand, 6 x i5-3570T / 8Gb RAM / scatter all sorts of disks.
')
Somehow, my task was to organize all office services randomly scattered around the zoo of servers and operating systems (I even have OpenBSD running somewhere here). And so it happened that I had long wanted to look at the clouds, but there was no real test case. So I decided to learn that now there is something interesting in the world of open-source and whether it can be applied in combat conditions.

At the moment, I looked at such solutions as MaaS + Juju named Cannonical, RDO named RedHat, Foreman with a plugin and Fuel .

Running a little ahead - Fuel for me was the most adequate, but let's go through the order.

MaaS

image
Simple and ascetic design

MaaS represents the concept of Metal as a Service, in fact - is engaged in the management of "bare" iron. You can choose which version of ubunt to install on a particular server, find out its performance characteristics and essentially everything. Servers can be divided by availability regions. Also knows how to work with virtuals via libvirtd. The interesting thing starts when you fasten Juju to all of this - now you can say “install me a lockout” and it will select a piece of metal from the list of available metal and roll all the necessary software, like mysql, apache, wordpress / drupal / etc. Nice, convenient, but when I tried to deploy OpenStack in a similar way, everything was a stake. Maybe I did something wrong, maybe something wrong did the creators of the juju configs. But in the end I did not manage to deploy the controller normally on one server. Under each component of the controller, it wanted a separate piece of hardware. Those. Do you need a keystone ?, no question - this is a separate server under the keystone. And so with everything. To all this, my dislike of ubuntu as a server OS was added, so the decision had to be postponed.

Rdo

I liked this project much more. His advantage was in one team: packstack --allinone . That's so easy and simple you get a working OpenStack on one server. Here you and the controller and work node. Want customization? no question - edit the answer-file received after the first launch and run the packstack again, specifying this file as a config. Easy, pleasant, comfortable. Only one thing confused - very little documentation. I had to kill a lot of time to solve strange errors, for example, because I forgot to screw the necessary repository. In some places even had to edit the documentation on their website, so that it corresponds to the current reality, because a lot of things were written for OpenStack Havana, and since then a lot of things have changed.
Perhaps now, knowing much more about OpenStack and its internal work, I would give a second chance for RDO. But for a beginner to build something different from the standard configuration of the proposed script will be difficult. In addition, the system assumes that you have already prepared the server and installed Centos / RedHat minimal on them. So no PXE and other delights.

Foreman

image
Thousands of graphs, bosses will be happy

By itself, The Foreman is a web interface for managing puppet configs and in this role it is quite convenient and interesting. But besides this, he can and provisioning. So, as with MaaS, you can tell the server to boot over the network, and then manage the installation through a convenient webmord. Having such a convenient solution it was difficult not to come to the idea of ​​deploying a cloud based on it. And all sorts of craftsmen began to slowly implement it. Currently there are foreman-installer-staypuft plugin in the nightly builds. With it, you install both Foreman itself and the necessary plugins. The convenience of this design is that literally from one point you can install the OS (and both Linux-based and Windows), then distribute the necessary roles and install the necessary set of software. Or deploy cloud, and again, from the foreman's webmord, assign roles for instances in this cloud. There is only one significant BUT - nightly assemblies are rather unstable.
Perhaps over time, this decision will be completed and it will be quite production-ready, but at the moment you can only mess around and send bug reports to the developers. Fortunately, they actively read Google-group .

Fuel

image
They seem to have a designer

At the moment, the most perfect solution for deploying cloud from a fairly well-known company Mirantis. In fact, this is software that is sharpened solely on deploying Cloud. Like rdo / foreman - he does this with the help of puppet scripts. Installing controller + 3 compute node takes about 30 minutes, depending on the speed of your screws. You can create both High availability and non-HA cluster. He knows how to work with Ceph out of the box, in version 5.1 they also added network drivers for Mellanox's, which in combination LVM + Infiniband allows using RDMA (not yet tested in action, waiting for the switch and network card to arrive). A huge plus is the large amount of documentation .

Next time I will tell you what I actually did with Fuel, a little about ceph features, how to use several hypervisors in one cloud and how to simplify my life by automating everything and everyone. And if InfiniBand arrives at me, then, perhaps, about the features of his work with ceph and openstack.

Source: https://habr.com/ru/post/239583/


All Articles