Install using Kubectl

Install Devtron using kubectl

If you don't want to install helm and just want to use kubectl to install devtron platform, then please follow the steps mentioned below:
1
wget https://raw.githubusercontent.com/devtron-labs/devtron/main/manifests/install/devtron-operator-configs.yaml
Copied!
Use a preferred editor to edit the values in install/devtron-operator-configs.yaml
1
vim devtron-operator-configs.yaml
Copied!
Edit the devtron-operator-configs.yaml to configure your Devtron installation. For more details about it, see configuration.Once your configurations are ready, continue with following steps.
The parameter in the devtron-operator-configs.yaml file POSTGRESQL_PASSWORD should be base64 encoded, which is used for postgresql database.
1
kubectl create ns devtroncd
2
kubectl -n devtroncd apply -f https://raw.githubusercontent.com/devtron-labs/charts/main/charts/devtron/crds/crd-devtron.yaml
3
kubectl apply -n devtroncd -f https://raw.githubusercontent.com/devtron-labs/devtron/main/manifests/install/install.yaml
Copied!
Edit devtron-operator-configs.yaml and input the values
1
kubectl apply -n devtroncd -f devtron-operator-configs.yaml
2
kubectl apply -n devtroncd -f https://raw.githubusercontent.com/devtron-labs/devtron/main/manifests/install/devtron-installer.yaml
Copied!
If you are planning to use Devtron for production deployments, please refer to our recommended overrides for Devtron Installation.

Installation status

Run following command
1
kubectl -n devtroncd get installers installer-devtron -o jsonpath='{.status.sync.status}'
Copied!
The install commands initiates Devtron-operator which spins up all the Devtron micro-services one by one in about 20 mins. You can use the above command to check the status of the installation if the installation is still in progress, it will print Downloaded. When the installation is complete, it prints Applied.

Access Devtron dashboard

If you did not provide a BASE_URL during install or have used the default installation, Devtron creates a loadbalancer for you on its own. Use the following command to get the dashboard url.
1
kubectl get svc -n devtroncd devtron-service -o jsonpath='{.status.loadBalancer.ingress}'
Copied!
You will get result something like below
1
[[email protected] ~]$ kubectl get svc -n devtroncd devtron-service -o jsonpath='{.status.loadBalancer.ingress}'
2
[map[hostname:aaff16e9760594a92afa0140dbfd99f7-305259315.us-east-1.elb.amazonaws.com]]
Copied!
The hostname mentioned here ( aaff16e9760594a92afa0140dbfd99f7-305259315.us-east-1.elb.amazonaws.com ) is the Loadbalancer URL where you can access the Devtron dashboard.
PS: You can also do a CNAME entry corresponding to your domain/subdomain to point to this Loadbalancer URL to access it at a custom domain.
Host
Type
Points to
devtron.yourdomain.com
CNAME
aaff16e9760594a92afa0140dbfd99f7-305259315.us-east-1.elb.amazonaws.com

Devtron Admin credentials

For admin login use username:admin and for password run the following command.
1
kubectl -n devtroncd get secret devtron-secret -o jsonpath='{.data.ACD_PASSWORD}' | base64 -d
Copied!

Cleaning Devtron installer

Please make sure that you do not have anything inside namespace devtroncd as the below steps will clean everything inside namespace devtroncd
1
kubectl delete -n devtroncd -f https://raw.githubusercontent.com/devtron-labs/devtron/main/manifests/install/devtron-installer.yaml
2
kubectl delete -n devtroncd -f https://raw.githubusercontent.com/devtron-labs/charts/main/charts/devtron/templates/install.yaml
3
kubectl delete -n devtroncd -f https://raw.githubusercontent.com/devtron-labs/charts/main/charts/devtron/crds/crd-devtron.yaml
4
kubectl delete ns devtroncd
Copied!
Last modified 1mo ago