From 59fd01b09357b827d2b2a16b93187ca6a51d38c5 Mon Sep 17 00:00:00 2001 From: Boovan Rajendran Date: Tue, 23 Sep 2025 06:12:04 -0400 Subject: [PATCH] Reduce kubelet.service startup failure errors during node installation During node install/reinstall there is lot of kubelet.service startup failure errors occurs. This adds systemd ConditionPathExists to kubelet.service to prevent kubelet from starting before necessary configuration files are created during bootstrap of a Kubernetes node Note: The kubelet.service requires the following configuration files to start successfully: /etc/default/kubelet /etc/kubernetes/kubelet.conf /var/lib/kubelet/config.yaml we are intentionally excluding /etc/kubernetes/kubelet.conf from this change. This is because during the kubeadm join process, the kubelet is started before this file is generated. Adding a systemd condition that checks for the existence of /etc/kubernetes/kubelet.conf will cause the kubelet to fail to start, resulting in the kubeadm join command failing due to an unhealthy kubelet. Test Plan: PASS: Install ISO as AIO-SX,AIO-DX and Standard, verify kubelet.service starts properly and start errors are reduced. PASS: Perform factory install using dc-libvirt and verify kubelet.service starts properly and start errors are reduced. Closes-Bug: 2125480 Change-Id: Iaf89ac8f87bf3981d72bf091c53709ebc5f1d72e Signed-off-by: Boovan Rajendran --- .../kubernetes-unversioned/debian/deb_folder/kubeadm.conf | 3 +++ 1 file changed, 3 insertions(+) diff --git a/kubernetes/kubernetes-unversioned/debian/deb_folder/kubeadm.conf b/kubernetes/kubernetes-unversioned/debian/deb_folder/kubeadm.conf index 238704288..b09b7f8b5 100644 --- a/kubernetes/kubernetes-unversioned/debian/deb_folder/kubeadm.conf +++ b/kubernetes/kubernetes-unversioned/debian/deb_folder/kubeadm.conf @@ -1,4 +1,7 @@ # Note: This dropin only works with kubeadm and kubelet v1.11+ +[Unit] +ConditionPathExists=/etc/default/kubelet +ConditionPathExists=/var/lib/kubelet/config.yaml [Service] Environment="KUBELET_KUBECONFIG_ARGS=--bootstrap-kubeconfig=/etc/kubernetes/bootstrap-kubelet.conf --kubeconfig=/etc/kubernetes/kubelet.conf" Environment="KUBELET_CONFIG_ARGS=--config=/var/lib/kubelet/config.yaml"