DNS
DNS solves the issues seen with environment variables by allowing us to reference the services by their name. As services restart, scale out, or appear anew, the DNS entries will be updating and ensuring that the service name always points to the latest infrastructure. DNS is set up by default in most of the supported providers.
Note
If DNS is supported by your provider, but not set up, you can configure the following variables in your default provider config when you create your Kubernetes cluster:ENABLE_CLUSTER_DNS="${KUBE_ENABLE_CLUSTER_DNS:-true}"
DNS_SERVER_IP="10.0.0.10"
DNS_DOMAIN="cluster.local"
DNS_REPLICAS=1
With DNS active, services can be accessed in one of two forms—either the service name itself, <service-name>
or a fully qualified name that includes the namespace, <service-name>.<namespace-name>.cluster.local
. In our examples, it would look similar to node-js-90
or node-js-90.default.cluster.local
.