Oh, I get it: that's because you need to start haproxy on the node that has the virtual IP.