Help improve this page
To contribute to this user guide, choose the Edit this page on GitHub link that is located in the right pane of every page.
Amazon EKS Hybrid Nodes gateway configuration reference
This page documents all configurable parameters for the Amazon EKS Hybrid Nodes gateway. For installation instructions, see Get started with EKS Hybrid Nodes gateway. For an overview of the gateway, see Amazon EKS Hybrid Nodes gateway.
Helm chart values
The following table lists all values in the eks-hybrid-nodes-gateway Helm chart. You can set these values using --set flags or a custom values.yaml file during helm install or helm upgrade.
| Value | Type | Default | Required | Description |
|---|---|---|---|---|
|
|
string |
|
No |
Container image repository for the gateway image. Defaults to the public Amazon ECR registry. |
|
|
string |
Chart |
No |
Image tag. Defaults to the |
|
|
string |
|
No |
Image pull policy. Valid values: |
|
|
integer |
|
No |
Number of gateway pod replicas. Two replicas is the recommended configuration for high availability in production environments. |
|
|
string |
|
No |
Node label key used to select gateway nodes. Nodes must have this label set to |
|
|
string |
|
Yes |
VPC CIDR block used for Cilium VTEP configuration. Example: |
|
|
string |
|
Yes |
Comma-separated list of pod CIDRs used by Cilium on hybrid nodes. Example: |
|
|
string |
|
Yes |
Comma-separated list of VPC route table IDs to program with hybrid pod routes. Example: |
|
|
boolean |
|
No |
Enable EKS Auto Mode integration. When |
Example install commands
EKS Auto Mode (default):
helm install eks-hybrid-nodes-gateway oci://public.ecr.aws/eks/eks-hybrid-nodes-gateway \ --version 1.0.0 \ --namespace eks-hybrid-nodes-gateway \ --create-namespace \ --set vpcCIDR=VPC_CIDR\ --set podCIDRs=POD_CIDRS\ --set routeTableIDs=ROUTE_TABLE_IDS
Managed node groups or self-managed nodes:
helm install eks-hybrid-nodes-gateway oci://public.ecr.aws/eks/eks-hybrid-nodes-gateway \ --version 1.0.0 \ --namespace eks-hybrid-nodes-gateway \ --create-namespace \ --set autoMode.enabled=false \ --set vpcCIDR=VPC_CIDR\ --set podCIDRs=POD_CIDRS\ --set routeTableIDs=ROUTE_TABLE_IDS
Auto Mode vs. managed node group configuration
The autoMode.enabled Helm value controls two behaviors in the Deployment template:
| Behavior |
autoMode.enabled=true (default) |
autoMode.enabled=false
|
|---|---|---|
|
Node selector |
Adds |
Uses only the gateway node label ( |
|
Rolling update strategy |
|
|
When using EKS Auto Mode, you must create a NodePool and NodeClass before installing the Helm chart. The NodePool provisions EC2 instances with the correct labels, taints, and source/destination check configuration. For the required YAML, see Get started with EKS Hybrid Nodes gateway. When using managed node groups or self-managed nodes, you must provision and label the nodes yourself before installing the chart.
For all deployment targets, the Deployment uses hostNetwork: true and requires the NET_ADMIN capability. Pod anti-affinity ensures that the two gateway pods run on separate nodes.
Leader election tuning
The gateway uses Kubernetes Lease-based leader election to maintain an active-standby model. The default parameters are tuned for fast failover:
| Parameter | Default | Description |
|---|---|---|
|
|
|
How long a non-leader waits after the last observed lease renewal before trying to acquire the lease. Lower values detect leader failure faster but increase the risk of false failovers during transient network issues. |
|
|
|
Maximum time the active leader spends trying to renew the lease before giving up leadership. Must be less than the lease duration. |
|
|
|
How frequently candidates retry acquiring or renewing the lease. |
With the default values, the expected failover time when the active gateway fails is approximately 3–5 seconds. This includes the time for the standby to detect the lease expiration, acquire the lease, and run the leader setup sequence (VPC route table updates and Cilium VTEP configuration).
When to adjust leader election parameters
-
Increase lease duration if you observe frequent leader transitions caused by transient network latency between gateway pods and the Kubernetes API server.
-
Decrease lease duration if you need faster failover detection and your network between gateway nodes and the API server is reliable and low-latency.
-
Increase retry period to reduce API server load from leader election in large clusters.
Note
The --leader-election-renew-deadline must always be less than --leader-election-lease-duration. If the renew deadline exceeds the lease duration, the leader may lose the lease before it can renew.