kubernetes-sigs / external-dns

Configure external DNS servers (AWS Route53, Google CloudDNS and others) for Kubernetes Ingresses and Services
Apache License 2.0
7.73k stars 2.57k forks source link

Godaddy dns error #2047

Closed ShubhamTatvamasi closed 3 years ago

ShubhamTatvamasi commented 3 years ago
time="2021-04-13T19:11:49Z" level=error msg="Error INVALID_BODY: \"Request body doesn't fulfill schema, see details in `fields`\""
ShubhamTatvamasi commented 3 years ago

@Fred78290 any idea about this?

Fred78290 commented 3 years ago

Hello. Could you post the full error message. Regards

ShubhamTatvamasi commented 3 years ago

@Fred78290 here are the logs from the pod:

time="2021-04-15T07:47:34Z" level=info msg="config: {APIServerURL: KubeConfig: RequestTimeout:30s ContourLoadBalancerService:heptio-contour/contour GlooNamespace:gloo-system SkipperRouteGroupVersion:zalando.org/v1 Sources:[ingress] Namespace: AnnotationFilter: LabelFilter: FQDNTemplate: CombineFQDNAndAnnotation:false IgnoreHostnameAnnotation:false IgnoreIngressTLSSpec:false Compatibility: PublishInternal:false PublishHostIP:false AlwaysPublishNotReadyAddresses:false ConnectorSourceServer:localhost:8080 Provider:godaddy GoogleProject: GoogleBatchChangeSize:1000 GoogleBatchChangeInterval:1s DomainFilter:[] ExcludeDomains:[] RegexDomainFilter: RegexDomainExclusion: ZoneNameFilter:[] ZoneIDFilter:[] AlibabaCloudConfigFile:/etc/kubernetes/alibaba-cloud.json AlibabaCloudZoneType: AWSZoneType: AWSZoneTagFilter:[] AWSAssumeRole: AWSBatchChangeSize:1000 AWSBatchChangeInterval:1s AWSEvaluateTargetHealth:true AWSAPIRetries:3 AWSPreferCNAME:false AWSZoneCacheDuration:0s AzureConfigFile:/etc/kubernetes/azure.json AzureResourceGroup: AzureSubscriptionID: AzureUserAssignedIdentityClientID: BluecatConfigFile:/etc/kubernetes/bluecat.json CloudflareProxied:false CloudflareZonesPerPage:50 CoreDNSPrefix:/skydns/ RcodezeroTXTEncrypt:false AkamaiServiceConsumerDomain: AkamaiClientToken: AkamaiClientSecret: AkamaiAccessToken: AkamaiEdgercPath: AkamaiEdgercSection: InfobloxGridHost: InfobloxWapiPort:443 InfobloxWapiUsername:admin InfobloxWapiPassword: InfobloxWapiVersion:2.3.1 InfobloxSSLVerify:true InfobloxView: InfobloxMaxResults:0 DynCustomerName: DynUsername: DynPassword: DynMinTTLSeconds:0 OCIConfigFile:/etc/kubernetes/oci.yaml InMemoryZones:[] OVHEndpoint:ovh-eu OVHApiRateLimit:20 PDNSServer:http://localhost:8081 PDNSAPIKey: PDNSTLSEnabled:false TLSCA: TLSClientCert: TLSClientCertKey: Policy:sync Registry:txt TXTOwnerID:default TXTPrefix: TXTSuffix: Interval:1m0s MinEventSyncInterval:5s Once:false DryRun:false UpdateEvents:false LogFormat:text MetricsAddress::7979 LogLevel:info TXTCacheInterval:0s TXTWildcardReplacement: ExoscaleEndpoint:https://api.exoscale.ch/dns ExoscaleAPIKey: ExoscaleAPISecret: CRDSourceAPIVersion:externaldns.k8s.io/v1alpha1 CRDSourceKind:DNSEndpoint ServiceTypeFilter:[] CFAPIEndpoint: CFUsername: CFPassword: RFC2136Host: RFC2136Port:0 RFC2136Zone: RFC2136Insecure:false RFC2136GSSTSIG:false RFC2136KerberosRealm: RFC2136KerberosUsername: RFC2136KerberosPassword: RFC2136TSIGKeyName: RFC2136TSIGSecret: RFC2136TSIGSecretAlg: RFC2136TAXFR:false RFC2136MinTTL:0s NS1Endpoint: NS1IgnoreSSL:false NS1MinTTLSeconds:0 TransIPAccountName: TransIPPrivateKeyFile: DigitalOceanAPIPageSize:50 ManagedDNSRecordTypes:[A CNAME] GoDaddyAPIKey:****** GoDaddySecretKey:****** GoDaddyTTL:0 GoDaddyOTE:false}"
time="2021-04-15T07:47:34Z" level=info msg="Instantiating new Kubernetes client"
time="2021-04-15T07:47:34Z" level=info msg="Using inCluster-config based on serviceaccount-token"
time="2021-04-15T07:47:34Z" level=info msg="Created Kubernetes client https://172.21.0.1:443"
time="2021-04-15T07:47:40Z" level=info msg="GoDaddy: 1 zones found"
time="2021-04-15T07:47:41Z" level=info msg="GoDaddy: Discard record @ for shubhamtatvamasi.com is @ 3600 IN MX mx1.improvmx.com"
time="2021-04-15T07:47:41Z" level=info msg="GoDaddy: Discard record @ for shubhamtatvamasi.com is @ 3600 IN MX mx2.improvmx.com"
time="2021-04-15T07:47:41Z" level=info msg="GoDaddy: Discard record @ for shubhamtatvamasi.com is @ 3600 IN CAA letsencrypt.org"
time="2021-04-15T07:47:41Z" level=info msg="GoDaddy: 19 endpoints have been found"
time="2021-04-15T07:47:41Z" level=info msg="GoDaddy: 1 zones found"
time="2021-04-15T07:47:41Z" level=info msg="GoDaddy: 2 changes will be done"
time="2021-04-15T07:47:41Z" level=error msg="Error INVALID_BODY: \"Request body doesn't fulfill schema, see details in `fields`\""
Fred78290 commented 3 years ago

"Error INVALID_BODY: \"Request body doesn't fulfill schema, see details infields\"" Have you the remain of this line? Could you also provide the ingress(es) config, to check if the record will be a CNAME or ADDRESS? I see that it try to apply 2 changes, do you confirm that you have 2 ingresses?

Regards

ShubhamTatvamasi commented 3 years ago

I did not add anything, I was trying to add the ingress config below. It was okay when I added but if I delete this or add another one I am getting the error.

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: nginx
  annotations:
    external-dns.alpha.kubernetes.io/hostname: nginx.google.shubhamtatvamasi.com
    external-dns.alpha.kubernetes.io/ttl: "600"
    cert-manager.io/cluster-issuer: letsencrypt
spec:
  tls:
  - hosts:
      - nginx.google.shubhamtatvamasi.com
    secretName: nginx-tls
  rules:
  - host: nginx.google.shubhamtatvamasi.com
    http:
      paths:
      - path: /
        pathType: Prefix
        backend:
          service:
            name: nginx
            port:
              number: 80
Fred78290 commented 3 years ago

Hum, I think that you try to add a host in a fake subdomain "google.shubhamtatvamasi.com" instead a main domain "shubhamtatvamasi.com" hosted by godaddy. I had never test this case.

So, to help me find the problem, could you change the log level in full debug and catch the record sent to Godaddy. Regards

ShubhamTatvamasi commented 3 years ago

Today when I added new ingress for nginx.google.shubhamtatvamasi.com it successfully updated on Godaddy. But when I changed it to nginx.aws.shubhamtatvamasi.com I get the following error:

time="2021-04-16T05:06:44Z" level=debug msg="GoDaddy: shubhamtatvamasi.com zone found"
time="2021-04-16T05:06:44Z" level=info msg="GoDaddy: 1 zones found"
time="2021-04-16T05:06:44Z" level=debug msg="GoDaddy: Getting records for shubhamtatvamasi.com"
time="2021-04-16T05:06:44Z" level=debug msg="GoDaddy: Record @ for shubhamtatvamasi.com is @ 3600 IN A 185.199.108.153"
time="2021-04-16T05:06:44Z" level=debug msg="GoDaddy: Record @ for shubhamtatvamasi.com is @ 3600 IN A 185.199.109.153"
time="2021-04-16T05:06:44Z" level=debug msg="GoDaddy: Record @ for shubhamtatvamasi.com is @ 3600 IN A 185.199.110.153"
time="2021-04-16T05:06:44Z" level=debug msg="GoDaddy: Record @ for shubhamtatvamasi.com is @ 3600 IN A 185.199.111.153"
time="2021-04-16T05:06:44Z" level=debug msg="GoDaddy: Record *.ingress.magma for shubhamtatvamasi.com is *.ingress.magma 600 IN A 23.19.119.240"
time="2021-04-16T05:06:44Z" level=debug msg="GoDaddy: Record *.k8s for shubhamtatvamasi.com is *.k8s 600 IN A 169.57.50.236"
time="2021-04-16T05:06:44Z" level=debug msg="GoDaddy: Record *.nms.magma for shubhamtatvamasi.com is *.nms.magma 600 IN A 23.19.114.236"
time="2021-04-16T05:06:44Z" level=debug msg="GoDaddy: Record api.magma for shubhamtatvamasi.com is api.magma 600 IN A 23.19.114.239"
time="2021-04-16T05:06:44Z" level=debug msg="GoDaddy: Record bootstrapper-controller.magma for shubhamtatvamasi.com is bootstrapper-controller.magma 600 IN A 23.19.114.238"
time="2021-04-16T05:06:44Z" level=debug msg="GoDaddy: Record controller.magma for shubhamtatvamasi.com is controller.magma 600 IN A 23.19.114.237"
time="2021-04-16T05:06:44Z" level=debug msg="GoDaddy: Record fluentd.magma for shubhamtatvamasi.com is fluentd.magma 600 IN A 23.82.137.71"
time="2021-04-16T05:06:44Z" level=debug msg="GoDaddy: Record k8s for shubhamtatvamasi.com is k8s 600 IN A 169.57.50.236"
time="2021-04-16T05:06:44Z" level=debug msg="GoDaddy: Record magma for shubhamtatvamasi.com is magma 600 IN A 23.82.137.71"
time="2021-04-16T05:06:44Z" level=debug msg="GoDaddy: Record nginx.google for shubhamtatvamasi.com is nginx.google 600 IN A 169.57.50.236"
time="2021-04-16T05:06:44Z" level=debug msg="GoDaddy: Record @ for shubhamtatvamasi.com is @ 3600 IN NS ns31.domaincontrol.com"
time="2021-04-16T05:06:44Z" level=debug msg="GoDaddy: Record @ for shubhamtatvamasi.com is @ 3600 IN NS ns32.domaincontrol.com"
time="2021-04-16T05:06:44Z" level=debug msg="GoDaddy: Record www for shubhamtatvamasi.com is www 3600 IN CNAME @"
time="2021-04-16T05:06:44Z" level=info msg="GoDaddy: Discard record @ for shubhamtatvamasi.com is @ 3600 IN MX mx1.improvmx.com"
time="2021-04-16T05:06:44Z" level=info msg="GoDaddy: Discard record @ for shubhamtatvamasi.com is @ 3600 IN MX mx2.improvmx.com"
time="2021-04-16T05:06:44Z" level=debug msg="GoDaddy: Record nginx.google for shubhamtatvamasi.com is nginx.google 600 IN TXT \"heritage=external-dns,external-dns/owner=default,external-dns/resource=ingress/default/nginx\""
time="2021-04-16T05:06:44Z" level=debug msg="GoDaddy: Record nginx.superman for shubhamtatvamasi.com is nginx.superman 600 IN TXT \"heritage=external-dns,external-dns/owner=default,external-dns/resource=ingress/default/nginx\""
time="2021-04-16T05:06:44Z" level=debug msg="GoDaddy: Record _acme-challenge for shubhamtatvamasi.com is _acme-challenge 600 IN TXT "
time="2021-04-16T05:06:44Z" level=debug msg="GoDaddy: Record _acme-challenge.k8s for shubhamtatvamasi.com is _acme-challenge.k8s 600 IN TXT "
time="2021-04-16T05:06:44Z" level=debug msg="GoDaddy: Record _acme-challenge.magma for shubhamtatvamasi.com is _acme-challenge.magma 600 IN TXT "
time="2021-04-16T05:06:44Z" level=debug msg="GoDaddy: Record _acme-challenge.nms.magma for shubhamtatvamasi.com is _acme-challenge.nms.magma 600 IN TXT "
time="2021-04-16T05:06:44Z" level=info msg="GoDaddy: Discard record @ for shubhamtatvamasi.com is @ 3600 IN CAA letsencrypt.org"
time="2021-04-16T05:06:44Z" level=info msg="GoDaddy: 19 endpoints have been found"
time="2021-04-16T05:06:44Z" level=debug msg="Endpoints generated from ingress: default/nginx: [nginx.aws.shubhamtatvamasi.com 600 IN A  169.57.50.236 [] nginx.aws.shubhamtatvamasi.com 600 IN A  169.57.50.236 [] nginx.aws.shubhamtatvamasi.com 600 IN A  169.57.50.236 []]"
time="2021-04-16T05:06:44Z" level=debug msg="Endpoints generated from ingress: default/cm-acme-http-solver-4j858: [nginx.aws.shubhamtatvamasi.com 0 IN A  169.57.50.236 []]"
time="2021-04-16T05:06:44Z" level=debug msg="Removing duplicate endpoint nginx.aws.shubhamtatvamasi.com 600 IN A  169.57.50.236 []"
time="2021-04-16T05:06:44Z" level=debug msg="Removing duplicate endpoint nginx.aws.shubhamtatvamasi.com 600 IN A  169.57.50.236 []"
time="2021-04-16T05:06:44Z" level=debug msg="Removing duplicate endpoint nginx.aws.shubhamtatvamasi.com 0 IN A  169.57.50.236 []"
time="2021-04-16T05:06:44Z" level=debug msg="Skipping endpoint www.shubhamtatvamasi.com 3600 IN CNAME  @ [] because owner id does not match, found: \"\", required: \"default\""
time="2021-04-16T05:06:44Z" level=debug msg="Skipping endpoint *.k8s.shubhamtatvamasi.com 600 IN A  169.57.50.236 [] because owner id does not match, found: \"\", required: \"default\""
time="2021-04-16T05:06:44Z" level=debug msg="Skipping endpoint controller.magma.shubhamtatvamasi.com 600 IN A  23.19.114.237 [] because owner id does not match, found: \"\", required: \"default\""
time="2021-04-16T05:06:44Z" level=debug msg="Skipping endpoint *.nms.magma.shubhamtatvamasi.com 600 IN A  23.19.114.236 [] because owner id does not match, found: \"\", required: \"default\""
time="2021-04-16T05:06:44Z" level=debug msg="Skipping endpoint bootstrapper-controller.magma.shubhamtatvamasi.com 600 IN A  23.19.114.238 [] because owner id does not match, found: \"\", required: \"default\""
time="2021-04-16T05:06:44Z" level=debug msg="Skipping endpoint api.magma.shubhamtatvamasi.com 600 IN A  23.19.114.239 [] because owner id does not match, found: \"\", required: \"default\""
time="2021-04-16T05:06:44Z" level=debug msg="Skipping endpoint fluentd.magma.shubhamtatvamasi.com 600 IN A  23.82.137.71 [] because owner id does not match, found: \"\", required: \"default\""
time="2021-04-16T05:06:44Z" level=debug msg="Skipping endpoint k8s.shubhamtatvamasi.com 600 IN A  169.57.50.236 [] because owner id does not match, found: \"\", required: \"default\""
time="2021-04-16T05:06:44Z" level=debug msg="Skipping endpoint magma.shubhamtatvamasi.com 600 IN A  23.82.137.71 [] because owner id does not match, found: \"\", required: \"default\""
time="2021-04-16T05:06:44Z" level=debug msg="Skipping endpoint shubhamtatvamasi.com 3600 IN A  185.199.108.153;185.199.109.153;185.199.110.153;185.199.111.153 [] because owner id does not match, found: \"\", required: \"default\""
time="2021-04-16T05:06:44Z" level=debug msg="Skipping endpoint *.ingress.magma.shubhamtatvamasi.com 600 IN A  23.19.119.240 [] because owner id does not match, found: \"\", required: \"default\""
time="2021-04-16T05:06:45Z" level=debug msg="GoDaddy: shubhamtatvamasi.com zone found"
time="2021-04-16T05:06:45Z" level=info msg="GoDaddy: 1 zones found"
time="2021-04-16T05:06:45Z" level=debug msg="GoDaddy: Getting records for shubhamtatvamasi.com"
time="2021-04-16T05:06:45Z" level=info msg="GoDaddy: 4 changes will be done"
time="2021-04-16T05:06:45Z" level=debug msg="GoDaddy: Add an entry nginx.aws 600 IN A 169.57.50.236 to zone shubhamtatvamasi.com"
time="2021-04-16T05:06:45Z" level=debug msg="GoDaddy: Add an entry nginx.aws 600 IN TXT \"heritage=external-dns,external-dns/owner=default,external-dns/resource=ingress/default/nginx\" to zone shubhamtatvamasi.com"
time="2021-04-16T05:06:45Z" level=debug msg="GoDaddy: Delete an entry nginx.google 600 IN A 169.57.50.236 to zone shubhamtatvamasi.com"
time="2021-04-16T05:06:45Z" level=debug msg="GoDaddy: Delete an entry nginx.google 600 IN TXT \"heritage=external-dns,external-dns/owner=default,external-dns/resource=ingress/default/nginx\" to zone shubhamtatvamasi.com"
time="2021-04-16T05:06:45Z" level=error msg="Error INVALID_BODY: \"Request body doesn't fulfill schema, see details in `fields`\""
ShubhamTatvamasi commented 3 years ago

I think it's mostly getting errors when there is an entry that needs to be deleted.

Fred78290 commented 3 years ago

If I resume:

  1. You created a first ingress with host: nginx.aws.shubhamtatvamasi.com, it worked
  2. You try to add a second ingress with host: nginx.google.shubhamtatvamasi.com, it failed
  3. You try to delete the second ingress, it failed also.

OK, I'll check soon this workflow.

Regards

ShubhamTatvamasi commented 3 years ago
  1. Created ingress with host: nginx.google.shubhamtatvamasi.com, it worked.
  2. Deleted host: nginx.google.shubhamtatvamasi.com, it failed.
  3. Created host: nginx.aws.shubhamtatvamasi.com, it failed.
Fred78290 commented 3 years ago

Well I can't reproduce the error on my account.

To help me more, can you provide theses informations 1 - DNS zone issued with the command curl as above, send me thru mail if you want by hdding sensitive datas. I think that you got a empty data in your DNS Zone during your test and go daddy doesn't support missing Data field.

curl -s -H 'Content-Type: application/json' -H "Accept: application/json" \ -H "Authorization: sso-key $GODADDY_API_KEY:$GODADDY_API_SECRET" \ "$GODADDY_URL/v1/domains/shubhamtatvamasi.com/records" | jq .

2 - Command line argument passed to external-dns 3 - The result of kubectl get ingress --n <namespace> -o wide

Due in fact that Godaddy doesn't provide a DELETE api to remove a DNS entry, the method used to delete a DNS entry is: retrieve all DNS entries, remove desired entry from the result and do a PUT api to update the DNS zone. So if you have an unexpected field, the PUT api will reject all.

If you are blocked and in emergency case, You need to delete the ingress and clean your zone manually (2 records to delete A & TXT) and retry again

Regards

ShubhamTatvamasi commented 3 years ago
  1. curl output:

    [
    {
    "data": "185.199.108.153",
    "name": "@",
    "ttl": 3600,
    "type": "A"
    },
    {
    "data": "185.199.109.153",
    "name": "@",
    "ttl": 3600,
    "type": "A"
    },
    {
    "data": "185.199.110.153",
    "name": "@",
    "ttl": 3600,
    "type": "A"
    },
    {
    "data": "185.199.111.153",
    "name": "@",
    "ttl": 3600,
    "type": "A"
    },
    {
    "data": "23.19.119.240",
    "name": "*.ingress.magma",
    "ttl": 600,
    "type": "A"
    },
    {
    "data": "169.57.50.236",
    "name": "*.k8s",
    "ttl": 600,
    "type": "A"
    },
    {
    "data": "23.19.114.236",
    "name": "*.nms.magma",
    "ttl": 600,
    "type": "A"
    },
    {
    "data": "23.19.114.239",
    "name": "api.magma",
    "ttl": 600,
    "type": "A"
    },
    {
    "data": "23.19.114.238",
    "name": "bootstrapper-controller.magma",
    "ttl": 600,
    "type": "A"
    },
    {
    "data": "23.19.114.237",
    "name": "controller.magma",
    "ttl": 600,
    "type": "A"
    },
    {
    "data": "23.82.137.71",
    "name": "fluentd.magma",
    "ttl": 600,
    "type": "A"
    },
    {
    "data": "169.57.50.236",
    "name": "k8s",
    "ttl": 600,
    "type": "A"
    },
    {
    "data": "23.82.137.71",
    "name": "magma",
    "ttl": 600,
    "type": "A"
    },
    {
    "data": "169.57.50.236",
    "name": "nginx.google",
    "ttl": 600,
    "type": "A"
    },
    {
    "data": "ns31.domaincontrol.com",
    "name": "@",
    "ttl": 3600,
    "type": "NS"
    },
    {
    "data": "ns32.domaincontrol.com",
    "name": "@",
    "ttl": 3600,
    "type": "NS"
    },
    {
    "data": "@",
    "name": "www",
    "ttl": 3600,
    "type": "CNAME"
    },
    {
    "data": "mx1.improvmx.com",
    "name": "@",
    "priority": 10,
    "ttl": 3600,
    "type": "MX"
    },
    {
    "data": "mx2.improvmx.com",
    "name": "@",
    "priority": 20,
    "ttl": 3600,
    "type": "MX"
    },
    {
    "data": "\"heritage=external-dns,external-dns/owner=default,external-dns/resource=ingress/default/nginx\"",
    "name": "nginx.google",
    "ttl": 600,
    "type": "TXT"
    },
    {
    "data": "letsencrypt.org",
    "name": "@",
    "ttl": 3600,
    "type": "CAA"
    }
    ]
  2. Command line argument

    - '--source=ingress'
    - '--provider=godaddy'
    - '--godaddy-api-key=xxxxxxxxxxxxxxxxxxxxxxxxx'
    - '--godaddy-api-secret=xxxxxxxxxxxxxxxxxxxxxx'
    - '--log-level=debug'
  3. ingress value

    
    NAME    CLASS    HOSTS                               ADDRESS         PORTS     AGE
    nginx   <none>   nginx.google.shubhamtatvamasi.com   169.57.50.236   80, 443   5s
ShubhamTatvamasi commented 3 years ago

get a specific record:

curl -s \
  -H "Authorization: sso-key $GODADDY_API_KEY:$GODADDY_API_SECRET" \
  "https://api.godaddy.com/v1/domains/shubhamtatvamasi.com/records/A/nginx.google" | jq

delete a specific record:

curl -s \
  -X "DELETE" \
  -H "Authorization: sso-key $GODADDY_API_KEY:$GODADDY_API_SECRET" \
  "https://api.godaddy.com/v1/domains/shubhamtatvamasi.com/records/A/nginx.google"
Fred78290 commented 3 years ago

Add argument to command line: --ignore-ingress-tls-spec

It's a recent new feature and working now and I'll implement it asap!

curl -s \
  -X "DELETE" \
  -H "Authorization: sso-key $GODADDY_API_KEY:$GODADDY_API_SECRET" \
  "https://api.godaddy.com/v1/domains/shubhamtatvamasi.com/records/A/nginx.google"

Unfortunately, godaddy's api does not provide the endpoint for deleting a single domain record in a single call. So you will have to

Submitted solution in aug 2020

Regards

ShubhamTatvamasi commented 3 years ago

Hi @Fred78290, how's the work going on the delete feature?

Fred78290 commented 3 years ago

Hello, not yet, some overload...

Did you tried again with the argument: --ignore-ingress-tls-spec normally it will solve the problem.

Regards

ShubhamTatvamasi commented 3 years ago

I did, but the error remains.

Fred78290 commented 3 years ago

@ShubhamTatvamasi

Hello,

Back again on this issue. I have implemented the delete API. An image for testing is available here: fred78290/external-dns:v0.8.0-godaddy.

Could you try it and tell if everything is fixed before my PR.

Regards

ShubhamTatvamasi commented 3 years ago

Have you built any docker image for the same?

Fred78290 commented 3 years ago

I have just built an image with latest version of external-dns frommaster branch amd64 only and changed my code to use the new delete API to delete dns record.

ShubhamTatvamasi commented 3 years ago

Just tested this. Working perfectly now. Thanks @Fred78290

Fred78290 commented 3 years ago

Happy to ear it.

Thank you very much.

ShubhamTatvamasi commented 3 years ago

I have one question. When I used this ingress config it has created two A records for the following:

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: nginx
  annotations:
    external-dns.alpha.kubernetes.io/hostname: new.nginx.google.shubhamtatvamasi.com
spec:
  rules:
  - host: nginx.google.shubhamtatvamasi.com
    http:
      paths:
      - path: /
        pathType: Prefix
        backend:
          service:
            name: nginx
            port:
              number: 80

should I use same value for host and external-dns.alpha.kubernetes.io/hostname ?

Fred78290 commented 3 years ago

Hello, to avoid this problem, you can pass the command line argument: ignore-hostname-annotation. This problem doesn't concern the godaddy provider but the external-dns software itself.