Vault
介绍By HashiCrop,Vault是一种密钥存储的服务工具软件,如大量的账户名、密码、Key\加密Key等,它有灵活的权限控制、详细的操作记录、历史版本等。目前是有商用版和开源版提供,即支持命令行操作又支持UI管理界面,十分成熟且有好些年头了,支持命令行操作和Web管理。 官网:hashicorp-vault, 代码库:vault-github 安装使用Vault是HashiCrop公司推出,他们公司还有个产品叫:Consul,相信这个肯定知道的。 对于敢在官网直接放Github社区源代码链接的公司,天然有好感。官网菜单有个“learn”选项里面有非常详细的安装、启动、使用文档(都是英文),按着一步步很轻松就能掌握Vault。在国内访问网站经常会连不上,他们还没有提供PDF下载,对于新手来说会有掉链子的感觉。 安装的是1.3.1版本(目前最新了),配置分享给大家看看。实施的具体步骤就不说了,官网已经在傻瓜式介绍了,再啰嗦没有意义。它的配置采用他们自定义的HCL语法,代码也是采用Go编写同时开源了。 disable_mlock = trueui = truestorage 'mysql' { address = '127.0.0.1:3306' username = 'mysql' password = 'mysql' database = 'vault' ha_enabled = 'true'}listener 'tcp' { address = '127.0.0.1:8200' tls_disable = 1 tls_disable_client_certs = 1}cluster_name = 'cluter_vault'disable_cache = truelog_level = 'Debug'api_addr = 'http://127.0.0.1:8200' 吐槽一下官网文档中关于API这块就是坑,文档对于URL的PATH描述和示例都是错误的,如下:
在path中是有关键字段的,如“data”,看下图: 官网在API请求路径描述上是错误的(应该是没及时更新),实在是害人不浅,但有个help接口是正确的可以帮助理解path的格式规范,如:http://localhost:8200/v1/secret/?help=1。作为SpringCloudConfig选项后台,目前到data层面的保存使用已经跑通也基本够使用,其他的后续再慢慢摸索。 支持多种存储下面列出常规的选择,其他等详细可以去官网看:>>> 点击跳转 <<<
前三种1、2、3是比较靠谱方式,稳定性自不用说,很多公司用来做服务的注册与发现集群(可能它们还有存储的功能),根据自己情况定。 4是传统数据库代表,一般选用mysql,因为会使用的人远远不只是工程师和DBA,普用性高且稳定可靠。5是最简单的存储选型了,相当于本地化了,与服务器绑定,迁移备份需要自己思考做方案。
Mysql方案会涉及两张表:vault\vault_lock。vault是核心表,数据存储格式一律是“BLOB”,安全稳定谁也别想改。迁移也简单了,直接Copy。 总结思考定位:使用简单、稳定可靠、HA、数据备份。 在SpringCloudConfig后台选型中比较看好GitLab和Vault,相对来说个人更喜欢Vault,但集成难度和学习成本比不了GitLab轻松简单。作为企业DevOps一体化方案的一部分还是以GitLab为中心选型好些,毕竟CI\CD放在那且大多数工程师都会Git。
|
|
来自: 昵称16619343 > 《区块链》