A gopher at the helm: Meet Containerum, a platform for Kubernetes clusters management
All aboard the gopher-governed container ship! And yes, we have Kubernetes stuff going on again! This time in the form of a platform for simple CI/CD management that is entirely developed in Go! Let’s a have a closer look at this intriguing combination!
Dear friends and colleagues, guess what!
It’s time to pick inside another Kubernetes goodie bag! This time it comes in the form of a platform for simple CI/CD pipelines setup, revision control, and role management.
Meet Containerum, an open source platform for the complete management of Kubernetes clusters.
The number one advantage of Containerum is that it allows performing updates and rollbacks in a matter of minutes and ensures fast automated delivery and flexible cloud management.
What’s more, Containerum runs on top of any Kubernetes cluster and is managed via CLI or intuitive Web UI.
Let’s have a closer look at some of the features.
What it’s made of
Containerum consists of 9 main components and 2 libraries ( MongoDB, PostgreSQL). More precisely:
Gateway: api-gateway provides routing for Containerum components
User manager: a service for managing users, groups, credentials, blacklists for Containerum
Resource: manages Kubernetes namespace objects: deployments, ingresses, etc.
Permitssions: manage user access to enable teamwork
Kubi-api: a set of API for communication between Containerum and K8s
Auth: an OAuth authentication server for Containerum that handles user authorization and token management.
Mail: a mail server and newsletter template manager
UI: a Web User Interface for Containerum
Chkita: a desktop CLI client for Containerum.
Check out the official documentation to find out more. But to give you a quick overview of how Containerum works, the following figure illustrates its architecture:
Make sure you keep track of the roadmap implementation on the official Containerum Projects page. The team has some super amazing features and improvements on the way!
The best of both worlds?
There is a huge surprise hidden behind the creation of Containerum and that is Go!
Containerum is being developed entirely in Go and as Pavel Petrukhin mentioned in his article, “despite certain challenges”, the team behind the project believes that Go was the right choice.
In the same article, Petrukhin went through the benefits of this choice, including:
- Static typing
- Powerful standard library
- Linters and utilities
- Super-fast compilation
If you ask me, containers and a gopher make for a pretty sweet combination!
Before installing Containerum, you should make sure you have the following components:
- Kubernetes 1.5 or higher
- Installed Kubernetes Ingress Controller
You can launch Containerum on your Kubernetes Cluster by running:
helm repo add containerum https://charts.containerum.io helm repo update helm install containerum/containerum
There is also the online version! It is already installed and preconfigured for production. However, keep in mind that while the platform is still free, users are billed only for resources.