How to launch Containerum platform in 5 minutes
Tags: kubernetes, containerization, opensource
Published: 2018-07-12 15:31:36

---
title: How to launch Containerum platform in 5 minutes
published: true
description: How to launch Containerum platform in your Kubernetes cluster
tags: kubernetes, containerization, open source
---
![containerum](https://thepracticaldev.s3.amazonaws.com/i/qgaxqpaf65j0m290tns8.png)

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](http://github.com/containerum/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
2. 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](https://thepracticaldev.s3.amazonaws.com/i/azsv0etkuo56ko0bi00s.png)
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](https://thepracticaldev.s3.amazonaws.com/i/qgaxqpaf65j0m290tns8.png)

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