How to Setup Devtron in AWS EKS ?.
Tags: kubernetes, beginners, cloud, aws
Published: 2022-07-12 18:48:22

Devtron is installed in a Kubernetes cluster in a variety of ways. This tutorial helps to install Devtron without integration through Kubernetes Helm package manager. 

Kindly follow this blog to **[create a EKS cluster](https://dev.to/makendrang/how-to-create-a-kubernetes-cluster-using-aws-ekscli-k58)**. Once the cluster is active, Kindly enter the below command to know about the cluster nodes status. 

```
kubectl get nodes -o wide
```


## Helm installation

 
Now that the cluster is running, run the following command to install Helm. 

```
curl -fsSL -o get_helm.sh https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3
chmod 700 get_helm.sh
./get_helm.sh
```

Check the version of Helm to confirm the Helm installation.

```
helm version
```

## Installing Devtron

Run the following command to install Devtron and its default configuration without integration via Helm.

```
helm repo add devtron https://helm.devtron.ai
helm install devtron devtron/devtron-operator --create-namespace --namespace devtroncd
```
 
This will launch the `Devtron operator` and all  Devtron microservices in the `devtroncd namespace` in minutes. 

Check out the various microservices that ship with the Devtron. Run the below command to check pods and services running in the devtroncd namespace. 

```
# To check pods running in devtroncd namespace
kubectl get pods -n devtroncd
```


```
# To check services running in devtroncd namespace
kubectl get svc -n devtroncd
```


After the Devtron installation is complete, make the Devtron dashboard available through the NodePort service and access the Devtron dashboard. 

Run the following command which exposes the devtron service running in the devtroncd namespace to the `NodePort service` over port 30000. 

```
kubectl patch -n devtroncd svc devtron-service -p '{"spec": {"ports": [{"port": 80,"targetPort": "devtron","protocol": "TCP","name": "devtron","nodePort": 30000}],"type": "NodePort","selector": {"app": "devtron"}}}'
```



Run the following command to check for patches for devtron-service running in the devtroncd namespace.



```
kubectl get svc -n devtroncd
```

Run the below command to get the dashboard URL.


```
kubectl get svc -n devtroncd devtron-service -o jsonpath='{.status.loadBalancer.ingress}'
```

The Devtron dashboard is now accessible.

You need credentials to log in to the Devtron dashboard  as an administrator. Use admin as the username and  run the following command to get the password.

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


Copy the generated password and use it to log in to the devtron dashboard.

Now you can see the Devtron dashboard. Then add Devtron integration to extend Devtron's capabilities. 



Gratitude for perusing my article till end. I hope you realized something unique today. If you enjoyed this article then please share to your buddies and if you have suggestions or thoughts to share with me then please write in the comment box.

The above blog is submitted as part of 'Devtron Blogathon 2022' - https://devtron.ai/
Check out Devtron's GitHub repo - https://github.com/devtron-labs/devtron/ and give a ⭐ to show your love & support.
Follow Devtron on LinkedIn - https://www.linkedin.com/company/devtron-labs/ and Twitter - https://twitter.com/DevtronL/, to keep yourself updated on this Open Source project.