Airflow 3This feature is only available for Airflow 3.x Deployments.
Prerequisites
- Astro Deployment configured for Remote Execution mode. See Create a Deployment.
- Kubernetes 1.30 or later
- Helm 3 or later
- Deployment API token with Deployment Admin role to pull the base Astro Remote Execution Agent Image
Step 1: Create agent token
The agent token authenticates your agent to the Astro orchestration plane. Create this token before installing the Helm chart.Save the token value in a secure location immediately after creation. You cannot retrieve it again. The limit is 50 agent tokens per Deployment.
- Astro UI
- Astro API
1
Navigate to Deployment
In the Astro UI, click Deployments, then select your Remote Execution Deployment (in the legacy UI, select a Workspace first).
2
Open tokens view
Select the Remote Agents tab and toggle to the Tokens view.
3
Create token
- Click +Agent Token
- Enter a Name and Expiration period
- Optionally add a Description
- Click Create
4
Save token
Copy the agent token and save it securely. You will use this token in the Helm chart configuration.
Step 2: Install Helm chart
Astronomer recommends pulling both the Remote Execution Agent image and the Sentinel image and storing them in your private registry. Sentinel provides advanced monitoring and reporting for Remote Execution Agents, starting from version 1.2.0. The Agent base images are minimal, so you might need to add packages for your pipelines to function properly. Use either an Organization API token with the
Org Owner role or a Deployment API token with the Deployment Admin role to authenticate.1
Download values file
- In the Astro UI, go to the Remote Agents tab
- Toggle to the Agents view
- Click Register a Remote Agent
- Click Download to get the
values.yamlfile
2
Configure required values
Update the following values in
values.yaml. All other values have working defaults.You must configure these values before installing the Helm chart:agentToken,agentTokenSecretName, oragentTokenFile- See Agent token configurationimagePullSecretNameorimagePullSecretData- See Image pull secret configurationnamespace- Kubernetes namespace for agent deploymentresourceNamePrefix- Name prefix for Kubernetes resourcessecretBackend- Must be configured before agents can execute tasks. See Configure secrets backendxcomBackend- Must be configured before agents can execute tasks. See Configure XCom backendstateStoreBackend- Required on Astro Runtime 3.3 and later, where agents don’t start without it. Helm chart 2.3.0 and later set a working default that isn’t suitable for production. See Configure state store backend
3
Pull agent image for private registries
If self-hosting the image, log in to the image registry with your Deployment API token:After you log in, you can pull the Remote Execution Agent and Sentinel images directly. To find the latest version and image path, refer to the Remote Execution Agent release notes for all currently hosted images and Remote Execution Agent image reference for their full URLs. For example:Pull the Remote Execution Agent image, apply customizations that your dags require, and push it to your private registry. Then update the
Sentinel image available with 1.2.0 and laterStarting with Remote Execution Agent 1.2.0, a Sentinel image is published alongside the agent images to provide monitoring for Remote Execution Agents. The Sentinel image must be pulled separately. Astronomer recommends enabling Sentinel for all deployments. To enable Sentinel, configure the service in your
values.yaml file. See Sentinel for Remote Execution Agents.values.yaml file to reference your customized image.4
Install Helm chart
Run the following commands to install the agent:
Step 3: Optionally set allowed IP ranges
Restrict Deployment access to specific IP address ranges for additional security or network isolation between environments.1
Open Deployment settings
In the Astro UI, click the options menu for your Deployment and select Edit.
2
Add IP ranges
- In the Advanced section, click +Add IP.
- Enter an IP address range in CIDR format.
- Click Add.
- Repeat to add multiple ranges.
Step 4: Verify agent heartbeat
Confirm the agent is connected and healthy.1
Check agent status
In the Astro UI, go to the Remote Agents tab. A healthy agent shows:
- Health status: Healthy
- Last heartbeat: Within the past minute
kubectl get pods -n <namespace>. For more in-depth validation, check pod logs for heartbeat activity.To verify that your agents can communicate with your Astro Orchestration plane:- Connect to a host or Pod within your VPC that has your Remote Execution Agent running.
-
Run a DNS lookup to confirm the hostname resolves successfully:
The response should show the Astro cluster’s public load balancer’s public IP addresses, or the private IP addresses assigned to your VPC Endpoint if you configured AWS PrivateLink.
-
Test connectivity to the endpoint:
The expected response is
404 page not found. A successful connection confirms your Remote Execution Agents are able to communicate with the Astro orchestration plane over a public connection or via your private VPC endpoint.
2
Configure dag bundles
After verifying agent health, configure how agents access DAG code. See Configure DAG sources.
3
Run test dag
Trigger a test DAG run to verify the agent executes tasks successfully.
HTTP/HTTPS proxy server supportStarting with Remote Execution Agent 1.3.2, the agents support running behind an HTTP(S) proxy server. Configure proxy settings using the
HTTP_PROXY, HTTPS_PROXY, and NO_PROXY environment variables.For Remote Execution Agent versions earlier than 1.3.2, proxy servers are not supported. If your Kubernetes environment automatically adds a proxy configuration to Pods, the agents will fail to establish an outbound connection to the orchestration plane. You might see errors similar to these in worker logs:"exc_type":"ReadError","exc_value":"[Errno 104] Connection reset by peer""exc_type":"HTTPStatusError","exc_value":"Client error '400 Bad Request' for url ...
Agent token configuration
Provide the agent token using one of these methods:agentToken
Store the token directly invalues.yaml:
values.yaml
agentTokenSecretName
Reference an existing Kubernetes secret containing the token:values.yaml:
values.yaml
agentTokenFile
Mount a file containing the token. The agent reads the token at runtime:values.yaml
Image pull secret configuration
Configure image pull secrets to authenticate with your container registry. The configuration differs depending on whether you pull images directly from Astronomer’s registry or from a self-hosted registry.- Astronomer registry
- Self-hosted registry
Use this configuration when pulling images directly from In
images.astronomer.cloud.imagePullSecretName
Reference an existing Kubernetes secret in your namespace:values.yaml:values.yaml
imagePullSecretData
Alternatively, provide Docker config JSON directly. The Helm chart creates a secret namedimage-pull-secret:values.yaml
Manage Remote Execution Agents
You can take the following actions on your registered Remote Execution Agents:- Cordon: Cordoning a Remote Execution Agent marks it as unavailable for scheduling new tasks, while allowing it to continue running and complete any tasks already in progress.
- Uncordon: Uncordoning a Remote Execution Agent re-enables it to receive new tasks and resume normal scheduling.
- Delete: Deletes the Remote Execution Agent from the Deployment.
Remote Execution Agent maintenance policy
Each Remote Execution Agent minor version is maintained for 6 months from the release month. See Agent maintenance policy for more details about versioning, support, and upgrade recommendations.Next steps
After registering agents, configure the required components:- Configure secrets backend - Required for agent operation
- Configure XCom backend - Required for passing data between tasks
- Configure DAG sources - Required for accessing DAG code