高可用
vault用于生产环境的私密信息管理,基于此,vault服务宕机会影响到下游的所有使用者,vault被设计的支持高可用部署,降低一台机器或一个进程宕掉时的破坏性,
设计概述
vault的设计目的在于使其在短时间宕机时能保障vault的高可用,而不是水平可伸缩性。vault通常受限于与存储库(storage backend)之间的IO,而不是服务器的计算性能,这简化了HA的方法,并且避免了复杂的协调操作。
某些存储后端,如Consul,提供额外的协调功能,使vault运行在HA模式下。当存储后端支持高可用时,vault不需要额外的配置,便会自动在HA模式下运行。
在HA模式下运行时,vault服务器有两种状态:备用节点和活跃节点,多个vault服务器节点共享一个存储后端,在某一时刻只有一个节点处于活跃,其他节点处于热备用状态
活跃节点按通常的方式运行并处理所有请求。备用节点不处理请求,而是将请求重定向到活动节点。这个过程中,如果活动节点是密封(seal),失败,或丢失链接,其中一个备用节点将接管其功能并成为活动节点。
需要注意的是,只有启封(unseal)服务器可以作为备用节点。如果vault服务器仍在密封状态,那么它不能作为备用节点,因为当活动节点挂掉时它将无法提供任何请求操作。