When booting a cluster with `--networking=cni`, `dns-controller` will
not start due to the master node being _tainted_ as "network unreachable".
This adds an extra step when managing your own CNI setup, having to SSH
into a master and publish the CNI manifests from there.
This commit adds tolerance and configuration that allows `dns-controller`
pod to start when running with `--networking=cni`, properly creating the
DNS records so the operator can remotely publish the CNI and extra
manifests to have a full working cluster.
This also removes the dependency on `kube-proxy`, by adding the
`KUBERNETES_SERVICE_HOST` environment variable, bypassing `kube-proxy`
when disabled.
Presumably, as a side-effect, this change also allows for
"host network only" clusters to work.
Signed-off-by: Rodrigo Chacon <rochacon@gmail.com>