diff --git a/ansible/k8s/tasks/rolling_restart.yaml b/ansible/k8s/tasks/rolling_restart.yaml
index e823174c23c5b170d4ae8f2f00cd6aaedc1888da..00998de2771d0e0f06f3ade7b3217a0ab43e4711 100644
--- a/ansible/k8s/tasks/rolling_restart.yaml
+++ b/ansible/k8s/tasks/rolling_restart.yaml
@@ -19,9 +19,19 @@
   run_once: true
   when: rke2_drain_node_during_upgrade
 
-- name: Restart RKE2 service on {{ inventory_hostname }}
+- name: Stop RKE2 service on {{ inventory_hostname }}
   ansible.builtin.service:
     name: "rke2-{{ rke2_type }}.service"
+    state: stopped
+
+- name: Reboot the server on kernel update
+  reboot:
+    msg: "Reboot initiated by Ansible for kernel updates"
+    connect_timeout: 5
+    reboot_timeout: 300
+    pre_reboot_delay: 0
+    post_reboot_delay: 30
+    test_command: uptime
     state: restarted
 
 - name: Wait for all nodes to be ready again