From 4b6d890e4afbe23b09bdc421580a72a18b5ab049 Mon Sep 17 00:00:00 2001 From: "Rostislav M. Georgiev" Date: Wed, 22 Apr 2020 15:15:04 +0300 Subject: [PATCH] kubelet.service: Wait for network-online.target Whenever kubeadm detects a system that has systemd-resolved running, it would provision the kubelet on the local node with a resolv.conf overwrite - /run/systemd/resolve/resolv.conf. However, some kubeadm users have discovered an issue during system boot. The kubelet can end up in a race with the systemd-resolved service and actually startup loads with empty or incorrect resolve.conf files. The race is caused by the fact that the kubelet.service file does not indicate dependence on the network-online.target. To fix this we add network-online.target as a dependency and wait for its initialization to complete before starting the kubelet. Signed-off-by: Rostislav M. Georgiev --- .../latest/deb/kubelet/lib/systemd/system/kubelet.service | 2 ++ cmd/kubepkg/templates/latest/rpm/kubelet/kubelet.service | 2 ++ 2 files changed, 4 insertions(+) diff --git a/cmd/kubepkg/templates/latest/deb/kubelet/lib/systemd/system/kubelet.service b/cmd/kubepkg/templates/latest/deb/kubelet/lib/systemd/system/kubelet.service index 5938f615a39..15d3e9186dc 100644 --- a/cmd/kubepkg/templates/latest/deb/kubelet/lib/systemd/system/kubelet.service +++ b/cmd/kubepkg/templates/latest/deb/kubelet/lib/systemd/system/kubelet.service @@ -1,6 +1,8 @@ [Unit] Description=kubelet: The Kubernetes Node Agent Documentation=https://kubernetes.io/docs/home/ +Wants=network-online.target +After=network-online.target [Service] ExecStart=/usr/bin/kubelet diff --git a/cmd/kubepkg/templates/latest/rpm/kubelet/kubelet.service b/cmd/kubepkg/templates/latest/rpm/kubelet/kubelet.service index 8538a7a45be..f25b70985cb 100644 --- a/cmd/kubepkg/templates/latest/rpm/kubelet/kubelet.service +++ b/cmd/kubepkg/templates/latest/rpm/kubelet/kubelet.service @@ -1,6 +1,8 @@ [Unit] Description=kubelet: The Kubernetes Node Agent Documentation=https://kubernetes.io/docs/ +Wants=network-online.target +After=network-online.target [Service] ExecStart=/usr/bin/kubelet