mirror of
https://github.com/coredns/coredns.git
synced 2025-11-01 10:43:17 -04:00
Support multiple k8s api servers specification and load balance among api servers (#820)
* Support multiple k8s api servers specification and load balance among api servers This fix adds supports for multiple k8s api servers specification, load balance among api servers. When two or more api servers are specified in kubernetes block (endpoint ...), a proxy is created locally (with randomly generately port). The coredns will points to the generated proxy so that load balancing could be achieved. Signed-off-by: Yong Tang <yong.tang.github@outlook.com> * Setup initial healthcheck at the beginning Signed-off-by: Yong Tang <yong.tang.github@outlook.com> * Update README.md for kubernetes middleware and remove whitespaces. Signed-off-by: Yong Tang <yong.tang.github@outlook.com> * Use middleware/pkg/healthcheck in middleware/kubernetes for api proxy Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
This commit is contained in:
@@ -27,6 +27,9 @@ kubernetes ZONE [ZONE...] [
|
||||
* `resyncperiod` specifies the Kubernetes data API **DURATION** period.
|
||||
* `endpoint` specifies the **URL** for a remove k8s API endpoint.
|
||||
If omitted, it will connect to k8s in-cluster using the cluster service account.
|
||||
Multiple k8s API endpoints could be specified, separated by `,`s, e.g.
|
||||
`endpoint http://k8s-endpoint1:8080,http://k8s-endpoint2:8080`. CoreDNS
|
||||
will automatically perform a healthcheck and proxy to the healthy k8s API endpoint.
|
||||
* `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).
|
||||
* `namespaces` **NAMESPACE [NAMESPACE...]**, exposed only the k8s namespaces listed.
|
||||
|
||||
Reference in New Issue
Block a user