external-dns | Configure external DNS servers ( AWS Route53 | DNS library
kandi X-RAY | external-dns Summary
kandi X-RAY | external-dns Summary
Configure external DNS servers (AWS Route53, Google CloudDNS and others) for Kubernetes Ingresses and Services
Support
Quality
Security
License
Reuse
Top functions reviewed by kandi - BETA
Currently covering the most popular Java, JavaScript and Python libraries. See a Sample of external-dns
external-dns Key Features
external-dns Examples and Code Snippets
Community Discussions
Trending Discussions on external-dns
QUESTION
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:13Update |=
the .Changes
array by adding to its first
item's ResourceRecordSet
field the second file's array items input[]
:
QUESTION
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:00From 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:
QUESTION
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:43Okay, got the answer. First as documented in the external-dns documentation, run the command:
QUESTION
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:58You 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.
QUESTION
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:11The 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.
QUESTION
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:55Unfortunately 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.
QUESTION
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:41So 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:
QUESTION
I've got this problem when using terraform helm_release
provider:
ANSWER
Answered 2021-Oct-18 at 11:15Change it to external-dns
rather than external-dns/external-dns
.
QUESTION
Currently struggling writing a Terraform module to deploy a Helm chart, I was getting:
...ANSWER
Answered 2021-Aug-10 at 08:57in 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
QUESTION
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:06After reading this: https://linkerd.io/2.10/tasks/using-ingress/ I discovered you need to modify your ingress controller with a special annotation:
Community Discussions, Code Snippets contain sources that include Stack Exchange Network
Vulnerabilities
No vulnerabilities reported
Install external-dns
Support
Reuse Trending Solutions
Find, review, and download reusable Libraries, Code Snippets, Cloud APIs from over 650 million Knowledge Items
Find more librariesStay Updated
Subscribe to our newsletter for trending solutions and developer bootcamps
Share this Page