diff --git a/roles/kubernetes/kubeadm/tasks/main.yml b/roles/kubernetes/kubeadm/tasks/main.yml
index 2b6e739dbae341e8f473989d27e6ebe939d70fa3..6223beb72c5ee5297c47207432f1e167e12440d2 100644
--- a/roles/kubernetes/kubeadm/tasks/main.yml
+++ b/roles/kubernetes/kubeadm/tasks/main.yml
@@ -53,10 +53,10 @@
     timeout: 60
 
 - name: Update server field in kubelet kubeconfig
-  replace:
-    path: "{{ kube_config_dir }}/kubelet.conf"
-    regexp: '(\s+)https://{{ first_kube_master }}:{{ kube_apiserver_port }}(\s+.*)?$'
-    replace: '\1{{ kube_apiserver_endpoint }}\2'
+  lineinfile:
+    dest: "{{ kube_config_dir }}/kubelet.conf"
+    regexp: 'server:'
+    line: '    server: {{ kube_apiserver_endpoint }}'
     backup: yes
   when: not is_kube_master and kubeadm_discovery_address != kube_apiserver_endpoint
   notify: restart kubelet