# Vault 部署和配置指南 本文档提供了在现有Consul集群节点上部署和配置HashiCorp Vault的详细步骤。 ## 1. 前置准备 ### 1.1 创建数据目录 在每个节点上创建Vault数据目录: ```bash sudo mkdir -p /opt/vault/data sudo chown -R nomad:nomad /opt/vault ``` ### 1.2 生成TLS证书(生产环境必须) ```bash # 生成CA证书 vault operator generate-root -generate-only -type=tls > ca.cert # 生成服务器证书 vault operator generate-server-cert > server.cert ``` ## 2. 部署Vault集群 ### 2.1 使用Nomad部署 将`vault-cluster.nomad`文件提交到Nomad: ```bash nomad job run vault-cluster.nomad ``` ### 2.2 验证部署状态 ```bash # 检查Nomad任务状态 nomad job status vault-cluster # 检查Vault服务状态 curl http://localhost:8200/v1/sys/health ``` ## 3. 初始化和解封Vault ### 3.1 初始化Vault 在任一节点上执行: ```bash # 初始化Vault,生成解封密钥和根令牌 vault operator init -key-shares=5 -key-threshold=3 ``` **重要提示:** 安全保存生成的解封密钥和根令牌! ### 3.2 解封Vault 在每个节点上执行解封操作(需要至少3个解封密钥): ```bash # 解封Vault vault operator unseal <解封密钥1> vault operator unseal <解封密钥2> vault operator unseal <解封密钥3> ``` ## 4. 配置Vault ### 4.1 登录Vault ```bash # 设置Vault地址 export VAULT_ADDR='http://127.0.0.1:8200' # 使用根令牌登录 vault login <根令牌> ``` ### 4.2 启用密钥引擎 ```bash # 启用KV v2密钥引擎 vault secrets enable -version=2 kv # 启用AWS密钥引擎(如需要) vault secrets enable aws # 启用数据库密钥引擎(如需要) vault secrets enable database ``` ### 4.3 配置访问策略 ```bash # 创建策略文件 cat > nomad-server-policy.hcl <