Try Devtron Enterprise!
Start Free Trial
LogoLogo
WebsiteDevtron demoGithub RepoJoin Discord
main
main
  • Introduction
  • Getting Started
  • Install Devtron
    • Install Devtron with CI/CD
    • Install Devtron with CI/CD and GitOps (Argo CD)
    • Install Devtron without Integrations
    • Install Devtron on Minikube, Microk8s, K3s, Kind, Cloud VMs
    • Install Devtron on Airgapped Environment
    • Demo on Popular Cloud Providers
    • Backup for Disaster Recovery
    • Uninstall Devtron
    • FAQs
  • Install Devtron Enterprise Trial
  • Devtron Kubernetes Client
  • Production Infra Recommendations
  • Configurations
    • Installation Configurations
    • Override Configurations
    • Ingress Setup
  • Global Configurations
    • Host URL
    • GitOps
    • Projects
    • Clusters & Environments
    • Git Accounts
    • Container/OCI Registry
    • Chart Repositories
    • Deployment Charts
    • Authorization
      • SSO Login Services
        • Google
        • GitHub
        • GitLab
        • Microsoft
        • LDAP
        • OIDC
          • Keycloak
          • Okta
        • OpenShift
      • User Permissions
      • Permission Groups
      • API Tokens
    • Notifications
    • Deployment Window
    • Approval Policy
    • External Links
    • Catalog Framework
    • Scoped Variables
    • Plugin Policy
    • Pull Image Digest
    • Tags Policy
    • Filter Condition
    • Lock Deployment Configuration
    • Image Promotion Policy
    • Build Infra
  • Devtron Upgrade
    • Update Devtron from Devtron UI
    • Upgrade to 1.5.0
    • 0.6.x-0.7.x
    • 0.5.x-0.6.x
    • 0.4.x-0.5.x
    • 0.4.x-0.4.x
    • 0.3.x-0.4.x
    • 0.3.x-0.3.x
    • 0.2.x-0.3.x
  • Usage
    • Applications
      • Create a New Application
      • Clone an Existing Application
      • Deploy a Sample Application
      • App Configuration
        • Git Repository
        • Build Configuration
        • Base Deployment Template
          • Deployment
          • Rollout Deployment
          • Job and Cronjob
          • StatefulSets
        • GitOps Configuration
        • Workflow Editor
          • CI Pipeline
            • Pre-Build/Post-Build Stages
            • Override Build Configuration
          • CD Pipeline
        • ConfigMaps
        • Secrets
          • External Secret Operator (ESO)
            • AWS Secrets Manager
            • Google Secrets Manager
            • HashiCorp Vault
        • Environment Overrides
        • Deleting Application
      • Build and Deploy
        • Triggering CI
        • Triggering CD
        • Rollback Deployment
        • Applying Labels to Images
      • App Details
        • Debugging Deployment And Monitoring
        • Using Ephemeral Containers
        • Application Metrics
      • Application Overview
    • Jobs
      • Create a new job
      • Configurations
      • Workflow Editor
      • Trigger Job
      • Overview
    • Application Groups
    • Software Distribution Hub
      • Tenants
      • Release Hub
    • Resource Browser
    • Resource Watcher
    • Charts
      • Charts Overview
      • Deploy & Observe
      • Examples
        • Deploying Mysql Helm Chart
        • Deploying MongoDB Helm Chart
      • Chart Group
    • Security
      • Security Scans
      • Security Policies
    • Bulk Edit
    • Integrations
      • Build and Deploy (CI/CD)
      • GitOps (Argo CD)
      • Vulnerability Scanning (Clair)
      • Notifications
      • Monitoring (Grafana)
    • Pipeline Plugins
      • Create Your Plugin
      • Our Plugins
        • Ansible Runner
        • Bitbucket Runner Trigger
        • Codacy
        • Code-Scan
        • Copacetic
        • Container Image Exporter
        • Copy Container Image
        • Cosign
        • CraneCopy
        • Dependency track - Maven & Gradle
        • Dependency track - NodeJS
        • Dependency track - Python
        • Devtron CD Trigger
        • Devtron CI Trigger
        • Devtron Job Trigger
        • DockerSlim
        • EKS Create Cluster
        • GCS Create Bucket
        • GitHub Pull Request Updater
        • GKE Provisioner
        • GoLang-migrate
        • Jenkins
        • Jira Issue Validator
        • Jira Issue Updater
        • K6 Load Testing
        • Pull images from container repository
        • Semgrep
        • SonarQube
        • SonarQube v1.1.0
        • Terraform CLI
        • Vulnerability Scanning
  • Resources
    • Glossary
    • Troubleshooting
    • Use Cases
      • Devtron Generic Helm Chart To Run CronJob Or One Time Job
      • Connect SpringBoot with Mysql Database
      • Connect Expressjs With Mongodb Database
      • Connect Django With Mysql Database
      • Pull Helm Charts from OCI Registry
    • Telemetry Overview
    • Devtron on Graviton
    • Release Notes
Powered by GitBook
On this page
  • 1. Infrastructure Overview
  • Node Group Structure
  • Autoscaling Configuration
  • Blob Storage
  • 2. Cloud-Specific Setup Guidelines
  • AWS (EKS)
  • GCP (GKE)
  • Azure (AKS)
  • 3. Microservice Resource Recommendations
  • 4. Kubernetes Configuration
  • CI Isolation with Taints and Tolerations

Was this helpful?

Export as PDF

Production Infra Recommendations

PreviousDevtron Kubernetes ClientNextConfigurations

Last updated 1 day ago

Was this helpful?

1. Infrastructure Overview

For production environments, we recommend a dedicated infrastructure setup that separates Devtron microservices to ensure optimal performance, reliability, and cost efficiency.

Node Group Structure

Set up separate node groups to isolate workloads, optimize resource allocation, and ensure system stability under production load.

Node Group
Purpose
Instance Type
Configuration

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

Autoscaling Configuration

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

Blob Storage

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.


2. Cloud-Specific Setup Guidelines

Depending on your choice of cloud provider, refer the instructions/scripts below to set up a cluster.

AWS (EKS)

GCP (GKE)

Azure (AKS)

Next Step


3. Microservice Resource Recommendations

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.

Component
CPU Requests
CPU Limits
Memory Requests
Memory Limits

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

Need a YAML template to add resources?

Run the following command once the file is ready:

helm upgrade devtron devtron/devtron-operator -n devtroncd --reuse-values -f resources-values-file.yaml

4. Kubernetes Configuration

CI Isolation with Taints and Tolerations

CI_NODE_LABEL_SELECTOR: purpose=ci
CI_NODE_TAINTS_KEY: dedicated
CI_NODE_TAINTS_VALUE: ci

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:

Readme
Terraform scripts
Terraform scripts
Devtron installation on your cluster
YAML file
Cloud-Specific Setup Guidelines
Blob Storage Guide
these keys