Advanced Networking
Each vCluster has its own DNS service, which is CoreDNS by default. DNS allows pods in the virtual cluster to get the IP addresses of services that are also running in the virtual cluster. The syncer ensures that the intuitive naming logic of Kubernetes DNS names for services applies, and that users can connect to these DNS names, which map to the IP address of the synchronized services that are present in the host cluster.
However, this also means that you cannot directly access host services inside the virtual cluster via DNS. Host pods can only access virtual cluster services by their synced name. vCluster offers a feature to map services from the virtual cluster to the host cluster and vice versa.
Fallback to Host DNS
When you enable fallbackHostCluster
, vCluster falls back to the host cluster's DNS for resolving domains. This is useful if the host cluster is using Istio or Dapr and the sidecar containers cannot connect to the central instance. It is also useful if you want to access the host cluster services from within the virtual cluster.
proxyKubelets
The proxyKubelets
section replaces --fake-kubelet-ips
and --disable-fake-kubelets
.
You may need to configure proxyKubelets
for proper resolution of Kubelet metrics when using Prometheus.
Config reference​
advanced
required object pro​
Advanced holds advanced network options.
advanced
required object pro​clusterDomain
required string cluster.local pro​
ClusterDomain is the Kubernetes cluster domain to use within the virtual cluster.
clusterDomain
required string cluster.local pro​fallbackHostCluster
required boolean false pro​
FallbackHostCluster allows to fallback dns to the host cluster. This is useful if you want to reach host services without
any other modification. You will need to provide a namespace for the service, e.g. my-other-service.my-other-namespace
fallbackHostCluster
required boolean false pro​proxyKubelets
required object pro​
ProxyKubelets allows rewriting certain metrics and stats from the Kubelet to "fake" this for applications such as
prometheus or other node exporters.
proxyKubelets
required object pro​byHostname
required boolean true pro​
ByHostname will add a special vCluster hostname to the nodes where the node can be reached at. This doesn't work
for all applications, e.g. Prometheus requires a node IP.
byHostname
required boolean true pro​byIP
required boolean true pro​
ByIP will create a separate service in the host cluster for every node that will point to virtual cluster and will be used to
route traffic.
byIP
required boolean true pro​