Skip to main content

Configuring platform resources

By default, Astronomer needs around 10 CPUs and 44Gi of memory:

Changing values

You can change the request and limit of any of the components above in your values.yaml configuration file. To change something like the resources allocated to astro-ui, add the following fields to your values.yaml:
After all the changes are made, run helm upgrade to switch your platform to the new config:
Be sure to specify the platform namespace, not an Airflow namespace.
If your pods begin to crash after making an adjustment to your requests or limits, you might need to adjust the amounts you configured. Examine your 30-day resource consumption history to identify a good baseline to set your resource and limits.

Configuring Deployment resources

Most of the key components that you will need to run Airflow can be controlled via the sliders in our UI. However, you may find that there are some discrepancies between the number in the UI and what exists in Kubernetes at any given moment. Below is a summary the less-visible resources that get provisioned with each Airflow deployment you create on Astronomer. All of these resources will exist within the namespace created for your Airflow deployment.
These are resources that are provisioned in addition to the scheduler, webserver, and worker resources that you’ve set in your Software UI. If you’re running the Kubernetes executor or Kubernetes Pod Operator, resources will be created dynamically, but will not exceed the resource quota you’ve dictated by your Extra Capacity slider.
Note that, if the platform is deployed with Elasticsearch disabled, the workers are deployed as StatefulSets to store the logs. This means that we also need to deploy an additional log-trimming sidecar on each pod to prevent the pod from overflowing its ephemeral storage limits.