diff options
author | 2018-12-14 09:41:51 +0000 | |
---|---|---|
committer | 2018-12-14 09:41:51 +0000 | |
commit | c1c98924c3733b853115c62adc1a2b5978ae2df3 (patch) | |
tree | 6006978128c2ffd02eb9c5eaaeb16993f38f205b /plugin/kubernetes/ns.go | |
parent | d9880681c3b28f8506e2a5b15bbc404b2a155b00 (diff) | |
download | coredns-c1c98924c3733b853115c62adc1a2b5978ae2df3.tar.gz coredns-c1c98924c3733b853115c62adc1a2b5978ae2df3.tar.zst coredns-c1c98924c3733b853115c62adc1a2b5978ae2df3.zip |
Add new plugin: external - resolve k8s ingress and LB address with external names (#2379)
* Add new plugin: external
This plugin works in conjunction with the kubernetes plugin and exports
ingress and LB addresses as DNS records. It bypasses backend.go and
backend_lookup.go flow because it is not needed.
README, tests are implemented. The tests only exercise the unit tests,
this has not been tested in any ci.
Signed-off-by: Miek Gieben <miek@miek.nl>
* Rename to k8s_external
Signed-off-by: Miek Gieben <miek@miek.nl>
* go gen
Signed-off-by: Miek Gieben <miek@miek.nl>
Diffstat (limited to 'plugin/kubernetes/ns.go')
-rw-r--r-- | plugin/kubernetes/ns.go | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/plugin/kubernetes/ns.go b/plugin/kubernetes/ns.go index 2ccb51ef3..f3d33ee22 100644 --- a/plugin/kubernetes/ns.go +++ b/plugin/kubernetes/ns.go @@ -12,6 +12,10 @@ func isDefaultNS(name, zone string) bool { return strings.Index(name, defaultNSName) == 0 && strings.Index(name, zone) == len(defaultNSName) } +// nsAddr return the A record for the CoreDNS service in the cluster. If it fails that it fallsback +// on the local address of the machine we're running on. +// +// This function is rather expensive to run. func (k *Kubernetes) nsAddr() *dns.A { var ( svcName string |