diff --git a/staging/deploy.sh b/staging/deploy.sh
index 00c6352fec2ee15b21aada067cce317a7c72eaac..06fc8bdd3cc60d36a807e24d7f565c46adfb6535 100755
--- a/staging/deploy.sh
+++ b/staging/deploy.sh
@@ -44,6 +44,7 @@ ansible -m command -a '/root/squid-volume.sh' 'ingress[0]'
 
 # k8s + notebooks
 ansible-playbook playbooks/k8s.yaml
+while ansible -i ./inventory -m command -a 'kubectl get pods --all-namespaces' master | tail -n +3 | grep -v ' Running '; do sleep 5; done
 # docker runtime directory after Kubernetes deployment (problem with unmounts)
 ansible -m copy -a 'src=terraform/docker-volume.sh dest=/root/ mode=preserve' 'ingress nfs worker'
 ansible -m command -a '/root/docker-volume.sh' 'ingress nfs worker'
diff --git a/staging/terraform/vms.tf b/staging/terraform/vms.tf
index c1889c0c71bfa8a51615e2b7f620cca34789960c..c3a30e0b0fa562d55808f7c797d96c8f5466f0da 100644
--- a/staging/terraform/vms.tf
+++ b/staging/terraform/vms.tf
@@ -237,13 +237,15 @@ if ! dumpe2fs -h "$device" >/dev/null 2>&1; then
 	mkfs.ext4 -L DOCKER "$device"
 	grep -q 'LABEL=DOCKER' /etc/fstab || /bin/echo -e "LABEL=DOCKER\t/var/lib/docker/overlay2\text4\tdefaults,x-systemd.before=local-fs.target\t0\t0" | tee -a /etc/fstab
 	mkdir -p /var/lib/docker/overlay2 2>/dev/null || true
-	service docker stop >/dev/null 2>&1 || true
+	systemctl stop docker kubelet >/dev/null 2>&1 || true
 	sleep 10
+	systemctl stop docker kubelet >/dev/null 2>&1 || true
 	umount /var/lib/docker/overlay2 2>&1 || true
 	mount "$device" /mnt
 	mv /var/lib/docker/overlay2/* /mnt >/dev/null 2>&1 || true
 	umount /mnt
 	mount -a
+	systemctl start docker kubelet >/dev/null 2>&1 || true
 fi
 EOT
 }