Resolve DNS
This feature is available in the vCluster Pro tier. Contact us for more details and to start a trial.
This feature enables adding custom DNS rules to the virtual cluster to allow communication with services deployed in the host cluster and across services in separate vCluster instances.
Examples
Map a hostname
This is a URL-based mapping of one virtual cluster hostname to another hostname. A wikipedia.com
DNS lookup would return a DNS response with answer as en.wikipedia.org
.
networking:
resolveDNS:
- hostname: wikipedia.com
target:
hostname: en.wikipedia.org
Map a virtual cluster service to a host cluster service
This example maps the virtual cluster's my-namespace/my-svc
resource to the host cluster's dns-test/nginx-svc
resource. The DNS response is the nginx-svc
IP in the host's dns-test
namespace.
networking:
resolveDNS:
- service: my-namespace/my-svc
target:
hostService: dns-test/nginx-svc
Map services across vCluster instances
This example maps a virtual cluster Service to another Service in a separate virtual cluster.
my-ns-in-vcluster/my-svc-vcluster
maps to dns-test-in-vcluster-ns/test-in-vcluster-service
in a vCluster instance named test-cluster
deployed in the host namespace test-vcluster-ns
.
networking:
resolveDNS:
- service: my-ns-in-vcluster/my-svc-vcluster
target:
vClusterService: test-vcluster-ns/test-vcluster/dns-test-in-vcluster-ns/test-in-vcluster-service
Map namespaces
Map all services under a virtual cluster namespace to a host namespace. This host namespace could also contain another vCluster instance, thereby mapping all vCluster services to another vCluster instance.
networking:
resolveDNS:
- namespace: test-in-vcluster-ns
target:
hostNamespace: external-vc-ns
All services in the test-vcluster
virtual cluster's target namespace test-in-vcluster-ns
map to namespace external-vc-ns
.
┌──────────────────────┐┌──────────────────────────────┐
│nginx.external-vc-ns ││nginx.test-in-vcluster-ns │
│svcA.external-vc-ns ││svcA.test-in-vcluster-ns │
│svcB.external-vc-ns ││svcB.test-in-vcluster-ns │
│... ││... │
└──────────────────────┘└── ────────────────────────────┘
Config reference
resolveDNS
required object[] pro
ResolveDNS allows to define extra DNS rules. This only works if embedded coredns is configured.
resolveDNS
required object[] prohostname
required string pro
Hostname is the hostname within the vCluster that should be resolved from.
hostname
required string proservice
required string pro
Service is the virtual cluster service that should be resolved from.
service
required string pronamespace
required string pro
Namespace is the virtual cluster namespace that should be resolved from.
namespace
required string protarget
required object pro
Target is the DNS target that should get mapped to
target
required object prohostname
required string pro
Hostname to use as a DNS target
hostname
required string proip
required string pro
IP to use as a DNS target
ip
required string prohostService
required string pro
HostService to target, format is hostNamespace/hostService
hostService
required string prohostNamespace
required string pro
HostNamespace to target
hostNamespace
required string provClusterService
required string pro
VClusterService format is hostNamespace/vClusterName/vClusterNamespace/vClusterService
vClusterService
required string pro