diff --git a/cesnet-central/playbooks/k8s.yaml b/cesnet-central/playbooks/k8s.yaml
index 4a541870a64ea717a3bfdeb2ef4cc9aaac24b368..ee87d5986c7660834e0c674092eed95804f3766e 100644
--- a/cesnet-central/playbooks/k8s.yaml
+++ b/cesnet-central/playbooks/k8s.yaml
@@ -123,7 +123,7 @@
         # kube_nvidia_device_plugin_version: "v0.12.2"
         # kube_nvidia_driver_version: "515" # "525"
         kube_nvidia_support: true
-        kube_version: 1.28.8
+        kube_version: 1.29.4
         kube_network: 'none'  # custom network installation
         kube_install_helm: true
         kube_install_helm_version: 'v3.13.0'
@@ -186,7 +186,7 @@
         # must be IPv4 address or hostname
         kube_server: "{{ hostvars[groups['master'][0]].kube_server | default(groups['master'][0]) }}"
         kube_type_of_node: wn
-        kube_version: 1.28.8
+        kube_version: 1.29.4
         kubelet_extra_args: '--volume-stats-agg-period 0'
   tasks:
     - name: Overlay2 mountpoint workaround to docker.service unit
diff --git a/cesnet-central/playbooks/upgrade.yaml b/cesnet-central/playbooks/upgrade.yaml
index 79e2c3bb5187afea0a7de8aa50671b6b3ba2344c..9c041da3dc8d3c2afd8838f68b66f012981814be 100644
--- a/cesnet-central/playbooks/upgrade.yaml
+++ b/cesnet-central/playbooks/upgrade.yaml
@@ -6,13 +6,18 @@
 #
 # Usage example:
 #
-# VERSION=1.28.8
+# VERSION=1.29.4
 # ansible-playbook playbooks/upgrade.yaml --extra-vars "version=$VERSION"
 #
 - name: Upgrade and hold kubeadm package
   hosts: master,ingress,nfs,worker,gpu
   become: true
   tasks:
+    - name: New k8s repository
+      copy:
+        dest: /etc/apt/sources.list.d/pkgs_k8s_io_core_stable_v1_29_deb.list
+        content: deb https://pkgs.k8s.io/core:/stable:/v1.29/deb/ /
+        mode: 0644
     - name: Upgrade packages
       apt:
         name: kubeadm={{ version }}*
@@ -65,6 +70,11 @@
       systemd:
         state: restarted
         name: kubelet
+    - name: Cleanup old k8s repository
+      file:
+        path: /etc/apt/sources.list.d/pkgs_k8s_io_core_stable_v1_29_deb.list
+        state: absent
+
 
 # pinned by grycap.kubernetes
 # - name: Upgrade networking