首页 > 解决方案 > Bitnami external-dns 不会删除 Route53

问题描述

我已经在我的 EKS Kubernetes 集群上安装了 bitnami/external-dns。pod 的作用是在 Ingress 期望记录存在时在我的 Route53 托管区域中创建新记录。到目前为止没有问题。

但是在删除 Ingress 时,Route53 记录不会被删除。删除这些记录的预期是什么?我做错了什么?

安装外部 DNS

helm install extdns bitnami/external-dns \
--set provider=aws \
--set interval=1m \
--set logLevel=debug \

入口

apiVersion: networking.k8s.io/v1beta1
kind: Ingress
metadata:
  name: {{$.Chart.Name}}-ingress
  annotations:
    kubernetes.io/ingress.class: alb
    alb.ingress.kubernetes.io/target-type: ip
    alb.ingress.kubernetes.io/scheme: internet-facing
    alb.ingress.kubernetes.io/certificate-arn: arn:aws:acm:us-west-2:xxxxxxxx:certificate/some-uuid
    alb.ingress.kubernetes.io/listen-ports: '[{"HTTP": 80}, {"HTTP": 81}, {"HTTPS":443}]'
    external-dns.alpha.kubernetes.io/hostname: zzz1.blah.nl
  labels:
    app: {{$.Chart.Name}}-service
spec:
  rules:
    - host: zzz1.blah.nl
      http:
        paths:
          - path: /*
            backend:
              serviceName: {{$.Chart.Name}}-service
              servicePort: 8080
    - http:
        paths:
          - path: /zzz1/*
            backend:
              serviceName: {{$.Chart.Name}}-service
              servicePort: 8080

外部 DNS 日志记录

time="2021-05-05T20:31:02Z" level=debug msg="Refreshing zones list cache"
time="2021-05-05T20:31:02Z" level=debug msg="Considering zone: /hostedzone/xxxx (domain: local.)"
time="2021-05-05T20:31:02Z" level=debug msg="Considering zone: /hostedzone/xxxx (domain: blah.nl.)"
time="2021-05-05T20:31:03Z" level=debug msg="No endpoints could be generated from service kube-system/aws-load-balancer-webhook-service"
time="2021-05-05T20:31:03Z" level=debug msg="No endpoints could be generated from service default/extdns-external-dns"
time="2021-05-05T20:31:03Z" level=debug msg="No endpoints could be generated from service default/module1-service"
time="2021-05-05T20:31:03Z" level=debug msg="No endpoints could be generated from service default/kubernetes"
time="2021-05-05T20:31:03Z" level=debug msg="No endpoints could be generated from service kube-system/kube-dns"
time="2021-05-05T20:31:03Z" level=debug msg="No endpoints could be generated from service kubernetes-dashboard/kubernetes-dashboard"
time="2021-05-05T20:31:03Z" level=debug msg="No endpoints could be generated from service kubernetes-dashboard/dashboard-metrics-scraper"
time="2021-05-05T20:31:03Z" level=debug msg="Endpoints generated from ingress: default/module1-ingress: [zzz1.blah.nl 0 IN CNAME  k8s-default-module1i-0000000-1693479811.us-west-2.elb.amazonaws.com [] zzz1.liberaalgeluid.nl 0 IN CNAME  k8s-default-module1i-000000-1693479811.us-west-2.elb.amazonaws.com []]"
time="2021-05-05T20:31:03Z" level=debug msg="Removing duplicate endpoint zzz1.blah.nl 0 IN CNAME  k8s-default-module1i-000000000-1693479811.us-west-2.elb.amazonaws.com []"
time="2021-05-05T20:31:03Z" level=debug msg="Modifying endpoint: zzz1.blah.nl 0 IN CNAME  k8s-default-module1i-000000000-1693479811.us-west-2.elb.amazonaws.com [], setting alias=true"
time="2021-05-05T20:31:03Z" level=debug msg="Modifying endpoint: zzz1.blah.nl 0 IN CNAME  k8s-default-module1i-000000000-1693479811.us-west-2.elb.amazonaws.com [{alias true}], setting aws/evaluate-target-health=true"
time="2021-05-05T20:31:03Z" level=debug msg="Refreshing zones list cache"
time="2021-05-05T20:31:03Z" level=debug msg="Considering zone: /hostedzone/Z000000000 (domain: blah.nl.)"
time="2021-05-05T20:31:03Z" level=debug msg="Considering zone: /hostedzone/Z000000000 (domain: local.)"
time="2021-05-05T20:31:03Z" level=info msg="All records are already up to date"
^

标签: kubernetesamazon-route53amazon-eksbitnami

解决方案


图表中的默认--policy选项是upsert-only,这与 ext-dns 本身的基础默认选项不同sync。在upsert-only模式下,它不会删除任何内容。这通常是出于安全考虑,因为清理可以在用户监督下分批进行。sync如果您愿意,您可以将策略值覆盖回( https://github.com/bitnami/charts/blob/05a5bd69206574f3f8638197eb98da2164343a42/bitnami/external-dns/values.yaml#L432)。


推荐阅读