From 6519a7673dbca634b3cd0d3f2b2c50e625610032 Mon Sep 17 00:00:00 2001 From: MichaelFisher1997 Date: Wed, 22 Apr 2026 04:29:29 +0000 Subject: [PATCH] fix: wait for kube-vip on primary node during bootstrap The kube-vip DaemonSet is applied before the secondary control planes join, so waiting for a full DaemonSet rollout blocks bootstrap on nodes that do not exist in the cluster yet. Wait only for the primary node's kube-vip pod and then verify the VIP is reachable on 6443. --- ansible/roles/kube-vip-deploy/tasks/main.yml | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/ansible/roles/kube-vip-deploy/tasks/main.yml b/ansible/roles/kube-vip-deploy/tasks/main.yml index 8b10436..7d18873 100644 --- a/ansible/roles/kube-vip-deploy/tasks/main.yml +++ b/ansible/roles/kube-vip-deploy/tasks/main.yml @@ -9,9 +9,17 @@ command: kubectl apply -f /tmp/kube-vip-control-plane.yaml changed_when: true -- name: Wait for kube-vip DaemonSet rollout - command: kubectl -n kube-system rollout status daemonset/kube-vip --timeout=180s +- name: Wait for local kube-vip pod to be ready + command: >- + kubectl -n kube-system get pods + -l app.kubernetes.io/name=kube-vip + --field-selector spec.nodeName={{ inventory_hostname }} + -o jsonpath={.items[0].status.conditions[?(@.type=="Ready")].status} + register: kube_vip_pod_ready changed_when: false + until: kube_vip_pod_ready.stdout == "True" + retries: 18 + delay: 10 - name: Wait for API VIP on 6443 wait_for: