Set custom resource usage in the Software UI
To switch from using AU to using custom resource specifications:- In the Software UI, open your Deployment.
- In the Settings tab, change your Resource Strategy to Custom Resources.
- For each Software component, adjust the CPU and memory sliders to match your resource requirements. You can change the unit of the resource by clicking the dropdown menu that shows your current unit.
To create a Deployment through the Houston API that uses the custom resource strategy be default, set
astroUnitsEnabled: false in your Deployment creation mutation.Disable Astronomer Units (AUs) from Deployment resource configurations
To limit users to only configure Deployments using custom resources, set the following configuration in yourvalues.yaml file:
Set custom resources with Houston API
You can also switch from using AUs to custom resources specifications with the Houston API.Use Custom Resource Defaults
You can set custom defaults, limits and minimums for Airflow components and enable the use of the custom defaults with the feature flagcomponentsCustomDefaultsEnabled.
To enforce using custom resources only, you must enable custom defaults and disable Astro Units.
componentsCustomDefaultsEnabled is set to false and Astro Units are enabled, users must use the values defined in the config file for the AU defaults. This means when you use the following code example to define a component, Deployments are created respecting the AU resource definitions and the UI uses these defaults.
componentsCustomDefaultsEnabled is set to true and Astro Units is enabled or disabled, users must use the values defined in the config file for the custom defaults. This means when you use the following code example to define a component, Deployments are created respecting the custom definitions and the UI uses these defaults.
Set resource quotas per deployment
Astronomer Software lets you override default quota calculations by specifying resource quotas directly in the Houston API’s Deployment payload. Use thequotas 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 yourquotas parameter of the deployment create or update 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.Configure Deployment-level limits for resource usage
Astronomer Software limits the amount of resources that can be used by all Pods in a Deployment by creating and managing aLimitRange and ResourceQuota for the namespace associated with each Deployment.
These values are automatically adjust 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: