Hashicorp存储类型从"file"迁移到"raft"



我正在尝试将RKE2集群中运行的存储类型为file的Hashicorp Vault独立迁移到存储类型为raft的Hashicorp Vault HA。但还是有一些问题。我们使用的是0.22.0版本的Helm图表。下面是我所遵循的步骤:

  1. 创建一个临时的Vault Raft在RKE2中运行,只有一个副本(不初始化Vault)
  2. Exec进入存储类型为file
  3. 的旧Vault容器
  4. 进入/vault/文件夹并在其中创建一个raft文件夹
  5. 执行vault operator migrate --config migrate.hcl命令迁移。hcl文件看起来像这样:
storage_source "file" {
path = "/vault/data/"
}
storage_destination "raft" {
path = "/vault/raft/"
node_id = "vault-raft-0"
}
cluster_addr="https://127.0.0.1:8201"
  1. 迁移完成,它创建了一个vault.db文件到/vault/raft/和一个raft.db文件到/vault/raft/raft/,包括一个名为snapshots的空文件夹。
  2. 然后我将整个/vault/raft/文件夹复制到我的本地pc,并再次复制到临时的Vault Raft容器中。它具有相同的数据存储挂载路径,因此:/vault/raft/
  3. 复制文件后,我重新部署了临时的Vault Raft,因为pvc不会被删除,并检查它是否仍然有复制的.db文件在里面。
  4. 最后我试图解开它,但在运行第三个命令后,它返回以下消息:Error unsealing: context deadline exceeded

我做错了什么吗?

可能有点晚了,但是我的工作流程听起来是这样的:

  1. 创建迁移。hcl与内容:
storage_source "file" {
path = "/vault/data/"
}
storage_destination "raft" {
path = "/vault/data/"
}
cluster_addr = "https://vault-0.vault-internal:8201"
  1. 然后运行vault operator migrate -config=migrate.hcl
  2. 卸载以前的部署。
  3. 安装启用了raft的部署
  4. 在vault-0运行vault operator unseal
  5. 在其他pod上运行vault operator raft join http://vault-0.vault-internal:8200vault operator unseal

这个为我工作

最新更新