Vault 和 Consul:Consul 中未显示 Vault 存储 UI

Vault and Consul: Vault storage not showing up in Consul UI

我正在尝试在我的 Kubernetes 集群上设置 Vault,并将 Consul 作为存储。我已经关注 this official tutorial,它使用 Helm 图表在 Kubernetes 上安装 Consul 和 Vault,并设置 Vault 以使用 Consul 作为存储。安装成功,如下所示:

NAME                                                              READY   STATUS    RESTARTS   AGE
hashicorp-consul-connect-injector-webhook-deployment-84589dtg6k   1/1     Running   0          43m
hashicorp-consul-server-0                                         1/1     Running   0          43m
hashicorp-consul-rscsm                                            1/1     Running   0          43m
hashicorp-consul-jdtbj                                            1/1     Running   0          43m
hashicorp-consul-x4hmc                                            1/1     Running   0          43m
vault-agent-injector-5945fb98b5-78gw8                             1/1     Running   0          34m
vault-0                                                           1/1     Running   0          34m

之后,我通过 运行

手动将 Vault 注册为服务

consul services register vault.json

其中 vault.json 为:

{"service": {"name": "vault", "tags": ["vault-tag"], "port": 8200}}

现在,在 Consul 的仪表板 UI 中,我可以在服务中看到带有绿色勾号的 Vault,这表明正在正确执行健康检查,但是当我在 Vault 中创建键值时,我看不到任何在 UI 的键值菜单中创建存储。如果有人能帮助我理解这里出了什么问题,我将不胜感激。

虽然教程中没有提到,但Consul只是在Vault以High Availability模式安装时用作存储。我通过 运行:

在这种模式下重新创建了我的集群并重新安装了 Vault
helm install --name vault \
    --set='server.ha.enabled=true' \
    https://github.com/hashicorp/vault-helm/archive/v0.3.0.tar.gz

现在,Vault 在 Consul 中自动注册为一项服务,其存储显示在 Consul 的 Key/Value 菜单中。