Commit Graph

53 Commits

Author SHA1 Message Date
Rajat Jindal
a3dc3e8579 add documentation for aws health check id 2020-09-29 15:11:12 +05:30
Benjamin Pineau
837d1ea248 aws: cache zones list
When it syncs AWS DNS with k8s cluster content (at `--interval`), external-dns submits two distinct Route53 API calls:
* to fetch available zones (eg. for tag based zones discovery, or when zones are created after exernal-dns started),
* to fetch relevant zones' resource records.

Each call taxes the Route53 APIs calls budget (5 API calls per second per AWS account/region hard limit), increasing the probability of being throttled.
Changing synchronization interval would mitigate those calls' impact, but at the cost of keeping stale records for a longer time.

For most practical uses cases, zones list aren't expected to change frequently.
Even less so when external-dns is provided an explicit, static zones set (`--zone-id-filter` rather than `--aws-zone-tags`).

Using a zones list cache halves the number of Route53 read API calls.
2020-09-03 13:03:07 +02:00
Sean Malloy
b349103de7 Update Documentation with Updated Registry Location
The k8s external-dns project now uses the official Kubernetes projects
container registry at k8s.gcr.io. Update all references to use the new
registry.
2020-08-21 16:28:57 -05:00
David Dooling
cd750c95ea
Update apiVersions in docs (#1690)
* Update apiVersions in docs

Update docs to reflect new apiVersions for ingresses and deployments.

* Add selector to apps/v1 deployments
2020-08-05 00:44:28 -07:00
Raffaele Di Fazio
7505f29e4c
Remove occurrences of "master" from the project (#1636)
* intial removal of inappropriate terminology

Signed-off-by: Raffaele Di Fazio <raffo@github.com>

* removed other occurrences

Signed-off-by: Raffaele Di Fazio <raffo@github.com>

* gofmt

Signed-off-by: Raffaele Di Fazio <raffo@github.com>

* addresses comment

Signed-off-by: Raffaele Di Fazio <raffo@github.com>

* gofmt

Signed-off-by: Raffaele Di Fazio <raffo@github.com>
2020-07-08 01:13:08 -07:00
Alfred Krohmer
65208db6ec Address review comments 2020-02-18 20:18:56 +01:00
Alfred Krohmer
c91eae9d2f Update documentation to include RBAC permissions for endpoints resources 2020-02-18 19:43:41 +01:00
Michael S. Fischer
c1ebc7726f Update AWS documentation
Using EC2 Instance Roles to provide Route 53 permissions is overly
permissive and dangerous.  Emphasize using alternatives such
as EKS IAM Roles for Service Accounts, kiam, or kube2iam that
limit access to the ExternalDNS pod.
2020-01-18 16:45:49 -06:00
Martin Linkhorst
b78d472940
Merge branch 'master' into docs_apps/v1_deployment 2020-01-07 14:51:20 +01:00
Martin Linkhorst
ad54d4cad2 docs: switch apiVersion of Ingress to networking 2020-01-07 14:42:47 +01:00
Nick Jüttner
9418e3acd8
Merge pull request #1008 from devkid/feature/aws-routing-policies
[RFC] Add support for all AWS Route53 routing policies; add additional Setldentifier abstraction layer
2019-11-19 11:21:12 +01:00
Kubernetes Prow Robot
d02b4d11ab
Merge pull request #1268 from yujunz/tutorial/aws
Fix tutorial for kubernetes 1.16+
2019-11-12 04:06:06 -08:00
Yujun Zhang
4eb3da327c Fix tutorial for kubernetes 1.16+
`Deployment` has been removed from `apiVersion: extensions/v1beta1`

See https://kubernetes.io/blog/2019/07/18/api-deprecations-in-1-16/
2019-11-12 13:50:31 +08:00
Piotr Jander
36a8ec987a
Update aws.md 2019-10-18 13:51:27 +02:00
Zoltán Reegn
aff20c1ff7 docs: use apps/v1 instead of extensions/v1beta1 in Deployment examples
The extensions/v1beta1 API is deprecated for Deployment and with 1.16 is
not served by default anymore. This breaks the examples on k8s 1.16.

See this blog post for details on the deprecations:

https://kubernetes.io/blog/2019/07/18/api-deprecations-in-1-16/
2019-10-15 22:33:11 +02:00
David Grizzanti
c4db4af310 Propose a few doc changes to make the use of namespace more clear 2019-10-08 09:54:59 -04:00
Brian Hong
c97781a49d
Fix AWS IAM Roles for Service Accounts permission
Amazon EKS supports IAM Roles for Service Accounts. It mounts tokens
files to `/var/run/secrets/eks.amazonaws.com/serviceaccount/token`.
Unfortunately, external-dns runs as 'nobody' so it cannot access this
file. External DNS is then unable to make any AWS API calls to work:

```
time="2019-09-11T07:31:53Z" level=error msg="WebIdentityErr: unable to read file at /var/run/secrets/eks.amazonaws.com/serviceaccount/token\ncaused by: open /var/run/secrets/eks.amazonaws.com/serviceaccount/token: permission denied"
```

See: https://docs.aws.amazon.com/eks/latest/userguide/iam-roles-for-service-accounts-technical-overview.html

Below are the file permissions mounted on External DNS pod:

```
~ $ ls -al /var/run/secrets/eks.amazonaws.com/serviceaccount/
total 0
drwxrwxrwt    3 root     root           100 Sep 11 06:40 .
drwxr-xr-x    3 root     root            28 Sep 11 06:40 ..
drwxr-xr-x    2 root     root            60 Sep 11 06:40 ..2019_09_11_06_40_49.865776187
lrwxrwxrwx    1 root     root            31 Sep 11 06:40 ..data -> ..2019_09_11_06_40_49.865776187
lrwxrwxrwx    1 root     root            12 Sep 11 06:40 token -> ..data/token
~ $ ls -al /var/run/secrets/eks.amazonaws.com/serviceaccount/..data/token
-rw-------    1 root     root          1028 Sep 11 06:40 /var/run/secrets/eks.amazonaws.com/serviceaccount/..data/token
```

This commit fixes this problem by specifying securityContext to make
mounted volumes with 65534 (nobody) group ownership.
2019-09-16 17:01:07 +09:00
Alfred Krohmer
a1738f9828 Add documentation for routing policies 2019-09-10 20:47:36 +02:00
Paweł Prażak
db47517076
Update aws.md
Fixes `Failed to watch *v1.Node: unknown (get nodes)`
2019-05-02 09:51:54 +02:00
Kubernetes Prow Robot
02faeb914d
Merge pull request #952 from hobti01/patch-1
Remove superfluous trailing period from hostname
2019-04-10 02:22:14 -07:00
igork
a70fff1560
describe how to check if your cluster has a RBAC 2019-04-02 13:24:12 +02:00
Tim Hobbs
252dc2b0f5
Remove superfluous trailing period from hostname
Tutorial specifies version >0.4 which also removed the requirement for a trailing period.  New users could misunderstand the trailing dot as a significant syntax.  Removing the dot simplifies the configuration of the annotation.
2019-03-29 11:37:59 +01:00
Kubernetes Prow Robot
d27c8d2d12
Merge pull request #911 from st1t/add-description
Added description for multiple dns name
2019-03-14 03:12:28 -07:00
Dirk Gómez
60a2083921 Clarify that hosted zone identifier is to be used 2019-02-22 20:52:50 +01:00
Shota Ito
1eaf02d108
Added description for multiple dns name
This PR is a comment about "Multiple DNS names per Service" setting.
2019-02-22 19:01:43 +09:00
Alex Nederlof
ffee2018ba
Improve documentation regarding Alias
I got stuck here and opened #865 because I thought it was a bug. I hope this will help others set it up correctly the first time.
2019-01-26 09:35:13 +01:00
Ignasi Fosch
0258cf6f89
Make awscli commands use JSON output
This way the use of `jq`, and the output in this document would make sense.
2019-01-14 17:42:49 +01:00
vaegt
4b985ab04a
Add docs for alias annotation 2018-11-09 13:07:55 +01:00
Nick Jüttner
5994e55708 Bump version to v0.5.4 (#618) 2018-06-28 15:30:56 +02:00
Nick Jüttner
2e4238014f Update RBAC for external-dns to list nodes
Introducing support for NodePort services might break cluster which
using RBAC

* allow external-dns to list nodes

Signed-off-by: Nick Jüttner <nick@zalando.de>
2018-06-15 17:03:24 +02:00
Nick Jüttner
8683d25b19 Bump version to v0.5.3
* Add recent changes to the changelog
* Update version in docs

Signed-off-by: Nick Jüttner <nick@zalando.de>
2018-06-15 11:52:29 +02:00
Jaromir Vanek
e7cbc5239c bump version to v0.5.2 (#586) 2018-06-06 09:57:41 +02:00
Raffaele Di Fazio
a104993630 Update docs to latest changes (#563)
* Minor changes to docs and faq

* Other minor changes

* better docs

* Addressed comments
2018-05-22 18:23:08 +02:00
Martin Linkhorst
960151a5ac
chore: bump version to v0.5.1 (#560) 2018-05-16 13:53:53 +02:00
Henning Jacobs
e664bde484 AWS IAM Instance Profile (#557) 2018-05-15 16:42:57 +02:00
Dan Bond
25af706af3 docs/tutorials: add pods resources to external-dns ClusterRole 2018-04-24 16:07:51 +01:00
Martin Linkhorst
b94288fcb9
chore: bump version to v0.5.0 2018-04-23 16:50:13 +02:00
Zach Arnold
389527785d update RBAC rules in docs (#451)
* update RBAC rules in docs

* update docs with split between rbac and non

* make deployment use new sa

* docs: correctly reference service account in CRB

* docs: correctly reference service account in CRB in other docs
2018-02-27 11:54:20 +01:00
shane lee
272e12e62a [aws-doc-update] docker image version and new arg aws-zone-type (#371)
* [aws-doc-update] docker image version and new arg aws-zone-type

* changes after review

* remove annotation for ingress

* docs: modify docs according to suggestions
2018-01-26 11:12:51 +01:00
Fabian Topfstedt
5f88867e75 Adding required name values (#416)
Added a name value so make Kubernetes 1.8.5 work.

Had this error before:
```The Service "nginx" is invalid:
* spec.ports[0].name: Required value```
2017-12-10 03:08:34 +01:00
Henning Jacobs
76dc93bd29
update docs to use latest release v0.4.8 (#398) 2017-11-24 09:04:43 +01:00
Kevin J. Qiu
71723bdd5b Allow specifying a custom TTL through annotation on Ingress or Service (#320)
* Add RecordTTL

* Route53: test for custom TTL

* Fix tests

* Fix remaining tests

* Add ttl when endpoint is created from ingress

* Missed a word

* Fix bad refactoring

* Add ingress custom TTL test

* gofmt

* Satisfy go-lint

* Unshadow `endpoint` in azure provider

* Fix and add an output test

* Add TTL for endpoints generated from service templates

* Take TTL into account when generating update plan

* Tests for TTL change impact on the plan

* Refactor factory method name

* Refactoring

* Run gofmt

* Make endpoint string format look like BIND config

* Update plan and plan_test

* Replace NewEndpointWithTTLValue with NewEndpointWithTTL in aws

* Remove NewEndpointWithTTLValue func

* Update references to TTL

* Remove getTTLValue func

* Handle merge conflict

* Update tests

* Update README, CHANGELOG and documentation

* Run gofmt

* Move getTTLFromAnnotations to a common file

* Refactor getTTLFromAnnotations

* Gofmt

* Add tests for getTTLFromAnnotations

* Trigger build

* Add boilerplate header

* Update README/CHANGELOG according to code review

* Add ttl.md and link it from README

* change CNAME string to endpoint.RecordTypeCNAME

* fix test cases with AWS ALIAS records, these do not behave different in these tests
2017-10-11 14:17:02 +02:00
Martin Linkhorst
d4cc1fbef3
docs: update docs to the latest release 2017-08-03 09:47:53 +02:00
Martin Linkhorst
12a67523c2 docs: update documented version to v0.4 (#294) 2017-07-27 23:25:17 +02:00
Nils Juenemann
73d397961e Support for multiple domains within --domain-filter (#252)
* Support for multiple domains within --domain-filter

The parameter accepts a comma separated list of domains with or without trailing dot. Example: --domain-filter="example.org, company.test.,staging.com". Closes #247 and #229

* Add boilerplate header

* Add documentation for methods and structs

* use StringsVar for the domain-filter flag

* go fmt

* Remove camel case from tests

* Revert changes in README.md

* Move DomainFilter to provider package

* Make a new slice and copy elements to it

* Update CHANGELOG.md

* docs: change minor spelling mistake
2017-06-29 18:59:05 +02:00
Shane Starcher
bc4127b0b7 Add IAM permissions to tutorial (#231) 2017-06-08 14:11:24 +02:00
Martin Linkhorst
a2c893f2bb fix: align more docs with the current release (#202) 2017-05-08 18:45:59 +02:00
Yerken
55816ae57c adjust docs before the v0.3.0 release (#184)
* adjust docs before the v0.3.0 release

* minor fixes

* docs: add missing dot

* docs: add missing dot

* docs: drop line

* docs: drop another line

* adjust documentation

* update main readme

* checkbox for releases, add --txt-owner-id flag in description

* docs: minor weird character fixes [ci skip]
2017-05-08 17:29:17 +02:00
Martin Linkhorst
d6222a454d
docs: do not reference buggy version 2017-04-28 00:46:23 +02:00
Martin Linkhorst
9f712c15af
chore: bump version to v0.2.0 2017-04-07 14:29:23 +02:00