amimof / kubernetes-the-right-way

Install Kubernetes with Ansible
MIT License
28 stars 7 forks source link

/etc/resolv.conf #26

Closed anton-johansson closed 5 years ago

anton-johansson commented 5 years ago

The kubelet is configured with the following resolv config: resolvConf: "/run/systemd/resolve/resolv.conf"

This implies that one is using systemd-resolvd, right? I just had systemd-resolvd disabled due to a temporary local DNS issue and manually configured my /etc/resolv.conf. This means that the directory /run/systemd/resolve/ does not exist and the kubelet is complaining about that.

It feels like it would be better to use /etc/resolv.conf directly? Not sure what implications this might cause though. If I have systemd-resolvd enabled, /etc/resolv.conf is a symlink to /run/systemd/resolve/stub-resolv.conf which does not have the same contents.

We'll get back to using systemd-resolvd as soon as the issue is fixed, so it's not a superbig deal. It's just an idea/discussion.

amimof commented 5 years ago

I just bumbed in to this issue myself today and changing it to /etc/resolv.conf works with CoreDNS atleast.

anton-johansson commented 5 years ago

Cool!

When digging around a bit, I found something strange though. https://github.com/kubernetes/kubernetes/blob/release-1.13/pkg/kubelet/apis/config/types.go#L225 https://github.com/kubernetes/kubernetes/issues/70817

It looks like the KubeletConfiguration property is called resolverConfig? Maybe resolvConf is some kind of alias, but I couldn't find anything about that.