Hashicorp Vault
HashiCorp Vault āđāļāđāļāđāļāļĢāļ·āđāļāļāļĄāļ·āļāļāļąāļāļāļēāļĢāļāļ§āļēāļĄāļāļĨāļāļāļ āļąāļĒāđāļĨāļ°āļāļēāļĢāđāļāđāļēāļāļķāļāļāđāļāļĄāļđāļĨāļŠāļģāļāļąāļāđāļāļĢāļ°āļāļāđāļāļāļĩ āļĄāļąāļāļāļđāļāļāļāļāđāļāļāļĄāļēāđāļāļ·āđāļāļāļąāļāđāļāđāļ āļāļąāļāļāļēāļĢ āđāļĨāļ°āļāļ§āļāļāļļāļĄāļāļēāļĢāđāļāđāļēāļāļķāļāļāđāļāļĄāļđāļĨāļĨāļąāļāļāđāļēāļ āđ āđāļāđāļ āļĢāļŦāļąāļŠāļāđāļēāļ āļāļĩāļĒāđ API āđāļĨāļ°āļāđāļāļĄāļđāļĨāļāļĩāđāđāļāđāļāļāļ§āļēāļĄāļĨāļąāļāļāļ·āđāļ āđ āđāļāļĒāļĄāļĩāļāļļāļāļŠāļĄāļāļąāļāļīāļāļĩāđāļŠāļģāļāļąāļāļāļąāļāļāļĩāđ
āļāļēāļĢāļāļąāļāđāļāđāļāļāđāļāļĄāļđāļĨāļĨāļąāļ (Secrets Management): Vault āļāđāļ§āļĒāđāļāļāļēāļĢāļāļąāļāđāļāđāļāļāđāļāļĄāļđāļĨāļĨāļąāļāļāđāļēāļ āđ āđāļāļāļĩāđāđāļāļĩāļĒāļ§ āđāļĨāļ°āļāļ§āļāļāļļāļĄāļāļēāļĢāđāļāđāļēāļāļķāļāļāļĒāđāļēāļāđāļāđāļĄāļāļ§āļ āļāļđāđāđāļāđāļāļēāļāļŠāļēāļĄāļēāļĢāļāļāļģāļŦāļāļāļŠāļīāļāļāļīāđāļāļēāļĢāđāļāđāļēāļāļķāļāđāļāđāļāļēāļĄāļāļāļāļēāļāļŦāļĢāļ·āļāļāļēāļĢāļāļģāļŦāļāļāļāđāļĒāļāļēāļĒāđāļāļāļēāļ°
Dynamic Secrets: Vault āļŠāļēāļĄāļēāļĢāļāļŠāļĢāđāļēāļāļāđāļāļĄāļđāļĨāļĨāļąāļāđāļāļāļāļąāđāļ§āļāļĢāļēāļ§āļŠāļģāļŦāļĢāļąāļāļāļēāļĢāđāļāđāļēāļāļķāļāļĢāļ°āļāļāļ āļēāļĒāļāļāļ āđāļāđāļ āļāļēāļāļāđāļāļĄāļđāļĨāļŦāļĢāļ·āļāļāļĢāļīāļāļēāļĢāļāļ·āđāļ āđ āļāļķāđāļāļāđāļāļĄāļđāļĨāļĨāļąāļāđāļŦāļĨāđāļēāļāļĩāđāļāļ°āļāļđāļāļŠāļĢāđāļēāļāđāļŦāļĄāđāđāļāļāļļāļāļāļĢāļąāđāļāļāļĩāđāļĄāļĩāļāļēāļĢāļĢāđāļāļāļāļ āđāļĨāļ°āļāļ°āļŦāļĄāļāļāļēāļĒāļļāđāļĄāļ·āđāļāđāļāđāļāļēāļāđāļŠāļĢāđāļāļŠāļīāđāļ
Encryption as a Service: Vault āđāļŦāđāļāļĢāļīāļāļēāļĢāļāļēāļĢāđāļāđāļēāļĢāļŦāļąāļŠāļāđāļāļĄāļđāļĨāļāđāļēāļ API āđāļāļ·āđāļāđāļāđāđāļāļāļēāļĢāđāļāđāļēāļĢāļŦāļąāļŠāđāļĨāļ°āļāļāļāļĢāļŦāļąāļŠāļāđāļāļĄāļđāļĨāļāđāļēāļ āđ āđāļāļĒāļāļĩāđāđāļāļāļāļĨāļīāđāļāļāļąāļāļŦāļĢāļ·āļāļĢāļ°āļāļāļāđāļēāļ āđ āđāļĄāđāļāļģāđāļāđāļāļāđāļāļāļĄāļĩāļāļēāļĢāļāļąāļāļāļēāļĢāļāļĩāļĒāđāđāļāđāļēāļĢāļŦāļąāļŠāđāļāļ
āļāļēāļĢāļāļ§āļāļāļļāļĄāļāļēāļĢāđāļāđāļēāļāļķāļāļāļĩāđāļāļĨāļāļāļ āļąāļĒ (Access Control): Vault āļĄāļĩāļĢāļ°āļāļāļāļēāļĢāļāļ§āļāļāļļāļĄāļŠāļīāļāļāļīāđāļāļēāļĢāđāļāđāļēāļāļķāļāļāļĩāđāļĨāļ°āđāļāļĩāļĒāļ āļāļđāđāđāļāđāļāļēāļāļāļ°āļŠāļēāļĄāļēāļĢāļāđāļāđāļēāļāļķāļāđāļāļāļēāļ°āļāđāļāļĄāļđāļĨāļāļĩāđāļāļģāđāļāđāļāļāļēāļĄāļāļĩāđāđāļāđāļĢāļąāļāļāļāļļāļāļēāļ āļāļķāđāļāļĨāļāļāļ§āļēāļĄāđāļŠāļĩāđāļĒāļāļāļēāļāļāļēāļĢāđāļāļīāļāđāļāļĒāļāđāļāļĄāļđāļĨāļāļĩāđāđāļĄāđāļāļģāđāļāđāļ
Audit Logging: Vault āļĄāļĩāļāļēāļĢāļāļąāļāļāļķāļāļāļēāļĢāđāļāđāļāļēāļāđāļāļ·āđāļāđāļŦāđāļŠāļēāļĄāļēāļĢāļāļāļĢāļ§āļāļŠāļāļāļāļēāļĢāđāļāđāļēāļāļķāļāđāļĨāļ°āđāļāđāļāļēāļāļāđāļāļĄāļđāļĨāļĨāļąāļāļāđāļēāļ āđ āļāļģāđāļŦāđāļĄāļĩāļāļ§āļēāļĄāđāļāļĢāđāļāđāļŠāđāļĨāļ°āļŠāļēāļĄāļēāļĢāļāļāļīāļāļāļēāļĄāļāļēāļĢāļāļģāđāļāļīāļāļāļēāļĢāļĒāđāļāļāļŦāļĨāļąāļāđāļāđ
Consul āļāļ·āļāļāļ°āđāļĢ
Consul āđāļāđāļāđāļāļĢāļ·āđāļāļāļĄāļ·āļāļāļĩāđāđāļŦāđāļāļĢāļīāļāļēāļĢ service discovery āđāļĨāļ° distributed key-value store āļāļĩāđāđāļāđāļŠāļģāļŦāļĢāļąāļāđāļāđāļāļāđāļāļĄāļđāļĨāđāļāđāļ āļāļēāļĢāļāļģāļŦāļāļāļāđāļēāđāļĨāļ°āļāđāļāļĄāļđāļĨāļŠāļ āļēāļ§āļ°āļāļēāļĢāļāļģāļāļēāļāļāļāļāļĢāļ°āļāļāđāļāļāļāļĢāļ°āļāļēāļĒāļāļąāļ§ (distributed systems) āđāļāļĒ Consul āļĄāļĩāļāļļāļāļŠāļĄāļāļąāļāļīāļŦāļĨāļąāļ āđ āļāļąāļāļāļĩāđ
High Availability: āļŠāļēāļĄāļēāļĢāļāļāļģāļāļēāļāđāļāđāļŦāļĄāļāļāļĢāļ°āļāļēāļĒāļāļąāļ§āļāļĩāđāļĄāļĩāļŦāļĨāļēāļĒāđāļŦāļāļ (nodes) āđāļāļ·āđāļāđāļāļīāđāļĄāļāļ§āļēāļĄāļāļāļāļēāļāļāđāļāļāļēāļĢāļĨāđāļĄāđāļŦāļĨāļ§
Replication: Consul āļāļ°āļāļģāļāļēāļĢ replicates āļāđāļāļĄāļđāļĨāļĢāļ°āļŦāļ§āđāļēāļāđāļŦāļāļāļŦāļĨāļēāļĒāđāļŦāļāļ āđāļāļ·āđāļāļāļ§āļēāļĄāļāļāļāļēāļāļāđāļāļāļēāļĢāļŠāļđāļāđāļŠāļĩāļĒāļāđāļāļĄāļđāļĨ
Service Discovery: āļĄāļĩāļāļļāļāļŠāļĄāļāļąāļāļīāļāļēāļĢāļāđāļāļŦāļēāļāļĢāļīāļāļēāļĢāđāļĨāļ°āļāļēāļĢāļāļīāļāļāļēāļĄāļŠāļļāļāļ āļēāļ (health checking) āļāļāļāļāļĢāļīāļāļēāļĢāđāļāļĢāļ°āļāļ
āļāļēāļĢāđāļāđ Consul āđāļāđāļ backend āļŠāļģāļŦāļĢāļąāļ HashiCorp Vault āđāļāđāļāļāļēāļĢāļāļąāđāļāļāđāļēāļāļĩāđāļāđāļ§āļĒāđāļŦāđ Vault āļŠāļēāļĄāļēāļĢāļāļāļąāļāđāļāđāļāļāđāļāļĄāļđāļĨāļāļĩāđāļŠāļģāļāļąāļāđāļĨāļ°āļĄāļĩāļāļ§āļēāļĄāļāļāļāļēāļāđāļāļāļēāļĢāļāļģāļāļēāļ āđāļāļĒ Consul āļāļģāļŦāļāđāļēāļāļĩāđāđāļāđāļ Storage Backend āļāļĩāđāļŠāļēāļĄāļēāļĢāļāļāļąāļāđāļāđāļāļāđāļāļĄāļđāļĨāļāđāļēāļ āđ āļāļĩāđ Vault āļāđāļāļāļāļēāļĢāđāļāđāļ āđāļāđāļ Secret, Tokens, āđāļĨāļ°āļāđāļāļĄāļđāļĨāļāļēāļĢāļāļģāļŦāļāļāļāđāļēāļāļ·āđāļ āđ āļāļēāļĢāļāļąāđāļāļāđāļē Consul āđāļāđāļ backend āļĄāļĩāļāļĢāļ°āđāļĒāļāļāđāđāļāļāđāļēāļāļāļēāļĢāļāļąāļāđāļāđāļāļāļĩāđāļāļĨāļāļāļ āļąāļĒāđāļĨāļ°āļāļēāļĢāļāļĢāļ°āļāļēāļĒāđāļŦāļĨāļāļŠāļģāļŦāļĢāļąāļāļāļēāļĢāđāļāđāļāļēāļ Vault āđāļ production environment
āļāļēāļĢāļāļīāļāļāļąāđāļ Hashicorp Vault
āļāļīāļāļāļąāđāļ Consul
āļāļēāļāļāļąāļ§āļāļĒāđāļēāļāļāļĩāđ āļāļ°āļāļīāļāļāļąāđāļ consul āļāļ Kubernetes cluster āļāđāļēāļ Helm Chart āļāļāļ Hashicorp
Architecture
āļāļēāļĄ recommend āļāļāļ Hashicorp āļāļģāļŦāļāļāļ§āđāļē consul server āļāļ§āļĢāļĄāļĩāļāļĒāđāļēāļāļāđāļāļĒ 5 node āđāļĨāļ°āļāļĢāļ°āļāļēāļĒāļāļąāļāļāļĒāļđāđāđāļ 3 AZ āđāļāđāđāļāļĒāļŠāđāļ§āļāļĄāļēāļāļŠāļģāļŦāļĢāļąāļ small production site āđāļāđ 3 node āļāđāđāļāļĩāļĒāļāļāļ āđāļāđāļāļāļąāļ

Hardware Requirement
Small
2-4 core
8-16 GB
100+ GB
3000+ IOPS
75+ MB/s
Large
8-16 core
32-64 GB
200+ GB
7500+ IOPS
250+ MB/s
Network Latency Requirement
round trip time (RTT) āđāļāļāļēāļĢāļŠāļ·āđāļāļŠāļēāļĢāļāļąāļāļĢāļ°āļŦāļ§āđāļēāļ agent āļāđāļāļāđāļĄāđāđāļāļīāļ āļāļąāļāļāļĩāđ
RTT āļāļāļāļāļļāļ traffic āđāļāļĒāđāļāļĨāļĩāđāļĒ āļāđāļāļāđāļĄāđāđāļāļīāļ 50ms
RTT āļāļĩāđ percentile 99 āļāđāļāļāđāļĄāđāđāļāļīāļ 100ms
Firewall rule
RPC
8300 / TCP
All agents (client & server)
Server agents
Used by servers to handle incoming requests from other agents.
Serf LAN
8301 / TCP & UDP
All agents (client & server)
All agents (client & server)
Used to handle gossip in the LAN. Required by all agents.
Serf WAN
8302 / TCP & UDP
Server agents
Server agents
Used by server agents to gossip over the WAN to other server agents. Only used in multi-cluster environments.
HTTP/HTTPS
8500 & 8501 TCP
Localhost of client or server agent
Localhost of client or server agent
Used by clients to talk to the HTTP API. HTTPS is disabled by default.
DNS
8600 TCP & UDP
Localhost of client or server agent
Localhost of client or server agent
Used to resolve DNS queries.
gRPC (Optional)
8502 TCP
Envoy proxy
Client agent or server agent that manages the sidecar proxies service registration
Used to expose the xDS API to Envoy proxies. Disabled by default.
Sidecar Proxy (Optional)
21000 - 21255 TCP
All agents (client & server)
Client agent or server agent that manages the sidecar proxies service registration
Port range used for automatically assigned sidecar service registrations.
āļāļąāļ§āļāļĒāđāļēāļ value file
āļŠāļĢāđāļēāļāđāļāļĨāđ consul.values.yaml
āļāļīāļāļāļąāđāļāļāđāļ§āļĒāļāļģāļŠāļąāđāļāļāļąāļāļāļĩāđ
āļāļīāļāļāļąāđāļ Vault
āđāļāļĢāļĩāļĒāļĄ YAML file āļāļ·āđāļ vault.values.yaml āļāļąāļāļāļĩāđ
āļāļīāļāļāļąāđāļāļāđāļ§āļĒāļāļģāļŠāļąāđāļāļāļąāļāļāļĩāđ
āļŦāļĨāļąāļāļāļēāļāļāļīāļāļāļąāđāļāđāļŠāļĢāđāļ āļāļĢāļ§āļāļŠāļāļāļŠāļāļēāļāļ° vault
āļāļ°āļāļķāđāļāļāļĨāļĨāļąāļāļāđāļ§āđāļēāļāļđāļ seal āđāļ§āđāļāļĒāļđāđ
āđāļāđ command āļāļąāļāļāļĩāđāđāļāļ·āđāļ generate root key āđāļāđāđāļāļāļēāļĢ bootstrap cluster āļāļĢāļąāđāļāđāļĢāļāđāļāđāļēāļāļąāđāļ
āļāļēāļāļāļąāļ§āļāļĒāđāļēāļāļāļēāļāļāļģāļŦāļāļ key 1 āļāļąāļ§āđāļāđāļēāļāļąāđāļ āđāļāļ·āđāļāļāļ§āļēāļĄāļāđāļēāļĒ
āđāļ enterprise āļāļēāļāļāļ°āđāļĄāđāļāļ§āļĢāđāļŠāđ -key-shares=1 -key-threshold=1
āļāļģāļāļēāļĢ unseal vault server
āļāļ°āđāļāđāļāļĨāļĨāļąāļāļāđāļāļąāļāļāļĩāđ
āļāļģ port-forward āđāļāļ·āđāļāļāļāļŠāļāļāđāļāđāļāļēāļ Vault
āđāļāđāļē web browser āļāđāļēāļ http://localhost:8200
āļāļāļŠāļāļ login āļāđāļēāļ UI āļāđāļ§āļĒ token āļāļāļ root
Last updated
Was this helpful?