Customize Deployment CPU and management resources per component
Astronomer Units (AUs) Removed
Starting in Astro Private Cloud 1.0, Astronomer Units (AUs) are no longer supported. All Deployments must now specify CPU and memory directly when configuring resources. This change provides more clarity, flexibility, and aligns with Kubernetes-native resource management.
When you create a new Astro Private Cloud Deployment, you now specify the exact amount of CPU and memory that power its core components.
For example:
- You might need to allocate significantly more memory than CPU to your worker Pods if you run memory-intensive tasks.
- At the same time, your Scheduler may need more memory than CPU.
Deployment Admins can:
- Assign exact CPU and memory values to each component.
- Ensure that Pods use these values as both requests and limits, providing predictable scheduling and resource enforcement.
In Astro Private Cloud 1.0, you configure resources by setting CPU and memory directly for each Airflow component in the UI or with the Houston API.
Set CPU and Memory Resources in the Astro Private Cloud UI
Configure Worker resources
- Navigate to your Deployment in the APC UI.
- Open the Settings page for that Deployment.
- In the Execution Environment section, under Workers, set the desired CPU and memory values. These values will be applied to all worker Pods.
- Click Deploy Changes.
Configure core component resources
- Navigate to your Deployment in the APC UI.
- Open the Settings page for that Deployment.
- In the Core Resources section, set CPU and memory for the following components individually:
- Webserver / API Server (Airflow 3 only)
- Scheduler
- Triggerer
- Dag Processor
When setting CPU resources for the Scheduler or Workers using milliCPU (mCPU) values, the values must be multiples of 100 (such as 100, 200, 300, etc).
Non-multiples of 100 may cause Deployment failures.
- Click Deploy Changes.
Set Deployment component resources with Houston API
You can also set resources specifications with the Houston API.
Setting defaults in the config
You can set custom defaults, limits, and minimums for Airflow components by defining them in the config file. When you define a component using the example below, Deployments are created with those resource values, and the UI reflects the same defaults.
Set resource quotas per deployment
Astro Private Cloud lets you override default quota calculations by specifying resource quotas directly in the Houston API’s Deployment payload. Use the quotas object to set custom CPU and memory requests/limits for your deployment. If you do not provide quotas, Astronomer uses the platform’s default quota logic.
Default quotas config
Include the requests and limits in your quotas parameter of the deployment upsert API payload. If you set quotas, make sure your values are not less than required platform minimums and do not exceed the allowed platform maximums.
The following example shows the quotas object and the platform defaults for CPU and memory requests and limits.
Configuration options
Use custom quotas if you need to guarantee or constrain Deployment resources beyond the system-determined logic. If you do not set quotas, the deployment will use platform default resource constraints.
Deployments will fail due to insufficient quotas if you set resource quotas to less than or greater than the Astronomer platform-provided minimum or maximum limits.
Typical platform defaults:
- CPU: 10 vCPU
- Memory: 28272Mi (~28Gi)
Configure Deployment-level limits for resource usage
Astro Private Cloud limits the amount of resources that can be used by all Pods in a Deployment by creating and managing a LimitRange and ResourceQuota for the namespace associated with each Deployment.
These values are automatically adjusted to account for the resource requirements of various components.
You can add additional resources, beyond the standard amount allocated based on the resource-requirements of standing components, to the LimitRange and ResourceQuota. Add resources by configuring astronomer.houston.config.deployments.maxExtraCapacity and astronomer.houston.config.deployments.maxExtraPodCapacity to account for the requirements of KubernetesExecutor and KubernetesPodOperator tasks.
Configurable Components
Configurable components include:
Airflow Scheduler
Airflow DAG processor
To enable a standalone DAG processor, set the dagProcessorEnabled feature flag to true in your Houston API configuration in the config.yaml file:
You can configure extra containers for the DAG processor in the values.yaml file. For example: