What happened?
Hello,
If I use kube-vip for HA control-plane and kube_proxy_mode: nftables kubespray playbook does not install ipvsadm.
~/clusters/dev/c14 master ❯ grep -rn kube_vip_enabled
group_vars/k8s_cluster/addons.yml:18:kube_vip_enabled: true
~/clusters/dev/c14 master ❯ grep -rn kube_proxy_mode
group_vars/k8s_cluster/k8s-cluster.yml:33:kube_proxy_mode: nftables
https://github.com/kubernetes-sigs/kubespray/blob/master/roles/system_packages/vars/main.yml#L66-L69
km3-c14:~$ ipvsadm
Command 'ipvsadm' not found, but can be installed with:
apt install ipvsadm
Please ask your administrator.
What did you expect to happen?
Kubespray installing ipvsadm if set kube_vip_enabled: true.
km1-c14:~$ sudo ipvsadm -Ln
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port Forward Weight ActiveConn InActConn
TCP VIP:6443 rr
-> IP1:6443 Local 1 2 1
-> IP2:6443 Local 1 1 1
-> IP3:6443 Local 1 4 0
How can we reproduce it (as minimally and precisely as possible)?
Create Inventory with:
kube_vip_enabled: true
kube_proxy_mode: nftables
OS
Ubuntu 24
Version of Ansible
ansible [core 2.17.14]
python version = 3.14.5 (main, May 10 2026, 18:26:20) [GCC 16.1.1 20260430]
jinja version = 3.1.6
libyaml = True
Version of Python
Python 3.14.5
Version of Kubespray (commit)
f4ccdb5
Network plugin used
calico
Full inventory with variables
Empty
Command used to invoke ansible
ansible-playbook -i ../clusters/dev/c14/inventory.ini -b cluster.yml
Output of ansible run
Empty
Anything else we need to know
No response
What happened?
Hello,
If I use kube-vip for HA control-plane and
kube_proxy_mode: nftableskubespray playbook does not install ipvsadm.https://github.com/kubernetes-sigs/kubespray/blob/master/roles/system_packages/vars/main.yml#L66-L69
What did you expect to happen?
Kubespray installing ipvsadm if set
kube_vip_enabled: true.How can we reproduce it (as minimally and precisely as possible)?
Create Inventory with:
OS
Ubuntu 24
Version of Ansible
Version of Python
Python 3.14.5
Version of Kubespray (commit)
f4ccdb5
Network plugin used
calico
Full inventory with variables
Empty
Command used to invoke ansible
ansible-playbook -i ../clusters/dev/c14/inventory.ini -b cluster.yml
Output of ansible run
Empty
Anything else we need to know
No response