Vault with keepalived vault not listening to virtual ip

I think maybe cluster_address in your TCP stanza may be wrong. Here is an example config I use when I need to test:

ui            = true
cluster_addr  = "http://127.0.0.1:8201"
api_addr      = "https://127.0.0.1:8200"
disable_mlock = true

storage "raft" {
  path    = "./vault-data"
  node_id = "ip-foo.bar"
}

listener "tcp" {
  address       = "0.0.0.0:8200"
  cluster_address = "0.0.0.0:8201"
  tls_disable = 1
}

(Similar question here for reference: Having trouble bringing up Vault node w/ integrated storage)