我正在尝试使用Consul作为存储在Kubernetes群集上设置Vault。我遵循了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的信息中心用户界面中,我可以看到带有绿色勾号的服务中的保险柜,表明运行状况检查已正确执行,但是当我在保险柜中创建键值时,我看不到在键中创建任何存储,用户界面的值菜单。如果有人可以帮助我了解这里的问题,我将不胜感激。
尽管本教程中未提及,但只有在以高可用性模式安装Vault时,Consul才用作存储。我通过运行
以这种模式重新安装了Vaulthelm install --name consul \
--values helm-consul-values.yml \
--set='server.ha.enabled=true' \
https://github.com/hashicorp/consul-helm/archive/v0.15.0.tar.gz
现在,Vault已在Consul中自动注册为服务,并且其存储显示在Consul的Key / Value菜单中。