Skip to content

Proposal: Support for Configurable TTL via Annotations for Pod-Based ExternalDNS Entries #5069

@kushagar

Description

@kushagar

Background
Currently, ExternalDNS registers pod-based DNS records with a default TTL of 300 seconds. While this may be suitable for many use cases, it presents a challenge in dynamic, autoscaling environments, where nodes and pods are frequently added and removed. A high TTL can lead to stale DNS records, potentially impacting service discovery and availability.

Proposal
Introduce support for setting the TTL via annotations on pods, allowing greater flexibility in managing DNS records for environments where rapid scaling is required.

Use Case
In Google Cloud Platform (GCP) DNS, ExternalDNS is configured to use the private IPs of nodes for DNS resolution. However, with a fixed TTL of 300s, node IP changes during autoscaling are not reflected promptly, leading to potential traffic routing issues. By enabling TTL configuration via annotations, users can fine-tune the TTL values based on their infrastructure needs.

Expected Benefits
Improved agility: Faster DNS record updates align with node scaling events.
Reduced downtime: Eliminates stale DNS entries during autoscaling.
Granular control: Allows different TTLs for different workloads based on requirements.

Metadata

Metadata

Labels

kind/featureCategorizes issue or PR as related to a new feature.lifecycle/staleDenotes an issue or PR has remained open with no activity and has become stale.

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions