diff --git a/roles/kubernetes/preinstall/tasks/0010-swapoff.yml b/roles/kubernetes/preinstall/tasks/0010-swapoff.yml
index c603f37b1a980d2906700a48ceb5a744819d47f5..53bcf2d1218694b8850e6dab9292f3d43e1be477 100644
--- a/roles/kubernetes/preinstall/tasks/0010-swapoff.yml
+++ b/roles/kubernetes/preinstall/tasks/0010-swapoff.yml
@@ -1,28 +1,8 @@
 ---
-- name: Remove swapfile from /etc/fstab
-  ansible.posix.mount:
-    name: "{{ item }}"
-    fstype: swap
-    state: absent
-  loop:
-    - swap
-    - none
-
-# kubelet fails even if ansible_swaptotal_mb = 0
-- name: Check swap
-  command: /sbin/swapon -s
-  register: swapon
-  changed_when: no
+- name: Mask swap.target (persist swapoff)
+  ansible.builtin.systemd_service:
+    name: swap.target
+    masked: true
 
 - name: Disable swap
   command: /sbin/swapoff -a
-  when:
-    - swapon.stdout
-  ignore_errors: "{{ ansible_check_mode }}"  # noqa ignore-errors
-
-- name: Disable swapOnZram for Fedora
-  command: touch /etc/systemd/zram-generator.conf
-  when:
-    - swapon.stdout
-    - ansible_distribution in ['Fedora']
-  ignore_errors: "{{ ansible_check_mode }}"  # noqa ignore-errors