diff --git a/roles/kubernetes-apps/ingress_controller/cert_manager/tasks/main.yml b/roles/kubernetes-apps/ingress_controller/cert_manager/tasks/main.yml
index 65640ae174893c18ce990eca255fc631770d7762..c36f2c9932ab35820a15c092f5ca47b8cdc8f711 100644
--- a/roles/kubernetes-apps/ingress_controller/cert_manager/tasks/main.yml
+++ b/roles/kubernetes-apps/ingress_controller/cert_manager/tasks/main.yml
@@ -71,6 +71,9 @@
   command: "{{ bin_dir }}/kubectl wait po --namespace={{ cert_manager_namespace }} --selector app=webhook --for=condition=Ready --timeout=600s"
   register: cert_manager_webhook_pods_ready
   when: inventory_hostname == groups['kube_control_plane'][0]
+  until: cert_manager_webhook_pods_ready is succeeded
+  retries: 30
+  delay: 10
 
 - name: Cert Manager | Create ClusterIssuer manifest
   template: