talos icon indicating copy to clipboard operation
talos copied to clipboard

ndot DNS config

Open Sispheor opened this issue 1 year ago • 0 comments
trafficstars

Feature Request

Provide a way to configure the ndot DNS configuration

Description

The ndot configuration seems to be currently set to 5.

Example with Prometheus stack deployed via Helm

/prometheus $ cat /etc/resolv.conf 
search prometheus.svc.cluster.local svc.cluster.local cluster.local infra-dev.k8s.my.internal.domain
nameserver 10.96.0.10
options ndots:5

The ndot can be updated in a pod but when the pod has been created by an Operator, the change will be removed automatically. It's the ase for example with the Prometheus Operator which doesn't yet allow to customize this part.

Another workaround consist into giving real FQDN with an ending dot like my.domain.. It works for HTTP requests, but when the domain is protected by a TLS certificate the handshake fail (as expected).

Using a troubleshoot container I can observe that the cluster domain is added to the search

kubectl debug prometheus-prometheus-kube-prometheus-prometheus-0 -it --image=nicolaka/netshoot
+ kubectl debug prometheus-prometheus-kube-prometheus-prometheus-0 -it --image=nicolaka/netshoot
Defaulting debug container name to debugger-svkst.

prometheus-prometheus-kube-prometheus-prometheus-0% nslookup prom-endpoint.my.internal.domain
Server:		10.96.0.10
Address:	10.96.0.10#53

Non-authoritative answer:
Name:	prom-endpoint.my.internal.domain.infra-dev.k8s.my.internal.domain
Address: 10.162.24.63

Maybe I missed something in the doc and there's actually another way to do this. Thanks by advance for any guidance 🙏

Sispheor avatar Sep 18 '24 12:09 Sispheor