9.2. Spring Boot Narayana 恢复控制器
Spring Boot Narayana 恢复控制器允许在终止前清理待处理的事务来安全地处理 StatefulSet 的缩减阶段。如果执行缩减操作,且 pod 在终止后没有清理,则会恢复前面的副本数,从而有效地取消缩减操作。
StatefulSet 的所有 pod 都需要访问一个共享卷,用于存储属于 StatefulSet 的每个 pod 的终止状态。StatefulSet 的 pod-0 会定期检查状态,并在存在不匹配时将 StatefulSet 扩展至正确的大小。
要使恢复控制器正常工作,需要编辑当前命名空间的权限(角色绑定包含在发布到 OpenShift 的资源集中)。可以使用 CLUSTER_RECOVERY_ENABLED
环境变量禁用恢复控制器。在这种情况下,服务帐户上不需要任何特殊权限,但任何缩减操作都可能会在终止的 pod 上离开待处理的事务,而无需通知。