<矩形寬度=“1200”高度=“340”rx=“12”填滿=“url(#bg-7622)”/>
<矩形x =“60”y =“50”寬度=“4”高度=“60”rx =“2”填滿=“#f472b6”/>
<矩形x =“80”y =“50”寬度=“121”高度=“28”rx =“14”填滿=“#f472b6”不透明度=“0.15”/>
1.在 Linux 安裝 Vault
Ubuntu/Debian
# Thêm HashiCorp GPG 金鑰 wget -O- https://apt.releases.hashicorp.com/gpg | sudo gpg --dearmor -o /usr/share/keyrings/hashicorp-archive-keyring.gpg他們的儲存庫
echo "deb [arch=$(dpkg --print-architecture) 簽署者=/usr/share/keyrings/hashicorp-archive-keyring.gpg] https://apt.releases.hashicorp.com $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/sourcecorp.list.
Cài đặt Vault
sudo apt update && sudo apt install Vault
Xác nhận cài đặt
vault version
Vault v1.21.x
CentOS/RHEL
# Thêm 儲存庫 sudo yum install -y yum-utils sudo yum-config-manager --add-repo https://rpm.releases.hashicorp.com/RHEL/hashicorp.repoCài đặt Vault
sudo yum 安裝保管庫
vault version
macOS
# Sử dụng Homebrew 釀造水龍頭哈希公司 釀造安裝 hashcorp/tap/vault
vault version
2.執行 Vault 開發伺服器
Dev Server 為開發模式,所有資料都儲存在記憶體中,TLS 停用,自動解封:
# Khởi chạy 開發伺服器
vault server -dev
# 輸出如下:
# 解封密鑰:...
# 根令牌:hvs.xxxxx
# Trong終端khác,匯出環境變量
匯出 VAULT_ADDR='http://127.0.0.1:8200'
導出 VAULT_TOKEN='hvs.xxxxx'
#Kiểm tra trạng thai
vault status
⚠️警告:開發伺服器永遠不應該用於生產。重啟時資料遺失,無TLS,直接使用根令牌。
3.配置生產
保險箱設定檔 (vault.hcl)
# /etc/vault.d/vault.hcl# 儲存後端-整合式儲存(Raft) 存放“筏”{ 路徑=“/opt/vault/data” node_id = “庫節點-1” }監聽器 - TCP với TLS
偵聽器“tcp”{ 地址 =“0.0.0.0:8200” tls_cert_file =“/opt/vault/tls/vault-cert.pem” tls_key_file = “/opt/vault/tls/vault-key.pem” }
介面位址
api_addr = “https://vault.example.com:8200" cluster_addr = “https://vault.example.com:8201"
使用者介面
使用者介面=真
停用 mlock(建議使用 cho 容器)
停用_mlock = true
遙測
遙測{ prometheus_retention_time = "30s" 禁用主機名稱 = true }
系統服務
# /etc/systemd/system/vault.service [單位] 描述=HashiCorp Vault 文檔=https://developer.hashicorp.com/vault/docs 需要=網路在線.target After=網路在線.target ConditionFileNotEmpty=/etc/vault.d/vault.hcl[服務] 使用者=保管庫 組=庫 保護系統=完整 ProtectHome=唯讀 PrivateTmp=是 私人設備=是 SecureBits=保持上限 環境能力=CAP_IPC_LOCK 沒有新權限=是 ExecStart=/usr/bin/vault 伺服器-config=/etc/vault.d/vault.hcl ExecReload=/bin/kill --signal HUP $MAINPID KillMode=進程 KillSignal=SIGINT 重新啟動=失敗時 重啟秒=5 超時停止秒=30 限制NOFILE=65536 LimitMEMLOCK=無窮大
[安裝] WantedBy=多用戶.target
4.使用 Docker Compose 的 Vault
# docker-compose.yml
服務:
vault:
圖片:hashicorp/vault:1.21
容器名稱:保管庫
重新啟動:除非停止
連接埠:
- “8200:8200”
環境:
VAULT_ADDR:「http://0.0.0.0:8200"
VAULT_API_ADDR:「http://0.0.0.0:8200"
卷:
- 保險庫數據:/保險庫/數據
- ./config:/vault/config
上限加:
-IPC_鎖定
指令:vault server -config=/vault/config/vault.hcl
卷:
vault-data:
5。初始化 Vault(操作員初始化)
# Khởi tạo Vault lần đầu
vault operator init
# 輸出:
# 解封密鑰1:xxx
# 解封密鑰2:xxx
# 解封密鑰3:xxx
# 解封密鑰4:xxx
# 解封密鑰5:xxx
# 初始根令牌:hvs.xxxxx
# 解封金庫(cần 3 trong 5 個鑰匙 mặc định)
vault operator unseal <key-1>
vault operator unseal <key-2>
vault operator unseal <key-3>
# 自訂密鑰共享 và 閾值
vault operator init -key-shares=3 -key-threshold=2
#Kiểm tra trạng thai
vault status
# 密封:假
# HA 已啟用:true
6.使用 Helm 在 Kubernetes 上部署 Vault
# Thêm Helm 儲存庫
helm repo add hashicorp https://helm.releases.hashicorp.com
helm repo update
# Cài đặt Vault 獨立版
helm install vault hashicorp/vault \
--set "server.dev.enabled=false" \
--set "server.ha.enabled=true" \
--set "server.ha.replicas=3" \
--設定“server.ha.raft.enabled=true”
# 在 Kubernetes 中使用 Vault
kubectl exec vault-0 -- vault operator init
kubectl exec vault-0 -- vault operator unseal <key>
7.摘要
在本文中,您學習如何在各種平台上安裝 Vault,從裸機 Linux 到 Docker 和 Kubernetes。重要的一點是了解開發伺服器(僅測試)和生產模式(需要 TLS、持久性儲存、正確的初始化/解封)之間的差異。下一篇文章將深入探討 Vault CLI、API 和 Web UI。