Install Devtron OSS
Introduction
Devtron OSS is the open-source edition of Devtron intended for non-enterprise users.
The table below shows the installation options available in Devtron OSS. Further, there are steps given to install your preferred option in your Kubernetes cluster.
Dashboard + Resource Browser + Core operator configurations
A unified view of Helm apps, FluxCD apps, ArgoCD apps, and their related K8s resources
Everything in Minimal + Build and Deploy (CI/CD) module
You need a complete CI-CD pipeline for your custom apps (a.k.a Devtron Apps)
Everything in CI/CD + GitOps (Argo CD) module
You need automated, Git-driven deployments
Not Sure What To Choose?
Begin with the Minimal version. You can always install CI/CD and GitOps integrations later from Devtron Stack Manager.
Prerequisites
Kubernetes cluster v1.16 or later (cloud or local)
For production cases, fulfill the Infrastructure Recommendations
Cluster created on AWS? Is your EKS version 1.23 or above?
Install 'AWS EBS CSI' driver using the following command:
helm repo add aws-ebs-csi-driver https://kubernetes-sigs.github.io/aws-ebs-csi-driver
helm repo update
helm upgrade --install aws-ebs-csi-driver \
--namespace kube-system aws-ebs-csi-driver/aws-ebs-csi-driverUsing K3s?
K3s does not include a default storage provisioner, so before you run Helm install in Step 2, apply the Rancher local-path-provisioner to enable dynamic storage:
kubectl apply -f https://raw.githubusercontent.com/rancher/local-path-provisioner/master/deploy/local-path-storage.yamlStep 1: Add Devtron Helm Repository
helm repo add devtron https://helm.devtron.ai
helm repo update devtronStep 2: Choose an Installation Option
Install Devtron without Integrations
After you add Devtron Helm Repository run the command below:
helm install devtron devtron/devtron-operator \
--create-namespace --namespace devtroncdInstall Devtron with CI/CD
After you add Devtron Helm Repository run the command below:
helm install devtron devtron/devtron-operator \
--create-namespace --namespace devtroncd \
--set installer.modules={cicd}Install Devtron with CI/CD + GitOps (ArgoCD)
After you add Devtron Helm Repository run the command below:
helm install devtron devtron/devtron-operator \
--create-namespace --namespace devtroncd \
--set installer.modules={cicd} \
--set argo-cd.enabled=trueHow much time does it take for installation?
It usually takes 5–15 minutes to spin up all Devtron microservices (depending on your installation option).
You may check the status by running the command below. If the output is Applied, Devtron is installed.
kubectl -n devtroncd get installers installer-devtron \
-o jsonpath='{.status.sync.status}'Step 3: Obtain the Dashboard URL
To access the dashboard on EKS, AKS, or GKE cluster, run the following command:
kubectl get svc -n devtroncd devtron-service -o jsonpath='{.status.loadBalancer.ingress}'Dashboard URL: The LoadBalancer URL displayed in the output
You have a few different ways to open the Devtron dashboard on local or VM-based clusters. Pick the method that works best for you: quick port-forward, persistent NodePort, or remote access via kubeconfig.
Accessing the Dashboard locally (MicroK8s/Kind/K3s)
Run the following command to port-forward the devtron service to port 8000
kubectl -n devtroncd port-forward service/devtron-service 8000:80Dashboard URL: http://127.0.0.1:8000
Accessing the Dashboard via NodePort
If you prefer NodePort instead of port-forwarding, reinstall Devtron with:
--set components.devtron.service.type=NodePortThen run the following command to get the port number assigned to the service:
kubectl get svc -n devtroncd devtron-service -o jsonpath='{.spec.ports[0].nodePort}'Dashboard URL: http://<HOST_IP>:<NODEPORT>/dashboard
Accessing the Dashboard locally from a remote VM (Port Forwarding via Kubeconfig)
If Devtron is installed on a remote VM (e.g., AWS EC2, Azure VM, GCP Compute Engine) using MicroK8s, Kind, or K3s, run the following commands one-by-one:
scp user@cloud-vm-ip:/path/to/kubeconfig ~/.kube/config
kubectl config use-context <context-name> # Set the correct context.
kubectl -n devtroncd port-forward service/devtron-service 8000:80Dashboard URL: http://127.0.0.1:8000
Run the following command:
minikube service devtron-service --namespace devtroncdDashboard URL: (Directly opens in your browser)
Step 4: Log in to Devtron
From your browser, visit the dashboard URL (obtained in the previous step) to view the login page of Devtron.
Enter
adminin the username.Run the below command to get your password.
kubectl -n devtroncd get secret devtron-secret \ -o jsonpath='{.data.ADMIN_PASSWORD}' | base64 -d
You should see the Devtron Dashboard post successful login.
Next Recommended Action
After the initial login, we recommend you set up an Single Sign-On (SSO) service like Google, GitHub, etc., and then add other members (including yourself). Thereafter, they can log in using the configured SSO.
Last updated
Was this helpful?

