You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Bitnami external-dns删除Ingress后未同步删除Route53记录问题咨询

删除机制说明

External DNS的记录删除触发逻辑如下:

  • 每轮同步周期(你配置的1分钟)时,组件会遍历所有被它监听的K8s资源(Ingress、Service、Gateway等),生成当前期望的DNS记录列表
  • 同时拉取对应Route53托管区中所有带有它专属TXT owner标识的记录
  • 对比两个列表:如果Route53中存在的记录不在期望列表中,且属于它管理的记录,就会触发删除操作

配置错误原因

核心问题是你安装时没有显式配置同步策略,bitnami/external-dns Helm chart默认的policy参数值为upsert-only,该模式下组件仅允许创建、更新DNS记录,禁止执行删除操作,这就是你删除Ingress后Route53记录没有被清理的根因。

其他可能的配置问题排查项:

  • IAM权限不足:External DNS使用的AWS IAM角色/凭证必须包含route53:ChangeResourceRecordSets权限,且资源范围覆盖你的Route53托管区ARN
  • 未配置owner标识:如果没有设置txtOwnerId参数,组件无法识别哪些记录是自己创建的,为了避免误删不属于自己的记录,默认不会执行删除操作
  • 域名过滤规则:如果你配置了domainFilters等过滤参数,删除时该域名不在匹配范围内也会被跳过

修复方法

  1. 升级External DNS配置,开启同步模式:
helm upgrade extdns bitnami/external-dns \
--set provider=aws \
--set interval=1m \
--set logLevel=debug \
--set policy=sync \
--set txtOwnerId=eks-extdns-cluster1

建议设置唯一的owner标识,避免和其他环境的External DNS冲突

  1. 确认External DNS关联的IAM策略包含以下权限:
{
  "Effect": "Allow",
  "Action": [
    "route53:ChangeResourceRecordSets"
  ],
  "Resource": [
    "arn:aws:route53:::hostedzone/你的托管区ID"
  ]
}
  1. 若此前创建的记录没有对应TXT owner记录,可手动删除一次历史记录,后续新创建的Ingress对应的DNS记录,在Ingress删除后就会被自动清理。

内容的提问来源于stack exchange,提问作者Marc Enschede

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.21 21:45:03