paint-brush
How to install Devtron Over MiniKube Clusterby@abhinavd26
572 reads
572 reads

How to install Devtron Over MiniKube Cluster

by Abhinav DubeyJune 25th, 2021
Read on Terminal Reader
Read this story w/o Javascript
tldt arrow

Too Long; Didn't Read

The blog includes steps to install & setup minikube and devtron - an opensource software delivery workflow for kubernetes in minikube cluster.
featured image - How to install Devtron Over MiniKube Cluster
Abhinav Dubey HackerNoon profile picture


Yes! You read it right. Devtron can also be installed over the Minikube cluster, now!  We have been receiving multiple requests from the community to access Devtron on Minikube. In this blog, we will discuss Minikube, its usage and also walk you through the complete installation process of Devtron over the Minikube cluster.

Minikube is a tool that helps you run Kubernetes on your local server over a single node cluster. It is platform-agnostic and can be easily installed in your local systems (Windows, MacOS, Linux). 

Prerequisites

System Requirements

  • 2 CPUs+ cores
  • 4GB+ of free memory
  • 20GB+ free disk space

Cluster Setup in Local System

To install Devtron, the prerequisite is to have a Kubernetes cluster. We can set up a Kubernetes cluster in our local system using minikube and then manage the pods using kubectl or other Kubernetes command-line tools. Please refer to the documentation for detailed instructions to install minikube in your respective systems.

After installation, please execute the following command - 

minikube start --cpus 4 --memory 8192

The command will start a minikube cluster with 4 CPUs and 8192 memory. We need to provide the extra flags because by default it only takes 2 CPUs and 2048 memory which can be seen from here and it is not sufficient for Devtron installation.

Devtron Installation

As we have successfully installed a minikube cluster in our system, we are ready to install Devtron over it. The installation of Devtron is pretty straightforward. We can use helm3, helm2, and kubectl to install Devtron. I will be using helm3 for installation. You can refer to the documentation for more details of installation.

Installation using helm3

Before getting started with Devtron installation, please make sure helm3 is successfully installed on your system. If it is successfully installed, please follow the following steps to install Devtron.

helm repo add devtron https://helm.devtron.ai
helm install devtron devtron/devtron-operator --create-namespace --namespace devtroncd --set installer.modules={cicd}

The above install command might take around 30 minutes to complete the installation. It will download the inception pod, which in the background will trigger the installation of Devtron.

To confirm the installation has started or not, please use the following command - 

kubectl get pod -n devtroncd

The expected output should resemble the following pod name - 

Inception-654db887f5-hdnbb

The above pod is responsible for installing Devtron over the cluster. It will launch multiple other pods within 20-30 minutes of the time interval.

To check the installation status please run the following command -

kubectl -n devtroncd get installers installer-devtron -o jsonpath='{.status.sync.status}'

If the installation is still in progress, it will print

Downloaded
, and if it is completed,
Applied
is printed.

After the successful completion of installation, we can move ahead to activate the dashboard URL and retrieve login credentials, to begin with, Devtron. For the dashboard URL, we have to use the concept of tunneling. In a separate terminal, please run the following command - 

minikube tunnel

It will provide a temporary External IP address to access the

devtron-service
, which can be seen from the following command - 

kubectl get svc -n devtroncd

Now as we have got the External IP, we can use that IP to access the Devtron dashboard. Please copy and paste the IP in your preferred browser.

As we are able to access the dashboard, we need to find the credentials to login into the dashboard and start using it. For admin login use username as

admin
and for password run the following command -

kubectl -n devtroncd get secret devtron-secret -o jsonpath='{.data.ADMIN_PASSWORD}' | base64 -d

The above command will print a string that can be used as a password to login into the application.

Tada! We have successfully installed Devtron in our local system over the minikube cluster. Feel free to leave your doubts, thoughts in the comment section.

For more detailed information about the installation of Devtron in the Kubernetes cluster please refer to the official documentation.