Vault 集成存储的自动驾驶(Autopilot)功能

自动驾驶功能可以自动化管理 Raft 集群。当前包含了 3 个主要功能:稳定服务器(Server Stabilization)、清理死服务器(Dead Server Cleanup)和状态 API(State API)。这三个功能是在 Vault 1.7 中引入的。

稳定服务器

稳定服务器功能通过安全地将新投票节点加入集群来保持 Raft 集群的稳定性。当一个新的投票节点加入现有集群时,自动驾驶会先将其添加为非投票节点,并等待预先配置的时间来监控它的健康状况。如果节点在期间保持健康,则该节点将被提升为投票节点。这个服务器稳定期限可以使用 server_stabilization_time 进行调整(见下文)。

清理死服务器

死服务器清理会自动从 Raft 集群中删除被认为不健康的节点,避免需要操作员人工干预。可以使用 cleanup_dead_serversdead_server_last_contact_thresholdmin_quorum(见下文)调整此功能的行为。

状态 API

State API 可以通过一次调用返回提供有关 Raft 集群中所有节点的详细信息。该 API 可用于监控集群健康状况。

跟随者(Follower)健康状态

跟随者节点的健康状态由两个因素构成:

  • 它能否定期向领导节点发送心跳。使用 last_contact_threshold 参数调整(见下文)。
  • 它能否及时处理来自领导节点的复制数据。使用 max_trailing_logs 参数调整(见下文)。

默认配置

默认情况下,使用 Vault 1.7 及以上版本的集群将启用自动驾驶功能,但是默认情况下不启用清理死服务器。使用旧版本 Vault 部署的 Raft 集群在升级后也将自动过渡到使用自动驾驶。

自动驾驶功能暴露了一个配置 API 来管理它的行为。自动驾驶初始化时使用以下默认值:

  • cleanup_dead_servers - false
  • dead_server_last_contact_threshold - 24h
  • min_quorum - 此选项没有默认值,并且当 cleanup_dead_servers 设置为 true 时,至少要将其设置为 3。
  • max_trailing_logs - 1000
  • last_contact_threshold - 10s
  • server_stabilization_time - 10s

复制

性能辅助集群(Performance secondary clusters)拥有自己的自动驾驶配置,独立于主集群进行管理。

灾难恢复辅助集群(DR secondary clusters)也拥有自己的自动驾驶配置(从 Vault 1.8.0 开始),独立于主集群进行管理。 自动驾驶 API 使用 DR 操作令牌进行授权。

results matching ""

    No results matching ""