Skip to content

All records were deleted and recreated ONCE when ingress pods were restarted #1289

@max-rocket-internet

Description

@max-rocket-internet

Not this is not related to other issues where the records are continuously recreated

We update our nginx-controllers with new request/limit settings. This started a rolling restart of the nginx-ingress controllers. During this time, external-dns deleted and recreated all our DNS records (about 30 records). It was quite disruptive:

time="2019-11-21T10:52:39Z" level=info msg="All records are already up to date"                                               
time="2019-11-21T10:53:39Z" level=info msg="All records are already up to date"                                               
time="2019-11-21T10:54:39Z" level=info msg="Desired change: DELETE aaaa.xxx-yyy.com A [Id: /hostedzone/XXXXXXXXXXXX]"
time="2019-11-21T10:54:39Z" level=info msg="Desired change: DELETE bbbb.xxx-yyy.com A [Id: /hostedzone/XXXXXXXXXXXX]"
time="2019-11-21T10:54:39Z" level=info msg="Desired change: DELETE ccccc.xxx-yyy.com A [Id: /hostedzone/XXXXXXXXXXXX]" 
time="2019-11-21T10:54:39Z" level=info msg="30 record(s) in zone xxx-yyy.com. [Id: /hostedzone/XXXXXXXXXXXX] were successfully updated"                  
time="2019-11-21T10:55:39Z" level=info msg="Desired change: CREATE aaaa.xxx-yyy.com A [Id: /hostedzone/XXXXXXXXXXXX]"   
time="2019-11-21T10:55:39Z" level=info msg="Desired change: CREATE bbbb.xxx-yyy.com A [Id: /hostedzone/XXXXXXXXXXXX]" 
time="2019-11-21T10:55:39Z" level=info msg="Desired change: CREATE cccc.xxx-yyy.com A [Id: /hostedzone/XXXXXXXXXXXX]"
time="2019-11-21T10:55:39Z" level=info msg="30 record(s) in zone xxx-yyy.com. [Id: /hostedzone/XXXXXXXXXXXX] were successfully updated"                  
time="2019-11-21T10:56:39Z" level=info msg="All records are already up to date"                                               
time="2019-11-21T10:57:39Z" level=info msg="All records are already up to date"                       

I know we use set sync mode to upsert-only but do want external-dns to remove records for ingress resources when they are deleted.

We've used both extern-dns and nginx-ingress for a long time and never seen anything like this.

None of our ingress resources were removed during this process. They are all showing an age of between 22-380 days. So I am not sure how or why external-dns would decide to delete the DNS records.

k8s version: 1.13
external-dns version: docker.io/bitnami/external-dns:0.5.16-debian-9-r0
nginx-ingress version: quay.io/kubernetes-ingress-controller/nginx-ingress-controller:0.25.1

Any ideas? Or how I could debug this?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions