ExternalDNS — это Kubernetes-контроллер, который автоматически управляет DNS-записями у внешних провайдеров на основе ресурсов кластера. Он отслеживает появление, изменение и удаление Ingress, Service (типа LoadBalancer) и других объектов и соответствующим образом обновляет DNS-зону, избавляя от ручного вмешательства.
⚙️ Основной функционал:
— Автоматическое создание/обновление DNS записей у указанного DNS-провайдера.
— Удаление устаревших записей: при удалении ресурса запись автоматически убирается из DNS-зоны.
— Гибкая настройка источников: может работать с Ingress, Service (type=LoadBalancer), а также с Gateway API и другими CRD.
— Фильтрация и области видимости: позволяет ограничить синхронизацию конкретными namespace, аннотациями или доменами.
Ключевые особенности:
▪️ Декларативность и согласованность —
состояние DNS всегда соответствует реальному состоянию сервисов в кластере. Никаких рассинхронизаций.
▪️ Поддержка ownership —
еxternalDNS помечает созданные им записи специальными тегами (или TXT-записями), чтобы не трогать записи, созданные вручную.
▪️ Гибкая настройка TTL —
можно задавать время жизни записей как глобально, так и через аннотации к конкретным ресурсам.
ExternalDNS превращает управление DNS из рутинной ручной работы в автоматический, декларативный процесс, интегрированный с жизненным циклом приложений в Kubernetes. Это исключает ошибки при указании IP, ускоряет развертывание новых сервисов и гарантирует, что DNS всегда соответствует реальной инфраструктуре кластера.
👉 Git
#полезное
Post #2693
1.33K

- 🔥 5
- 👍 2
- 👏 2