loading...

How to launch Containerum platform in 5 minutes

voskvv profile image Vlad V. ・3 min read

containerum

Kubernetes is a powerful orchestrator for docker containers with an impressive number of adopters and a large community around the world. Yet it is notorious for its complexity when it comes to configuration and maintenance. No wonder the community is busy developing new extensions and plugins to facilitate cluster management.

Apart from well-established platforms widely used in production, there're also some interesting evolving projects. Containerum is a Kubernetes-based platform that first was launched as a commercial cloud-based product but was recently released as open source.

I think it's a natural step for proprietary software in DevOps market since (as I believe) open source and DevOps are made for each other.

So. Containerum is a project that works on top of Kubernetes and offers some interesting features. I used the Online version for some time and what I instantly liked about that is easy CI/CD pipeline configuration (I used Travis to build and deploy a website built with gulp and hugo). The open source version offers the same features, but before exploring its features, let's try to install it. I'll be using a 3 RAM 1 CPU machine on Digital Ocean for test purposes. Let's start!

Prerequisites

To launch Containerum you will need

  • working Kubernetes cluster (1.5 or higher)
  • Helm installed
  • nginx ingress-contoller (see this guide)

Installation

We are going to do three things in this guide:

  1. Install nginx ingress controller
  2. Create a service for the ingress controller
  3. Install Containerum

Nginx ingress-controller

I tried several nginx ingress-controller and the one I like more is the ingress-controller from the Kubernetes repository. To install it, run:

kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/master/deploy/mandatory.yaml

Done!

Create a service for ingress-controller

After we've installed the ingress-controller, it's necessary to create a service that will be used for connecting the ingress controller with the Containerum ingress. Create a yaml file with the following content:

apiVersion: v1
kind: Service
metadata:
  name: ingress-nginx
  namespace: ingress-nginx
spec:
  ports:
  - name: http
    port: 80
    targetPort: 80
    protocol: TCP
  - name: https
    port: 443
    targetPort: 443
    protocol: TCP
  selector:
    app: ingress-nginx
  externalIPs:
  - 127.0.0.1

Don't forget to add your machine's external IP address in the last line instead of 127.0.0.1.

Save it as ingress-svc.yaml and run from the same directory:

kubectl apply -f ingress-svc.yaml

Done!

Installing Containerum

Ok, now let's install Containerum. To install all components, run:

helm repo add containerum https://charts.containerum.io
helm repo update
helm install containerum/containerum --version 1.0.17-rc.2

Now check that all pods are running:

kubectl get pods

pods
As we can see, Containerum is running. Now let's access the Web UI.

Accessing the Web UI

To access the Web UI, add an entry to your hosts file. Open /etc/hosts:

sudo nano /etc/hosts

and add your machine's IP address to the list of hosts:

127.0.10.1 local.containerum.io api.local.containerum.io

where 127.0.10.1 is the IP address of the machine.

Now go to local.containerum.io

containerum

Congratulations! You've just installed Containerum platform in your cluster! You can use the default login/password:
login: admin@local.containerum.io
password: verystrongpassword

I will continue exploring the platform, so stay tuned!

Thanks for reading!
Vlad

Discussion

pic
Editor guide