Deprecate multiple endpoints for out-of-cluster k8s api (#2454)

This fix deprecates endpoints for out-of-cluster k8s api,
The Corefile still takes multiple endpoints though only
the first one is used. A warning is shown if there are
multiple endpoints.

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
This commit is contained in:
Yong Tang
2019-01-13 10:09:51 -08:00
committed by GitHub
parent f655d404d4
commit 7bd6855155
4 changed files with 6 additions and 72 deletions

View File

@@ -32,7 +32,7 @@ all the zones the plugin should be authoritative for.
```
kubernetes [ZONES...] {
resyncperiod DURATION
endpoint URL [URL...]
endpoint URL
tls CERT KEY CACERT
kubeconfig KUBECONFIG CONTEXT
namespaces NAMESPACE...
@@ -51,10 +51,6 @@ kubernetes [ZONES...] {
* `resyncperiod` specifies the Kubernetes data API **DURATION** period.
* `endpoint` specifies the **URL** for a remote k8s API endpoint.
If omitted, it will connect to k8s in-cluster using the cluster service account.
Multiple k8s API endpoints could be specified:
`endpoint http://k8s-endpoint1:8080 http://k8s-endpoint2:8080`.
CoreDNS will automatically perform a healthcheck and proxy to the healthy k8s API endpoint.
Note that only http is supported when more than one k8s API endpoints are specified at the moment.
* `tls` **CERT** **KEY** **CACERT** are the TLS cert, key and the CA cert file names for remote k8s connection.
This option is ignored if connecting in-cluster (i.e. endpoint is not specified).
* `kubeconfig` **KUBECONFIG** **CONTEXT** authenticates the connection to a remote k8s cluster using a kubeconfig file. It supports TLS, username and password, or token-based authentication. This option is ignored if connecting in-cluster (i.e., the endpoint is not specified).