namsral opened a new issue, #11163:
URL: https://github.com/apache/cloudstack/issues/11163
### The required feature described as a wish
As an Operator I would like to have CloudStack containerized, so I can run
CloudStack in a container runtime like Docker and Podman.
I work for a public cloud provider where most of our stack, OpenStack and
Ceph, are deployed using a container runtime where each service is a stateless
container. We transitioned from the more traditional deployment, installing
packages on hosts, to our current setup solving most of our maintenance issues
and efforts to keep the stack up to date.
In an effort to adopt other technologies we attempted to containerize the
three CloudStack services, management server, usage server and the agent but
faced significant obstacles that hindered our progress.
Notable obstacles running CloudStack services in a container:
- The management server calling bash and/or service/systemctl commands from
Java
- The agent server calling bash and/or meminfo commands from Java
Other obstacles worth mentioning:
- Package building process dependencies, external application/packages
dependencies and (actual) OS dependencies need better documentation.
Dependencies that are assumed present in supported distributions in particular
- Missing a Software Bill of Materials
- Direct environment OS dependencies and commands should be replaced or
removed where possible
- Dependencies on other applications/services should be handled through
connection methods that fit containerization, no direct /bin/bash cals should
be used on required binaries
- In instances where removal is not possible, communication with OS or
services present on the OS should be through some sort of socket or connection
that is configurable or through temporary containers like bootstrap containers,
for instance:
- libvirt, which is communicated to through either the socket on the host
or the socket in a container -
https://opendev.org/openstack/kolla-ansible/src/branch/master/ansible/roles/nova-cell/tasks/
- meminfo and other host system statistics
As open-source cloud stacks, OpenStack and CloudStack (in combination with
KVM at least) share common technical challenges, therefore community projects
like [kolla-ansible](https://github.com/openstack/kolla-ansible/) (deploy
OpenStack using Ansible and containers) and
[OpenStack-Helm](https://github.com/openstack/openstack-helm) (deploy OpenStack
on Kubernetes) can be inspirational when containerizing CloudStack. One hurdle
these projects have tackled, among others, is the bootstrapping of libvirt TLS
communication.
I'm willing to share our experience containerizing CloudStack in order to
get momentum.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]