In this guide, you’ll configure performance replication between two Vault clusters—a primary and a secondary. After completing these steps, any changes made on the primary will automatically mirror to the secondary. What You’ll Achieve:Documentation Index
Fetch the complete documentation index at: https://notes.kodekloud.com/llms.txt
Use this file to discover all available pages before exploring further.
- Enable performance replication on the primary cluster
- Generate a secondary-token for bootstrapping
- Activate the secondary cluster
- Verify replication health
- Demonstrate configuration propagation
Prerequisites
| Cluster | Address | Root Token |
|---|---|---|
| Primary Vault | 10.1.102.170 | hvs.KYjTNrIdzAoPkriOuDStfClA |
| Secondary Vault | 10.1.102.156 | hvs.AVecCoMzQSmLYTQ9ufdpRAZ |
- Both clusters must be initialized and unsealed.
- Vault CLI installed and pointing to the correct
VAULT_ADDR.
1. Enable Performance Replication on the Primary
-
Authenticate to the primary cluster
-
Turn on performance replication
Enabling primary replication will make Vault briefly unavailable. Plan for a short maintenance window.
2. Generate a Secondary Bootstrap Token
Create a wrapped token to securely initialize the secondary:wrapping_token to use in the next step.
3. Activate the Secondary Cluster
-
Authenticate to the secondary cluster
-
Enable performance replication on the secondary using the wrapped token
Vault will be unavailable until the initial sync and setup tasks complete.
4. Verify Replication Status
On the secondary cluster, confirm health and connectivity:| Key | Example Value |
|---|---|
| mode | secondary |
| connection_state | ready |
| known_primary_cluster_addrs | [https://10.1.102.170:8201] |
| state | stream-wal |
ready state with stream-wal indicates that performance replication is healthy.
5. Demonstrate Configuration Propagation
Make a change on the primary to prove replication works:-
On the primary, enable the
userpassauth method and create a user: -
Within seconds, log in on the secondary using that user: