Troubleshooting ARP
Failover times
The "average" failover time that is observed with kube-vip is around ~3 seconds, however this can wildly depend on the underlying infrastructure such as virtual and physical switches blocking or limiting kube-vip from updating the network. The most simple test that can be performed to begin working out how your infrastructure is performing is the following:
NOTE: If you have set kube-vip
to watch a specific namespace then you will need to ensure that this deployment also deploys there by adding -n <namespace>
Deploy a simple nginx application:
Create a loadbalancer service:
Get the service address:
Set the IP address to a variable for the below tests (change the address for your purposes):
We can now test against our service address!
The below snippet will create a visual representation of availability of the application, as pods are deleted a dot will be printed every second to show unavailability
Additionally we can test access to the VIP with the ping
command, this will demonstrate the IP address either being no longer available or being re-assigned to a new host.
Testing access
With this simple monitoring in progress we can watch how long the both kubernetes and kube-vip typically take to reconcile!
Delete a backend pod:
Doing this a few times should result in something like the following: