--- - name: Kube-vip | Check cluster settings for kube-vip fail: msg: "kube-vip require kube_proxy_strict_arp = true, see https://github.com/kube-vip/kube-vip/blob/main/docs/kubernetes/arp/index.md" when: - kube_proxy_mode == 'ipvs' and not kube_proxy_strict_arp - kube_vip_arp_enabled - name: Kube-vip | Check if super-admin.conf exists stat: path: "{{ kube_config_dir }}/super-admin.conf" failed_when: false changed_when: false register: stat_kube_vip_super_admin - name: Kube-vip | Check if kubeadm has already run stat: path: "/var/lib/kubelet/config.yaml" get_attributes: false get_checksum: false get_mime: false register: kubeadm_already_run - name: Kube-vip | Set admin.conf set_fact: kube_vip_admin_conf: admin.conf - name: Kube-vip | Set admin.conf for first Control Plane set_fact: kube_vip_admin_conf: super-admin.conf when: - inventory_hostname == groups['kube_control_plane'] | first - (stat_kube_vip_super_admin.stat.exists and stat_kube_vip_super_admin.stat.isreg) or (not kubeadm_already_run.stat.exists ) - name: Kube-vip | Write static pod template: src: manifests/kube-vip.manifest.j2 dest: "{{ kube_manifest_dir }}/kube-vip.yml" mode: "0640"