HashiCorp Vault Cluster Unseal
These steps are for a vault cluster that has been configured and started up, but is in an unsealed state.
Leader Initialization
The following will initialize a new vault cluster and return a set of unseal keys and a root token.
NOTE: The ca.crt file is privileged, You will need to run these commands as the root user.
Run the following to switch to the root user:
sudo -i
Go to the first node, and do these (as root):
# From an admin shell that can reach the VLAN:
export VAULT_ADDR="https://vault0204.ogsofttech.lan:8200"
export VAULT_CACERT="/opt/vault/tls/ca.crt" # path on your admin box
# Initialize the cluster (choose your own shares/threshold)
vault operator init -key-shares=5 -key-threshold=3
NOTE: Use the fully-qualified hostname above, as it appears in the node's cert.
Once executed, the vault node will reply with 5 unseal keys and an initial root token.
Distribute each of these unseal keys to trusted admins, to store in offline password storage.
NOTE: Three (3) unseal keys are required to unseal the vault.
Use the initial root token to setup policies and auth.
Then, retire it.
Unseal the Leader
With the unseal keys from the initialized node (received above), we need to unseal its vault.
NOTE: We do this, while still as root, and on the same host that we got the keys from.
vault operator unseal # enter 1st key
vault operator unseal # enter 2nd key
vault operator unseal # enter 3rd key
NOTE: The above will enter three of the five unseal keys, and allow you to login to the vault (with the initial root token).
Initial Root Login
With the vault unsealed, we need to perform an initial login as root:
# Log in with the root token for initial setup tasks
vault login <root_token>
Once logged in, you can check the vault status with this:
vault status
If successful, you should see Initialized: true, Sealed: false, HA Enabled: true, and this node as leader.
The first node is online, and the cluster is up... sort of.
Each cluster member has auto-discovered a leader and established a RAFT quorum.
But, the other nodes are still not unsealed (since we did not configured auto-unseal).
Unseal Other Nodes
Similar to what you did, to unseal the first node, we will do the same to each member, below.
Switch to root on each node with:
sudo -i
Set exports for each node:
export VAULT_ADDR="https://vault0205.ogsofttech.lan:8200";
export VAULT_CACERT="/opt/vault/tls/ca.crt"
NOTE: Use the fully-qualified hostname above, as it appears in the node's cert.
Now, unseal each node, with these:
vault operator unseal # enter 1st key
vault operator unseal # enter 2nd key
vault operator unseal # enter 3rd key