external-dns | Configure external DNS servers ( AWS Route53 | DNS library

 by   kubernetes-sigs Go Version: external-dns-helm-chart-1.13.0 License: Apache-2.0

kandi X-RAY | external-dns Summary

kandi X-RAY | external-dns Summary

external-dns is a Go library typically used in Networking, DNS applications. external-dns has no bugs, it has no vulnerabilities, it has a Permissive License and it has medium support. You can download it from GitHub.

Configure external DNS servers (AWS Route53, Google CloudDNS and others) for Kubernetes Ingresses and Services
Support
    Quality
      Security
        License
          Reuse

            kandi-support Support

              external-dns has a medium active ecosystem.
              It has 6396 star(s) with 2313 fork(s). There are 108 watchers for this library.
              There were 2 major release(s) in the last 12 months.
              There are 141 open issues and 1463 have been closed. On average issues are closed in 273 days. There are 89 open pull requests and 0 closed requests.
              It has a neutral sentiment in the developer community.
              The latest version of external-dns is external-dns-helm-chart-1.13.0

            kandi-Quality Quality

              external-dns has 0 bugs and 0 code smells.

            kandi-Security Security

              external-dns has no vulnerabilities reported, and its dependent libraries have no vulnerabilities reported.
              external-dns code analysis shows 0 unresolved vulnerabilities.
              There are 0 security hotspots that need review.

            kandi-License License

              external-dns is licensed under the Apache-2.0 License. This license is Permissive.
              Permissive licenses have the least restrictions, and you can use them in most projects.

            kandi-Reuse Reuse

              external-dns releases are available to install and integrate.
              Installation instructions are not available. Examples and code snippets are available.
              It has 69107 lines of code, 2814 functions and 164 files.
              It has low code complexity. Code complexity directly impacts maintainability of the code.

            Top functions reviewed by kandi - BETA

            kandi's functional review helps you automatically verify the functionalities of the libraries and avoid rework.
            Currently covering the most popular Java, JavaScript and Python libraries. See a Sample of external-dns
            Get all kandi verified functions for this library.

            external-dns Key Features

            No Key Features are available at this moment for external-dns.

            external-dns Examples and Code Snippets

            No Code Snippets are available at this moment for external-dns.

            Community Discussions

            QUESTION

            How do I add JSON array entries into a JSON object using jq?
            Asked 2022-Mar-21 at 11:13

            I am writing a script that is meant to clean up Route53 records, so I want to add entries in an array to a JSON object as below

            outer.json

            ...

            ANSWER

            Answered 2022-Mar-21 at 11:13

            Update |= the .Changes array by adding to its first item's ResourceRecordSet field the second file's array items input[]:

            Source https://stackoverflow.com/questions/71556455

            QUESTION

            How to use Ingress Nginx Controller to route traffic to private pods Internally
            Asked 2022-Feb-18 at 19:00

            Problem: I am currently using ingress-nginx in my EKS cluster to route traffic to services that need public access.

            My use case: I have services I want to deploy in the same cluster but don't want them to have public access. I only want the pods to communicate will all other services within the cluster. Those pods are meant to be private because they're backend services and only need pod-to-pod communication. How do I modify my ingress resource for this purpose?

            Cluster Architecture: All services are in the private subnets of the cluster while the load-balancer is in the public subnets

            Additional note: I am using external-dns to dynamically create the subdomains for the hosted zones. The hosted zone is public

            Thanks

            Below are my service.yml and ingress.yml for public services. I want to modify these files for private services

            service.yml

            ...

            ANSWER

            Answered 2022-Feb-18 at 19:00

            From this what you have the Ingress already should work and your services are meant to be private(if you set like this in your public cloud cluster), except the Ingress itself. You can update the ConfigMap to use the PROXY protocol so that you can pass proxy information to the Ingress Controller:

            Source https://stackoverflow.com/questions/70917854

            QUESTION

            using shared external domain with AWS EKS Route53
            Asked 2022-Jan-18 at 15:43

            I'm following https://github.com/kubernetes-sigs/external-dns/blob/master/docs/tutorials/aws.md to setup AWS EKS cluster and managed to successfully setup cluster and a test nginx service running.

            My domain is configured on Cloudflare and is used for different things i.e. domain.com lands static website, api.domain.com, app.domain.com, xyz.domain.com all are currently pointing to an IP address (LoadBalancer) on DigitalOcean Kubernetes that then handles everything and serves api and other requests accordingly.

            How can I point multiple sub-domains to AWS using IP or some other way. Do I need to deploy external-dns multiple times (per sub domain)? or can I just deploy it once and use that for all sub domains? The problem here is part of external-dns config is to mention Route 53 ZoneID that is currently a subdomain

            ...

            ANSWER

            Answered 2022-Jan-18 at 15:43

            Okay, got the answer. First as documented in the external-dns documentation, run the command:

            Source https://stackoverflow.com/questions/70620788

            QUESTION

            How do I configure external-dns to create A Record, not CNAME
            Asked 2022-Jan-03 at 16:48

            I am following Linode's tutorials on using helm to deploy to Linode Kubernetes Engine (LKE) and I have reached the section on configuring external DNS which uses bitnami's external-dns package to configure a domain on Linode's DNS servers.

            When I try to annotate my service, using exactly the same command as in the video, it results in a CNAME alias and no A/TXT Records.

            The logs from the external-dns show

            time="2022-01-01T14:45:10Z" level=info msg="Creating record." action=Create record=juicy type=CNAME zoneID=1770931 zoneName=mydomain.com

            time="2022-01-01T14:45:11Z" level=info msg="Creating record." action=Create > record=juicy type=TXT zoneID=1770931 zoneName=mydomain.com

            time="2022-01-01T14:45:11Z" level=error msg="Failed to Create record: [400] [name] Record conflict - CNAMES must be unique" action=Create record=juicy type=TXT zoneID=1770931 zoneName=mydomain.com

            These logs imply that external-dns is first creating a CNAME record (which isn't required/wanted at all) and then attempting to create a TXT record which uses the same hostname as the newly-created CNAME, which obviously isn't allowed. And it is clearly not attempting to create the A Record at all.

            I would really appreciate any info about why this might be happening and what I can do to correct it. For clarity, the desired result is one A Record and one TXT Record, both with the hostname 'juicy'

            ...

            ANSWER

            Answered 2022-Jan-01 at 17:58

            You can create the A record in route-53 i am not sure you are on which cloud or so.

            in document search for aws.preferCNAME you can see in deployment that's where changes need to be configured.

            External DNS will create the A record also please check your deployment configuration.

            Source https://stackoverflow.com/questions/70550433

            QUESTION

            Use Servicemonitor to check services via external hostname
            Asked 2021-Dec-09 at 08:11

            We have a setup with external-DNS to create and bind dns entries based on service annotations.

            For example we have a service for the alertmanager like this:

            ...

            ANSWER

            Answered 2021-Dec-09 at 08:11

            The service has label prometheus-monitor-https: 'true', while the ServiceMonitor has a selector.matchLabels of prometheus-monitor-https: any.

            If you change this such that the selector.matchLabels of the ServiceMonitor equals prometheus-monitor-https: 'true', then I think it should work. The matchLabels looks for expected matches of the label key, value pair.

            Also I see that you wrote namespaceSelector is any: true. It is good to know that the namespaceSelector works in a different way. It expects the labels of the namespace it should find the resource in. In your case it will look for a namespace that has the label any: true. But I think you actually want to select all namespaces, which is equal to not specifying a namespaceSelector at all.

            Source https://stackoverflow.com/questions/70278726

            QUESTION

            EKS Ingress with Single ALB, multiple namespaces, and External DNS
            Asked 2021-Nov-16 at 19:58

            I'm trying to configure a single ALB across multiple namespaces in aws EKS, each namespace has its own ingress resource.

            I'm trying to configure the ingress controller aws-loadbalancer-controller on a k8s v1.20.

            The problem i'm facing is that each time I try to deploy a new service it always spin-up a new classic loadbalancer in addition to the shared ALB specified in the ingress config.

            https://kubernetes-sigs.github.io/aws-load-balancer-controller/v2.2/

            ...

            ANSWER

            Answered 2021-Sep-22 at 19:55

            Unfortunately the tool being used for your usecase is wrong. AWS Load Balancer Controller will create a new load balancer for every ingress resource and I think, it makes a network load balancer for every service resource.

            For your use-case, the best option is to use nginx ingress controller. You can deploy the nginx ingress controller in any 1 namespace and then create ingress resources throughout your cluster and you can have path/hostname based routing across your cluster.

            In case you have many teams/projects/applications and you want to avoid a single point of failure where all your apps depend on 1 ELB, you can deploy more than 1 nginx ingress controller in your k8s cluster.

            You just need to define a ingress-class variable in your nginx ingress controller deployment and add that ingress-class annotation on your applications. This way, applications having ingress-class:nginxA annotation will be clustered with the nginx ingress controller that has ingress-class=nginxA in its deployment.

            Source https://stackoverflow.com/questions/69277420

            QUESTION

            multiple ingress-nginx in kubernetes not validating webhook not working
            Asked 2021-Nov-05 at 15:41

            As stated in the title, I currently have a configuration with 2 ingress-nginx v1.0.0 on gke v1.20.10.

            When I deploy one alone the configuration is working and I have no issue, but when I deploy the second one the validatingwebhook and then try to deploy an ingress the 2 validatingwebhook try to evaluate the newly created ingress.

            This result in this error:

            ...

            ANSWER

            Answered 2021-Nov-05 at 15:41

            So for those that may encounter this error.

            I tried different things before finding what was wrong. You have to rename all the labels but the version of the ingress-nginx, I did not think that it would break for so little, but it does. In the end I'm using something like this:

            Source https://stackoverflow.com/questions/69842518

            QUESTION

            Terraform: helm chart not found in repo but work in cli
            Asked 2021-Oct-18 at 11:15

            I've got this problem when using terraform helm_release provider:

            ...

            ANSWER

            Answered 2021-Oct-18 at 11:15

            Change it to external-dns rather than external-dns/external-dns.

            Source https://stackoverflow.com/questions/69610032

            QUESTION

            Why are the double slash in this parameter definition on Terraform required?
            Asked 2021-Aug-10 at 08:57

            Currently struggling writing a Terraform module to deploy a Helm chart, I was getting:

            ...

            ANSWER

            Answered 2021-Aug-10 at 08:57

            in name = "serviceAccount.annotations.eks\\.amazonaws\\.com/role-arn" you want to define 3 groups, that are separated by dots:

            serviceAccount -> annotations -> eks.amazonaws.com/role-arn

            Since your third group happens to contain dots, you successfully found out that you must escape the dot characters in order to preserve proper structure.

            Without escaping, the string would somehow mean

            serviceAccount -> annotations -> eks -> amazonaws-> com/role-arn, which makes no sense here

            Source https://stackoverflow.com/questions/68722570

            QUESTION

            Canary rollouts with linkerd and argo rollouts
            Asked 2021-Jun-03 at 13:14

            I'm trying to configure a canary rollout for a demo, but I'm having trouble getting the traffic splitting to work with linkerd. The funny part is I was able to get this working with istio and i find istio to be much more complicated then linkerd.

            I have a basic go-lang service define like this:

            ...

            ANSWER

            Answered 2021-Jun-03 at 05:06

            After reading this: https://linkerd.io/2.10/tasks/using-ingress/ I discovered you need to modify your ingress controller with a special annotation:

            Source https://stackoverflow.com/questions/67813550

            Community Discussions, Code Snippets contain sources that include Stack Exchange Network

            Vulnerabilities

            No vulnerabilities reported

            Install external-dns

            You can download it from GitHub.

            Support

            Are you interested in contributing to external-dns? We, the maintainers and community, would love your suggestions, contributions, and help! Also, the maintainers can be contacted at any time to learn more about how to get involved.
            Find more information at:

            Find, review, and download reusable Libraries, Code Snippets, Cloud APIs from over 650 million Knowledge Items

            Find more libraries

            Stay Updated

            Subscribe to our newsletter for trending solutions and developer bootcamps

            Agree to Sign up and Terms & Conditions

            Share this Page

            share link

            Explore Related Topics

            Consider Popular DNS Libraries

            AdGuardHome

            by AdguardTeam

            coredns

            by coredns

            sealos

            by fanux

            sshuttle

            by sshuttle

            dns

            by miekg

            Try Top Libraries by kubernetes-sigs

            kind

            by kubernetes-sigsGo

            kustomize

            by kubernetes-sigsGo

            kubebuilder

            by kubernetes-sigsGo

            krew

            by kubernetes-sigsGo

            metrics-server

            by kubernetes-sigsGo