Skip to main content
Astronomer Units (AUs) RemovedStarting 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

  1. Navigate to your Deployment in the APC UI.
  2. Open the Settings page for that Deployment.
  3. In the Execution Environment section, under Workers, set the desired CPU and memory values. These values will be applied to all worker Pods.
  4. Click Deploy Changes.

Configure core component resources

  1. Navigate to your Deployment in the APC UI.
  2. Open the Settings page for that Deployment.
  3. 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.
  1. Click Deploy Changes.
All values set here are applied as both requests and limits for Pods, ensuring consistent scheduling.
For memory-intensive or CPU-intensive workloads, adjust individual components accordingly. For example, you can give workers more memory for data-heavy tasks.

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

KubernetesExecutor task Pod sizes are created on an as-needed basis and don’t have persisting resource requirements. Their resource requirements are configured at the task level.
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:

Airflow Webserver

StatsD

Database Connection Pooler (PgBouncer)

Celery Diagnostic Web Interface (Flower)

Redis

Celery Workers

Triggerer