Production Infra Recommendations
Last updated
Was this helpful?
Last updated
Was this helpful?
For production environments, we recommend a dedicated infrastructure setup that separates Devtron microservices to ensure optimal performance, reliability, and cost efficiency.
Set up separate node groups to isolate workloads, optimize resource allocation, and ensure system stability under production load.
Devtron Microservices
Hosts all Devtron core components
On-Demand
3 nodes (4 CPU, 16 GB RAM each)
CI Workers
Handles build jobs and CI processes
Spot Instances
Auto-scaling based on workload
Configure autoscaling to handle fluctuating workloads efficiently, reduce downtime, and control cloud costs without manual intervention.
Devtron Node Group: Minimum 1 node, Maximum 5 nodes (Autoscaled)
CI Node Group (Tainted): Configure based on build volume and concurrency requirements
Use blob storage to persist build caches and logs, enabling faster builds and reliable CI troubleshooting in production environments. Refer to know more.
Cache-Storage: Used to store the build cache to reduce build time of your application.
CI Logs Bucket: Used to store the build logs of your application.
Depending on your choice of cloud provider, refer the instructions/scripts below to set up a cluster.
Below are the core components (Devtron microservices) for which you need to allocate appropriate CPU and memory resources. This will ensure optimum performance and prevent resource contention in production.
Devtron
1
1
1536Mi
1536Mi
Kubelink
1
1
1536Mi
1536Mi
Dashboard
100m
100m
150Mi
150Mi
Lens
200m
200m
100Mi
100Mi
Git-sensor
800m
1
1510Mi
1510Mi
Kubewatch
200m
300m
600Mi
1000Mi
You can follow this for setting up the EKS cluster for Devtron.
Use our provided to set up GKE cluster for Devtron.
Use our provided to set up AKS cluster for Devtron.
Proceed with the .
You can create a resources file similar to this and add resources according to your load and requirements for any service you want, and remove those you don’t wish to modify.
To ensure CI workloads run exclusively on the dedicated CI nodes, you need to specify the taints and labels to the node. Then, for the CI build pods, you can add the tolerations and node selectors in the devtron-custom-cm
(ConfigMap) of devtroncd
namespace using . These will automatically propagate to CI workloads when they are created.
If you are following our then set the below values for the keys in devtron-custom-cm
: