Can I Use Azure Kubernetes Service (AKS) Automatic for Hybrid Deployment?
Question
Can I use Azure Kubernetes Service Automatic for Hybrid Deployment?
Answer
Yes, you can use AKS clusters running in the Automatic tier for Hybrid Deployment. However, we recommend using the Standard tier for most environments because it offers more predictable scheduling and configuration flexibility.
AKS Automatic may work well if your pipeline processing jobs run infrequently (for example, every 6 hours or daily), where node scaling will have minimal impact on job scheduling. However, we do not recommend AKS Automatic for frequently scheduled pipelines (for example, jobs that run every 1–5 minutes), because node provisioning during scale-up can take up to two minutes and may delay job execution.
Requirements
To run Hybrid Deployment on AKS Automatic, you must install Hybrid Deployment Helm chart v0.16.0 or above. These Helm chart versions include the PodDisruptionBudget (PDB) by default. The PDB ensures that at least one job pod remains available during voluntary node disruptions, helping protect pipeline processing jobs from interruption during scaling events.
Recommended configuration
For AKS Automatic clusters, we recommend adding the karpenter.sh/do-not-disrupt: "true" annotation to the agent pod. This prevents Karpenter (used by AKS Automatic for scaling and consolidation) from evicting or moving the agent pod during node operations.
To add the annotation, add the following in your Helm values file:
agent: annotations: karpenter.sh/do-not-disrupt: "true"
Example installations
Using command-line
helm upgrade --install hd-agent \ oci://us-docker.pkg.dev/prod-eng-fivetran-ldp/public-docker-us/helm/hybrid-deployment-agent \ --set agent.annotations."karpenter\.sh/do-not-disrupt"="true" \ --set config.data_volume_pvc=YOUR_PVC_NAME \ --set config.token=YOUR_TOKEN \ --version 0.16.0
Using values.yaml file
agent: annotations: karpenter.sh/do-not-disrupt: "true" config: data_volume_pvc: YOUR_PVC_NAME token: YOUR_TOKEN
Install with:
helm upgrade --install hd-agent \ oci://us-docker.pkg.dev/prod-eng-fivetran-ldp/public-docker-us/helm/hybrid-deployment-agent \ -f values.yaml \ --version 0.16.0