On lip 21, Damiano Venturin wrote:
> I haven't had a chance to play with OpenStack yet, but I
know roughly what it
> is and what it does.
I've seen that I can create vms inside of OpenStack (like one would do
with Proxmox) but how do they play with Openstack components? This is
still a mistery to me.
With OpenStack, OpenNebula and similar projects, usually you create
a "template" of a virtual machine, and then spin up one or more instances of
that VM. The virtual machinees are started on specialized hosts that are
configured as VM hypervisors, and everything is managed via a central
management node. VM disks can either be copied to the local storage of the
hypervisor node, or provided to it via a network store - NFS, Ceph or similar.
With centralized disk storage live migration is easier - you just copy over
that state of the virtual machine RAM, freeze it, synchronize latest changes
and start it again. Of course using networked storage increases the complexity
of the entire setup, but at large scales the benefits outweigh the
implementation costs.
Think of OpenNebula/OpenStack solutions as your own local AWS/OVH cloud.
Instead of getting just the access to the virtual mechine and working from
there, you need to take care of the entire stack, from the bare metal hosts
and storage, to the hypervisor management and scheduling of virtual machines,
etc.
> In both cases the installations require a bunch of different
underlying
> services to function (MariaDB, RabbitMQ, etc.), management roles for these
> either are already in DebOps, or can be implemented as needed. Then there are
> packages with the software implemented for the OpenStack or OpenNebula
> specifically which could also be added in the project.
Are these specific packages needed to split processes across the
OpenStack components? Nova etc... (I'm guessing here)
OpenStack is an umbrella project for different applications (Swift for
storage, Horizon for web configuration interface, etc.), many of which are
packaged in Debian. This allows you to mix and match components that you need
and design the deployment according to the underlying infrastructure you have,
with redundancy, high availability in mind.
Check this article[1], it seems to be a decent introduction to cloud
infrastructure based on OpenStack. OpenNebula uses some of the same ideas, but
with much less components which in turn makes it easier to implement and
maintain afterwards.
[1]:
https://medium.com/@shrut_terminator/for-layman-series-openstack-8df239a8...
> There's already the openstack-ansible[3] project that allows
deployment of
> OpenStack unsing Ansible; we could see what components are still missing in
> DebOps for it to function and implement them over time.
If I understand you well, debops would take care of both the OpenStack
infrastructure itself and the vms running inside of it
Yes, DebOps can be used to manage the bare metal hosts used in your
infrastructure, which can be used as VM hypervisors that run virtual machines
managed by DebOps, which then run LXC/LXD containers that are also configured
using DebOps. I'm trying to keep the project agnostic so that in can be used
in wide range of environments, on multiple cloud providers and in your own
data center.
Cheers,
Maciej