I don’t know why it’s reporting success with the ‘raft join’ but I suspect part of your problem is the ‘init’ on the second pod. You only ‘init’ the initial node in the cluster, the subsequent nodes join the cluster and use the same seal as the initial leader.
Thanks @nhw76!
Now I only did a init and unseal on the first node and then a raft join on the 2nd node. After this I still don’t see the node in raft list-peers, but when I do an unseal on the 2nd node I finally see it listed as a follower. So far so good.
…but
When I check the logs I see the following INFO/WARN/ERROR messages coming from the leader:
In my experience, there’s a bit of noise immediately after the cluster join while the new follower proves it has unsealed so log replication can start but it settles down quickly.
good shout on “settling down”
totally worked, had to give it a minute and all logs gone quiet. Added KV on leader node, logged in to follower nodes, KV value was replicated almost immediately on others.
I ran this and got the same result as you where the leader was listed as the only item in the cluster. I tried to add the other two nodes, but nothing happened:
same result, only the leader.
The docs say that you should just be able to unseal with the keys from the first pod, but I would get errors saying “vault is not initialized.” But if I ran vault operator init it would initialize as a leader of its own cluster and not be able to use the initial pod’s keys.
Now I only did a init and unseal on the first node and then a raft join on the 2nd node. After this I still don’t see the node in raft list-peers, but when I do an unseal on the 2nd node I finally see it listed as a follower. So far so good.
This part is what did it. I didn’t run vault operator init on the subsequent pods, only vault operator raft join and then i could finally unseal.
I think the kubectl -n vault exec -ti vault-0 -- vault operator raft join http://vault-1.vault-internal:8200 was unnecessary, but what was hard was realizing that the docs don’t say that the raft join command kind of initializes the vault with vault-0 keys.