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