7.2. Spring Boot Narayana 복구 컨트롤러

Spring Boot Narayana 복구 컨트롤러를 사용하면 종료 전에 보류 중인 트랜잭션을 정리하여 StatefulSet의 축소 단계를 정상적으로 처리할 수 있습니다. 축소 작업이 실행되고 종료 후 Pod가 정리되지 않으면 이전 복제본 수가 복원되므로 축소 작업을 효과적으로 취소합니다.

StatefulSet의 모든 Pod는 StatefulSet에 속하는 각 Pod의 종료 상태를 저장하는 데 사용되는 공유 볼륨에 액세스해야 합니다. StatefulSet의 pod-0은 주기적으로 상태를 확인하고 불일치가 있는 경우 StatefulSet을 올바른 크기로 스케일링합니다.

복구 컨트롤러가 작동하려면 현재 네임스페이스에 대한 권한을 편집해야 합니다(OpenShift에 게시된 리소스 세트에 역할 바인딩이 포함되어 있음). CLUSTER_RECOVERY_ENABLED 환경 변수를 사용하여 복구 컨트롤러를 비활성화할 수 있습니다. 이 경우 서비스 계정에 특별한 권한이 필요하지 않지만 축소 작업에서는 사전 통지 없이 종료된 Pod에 보류 중인 트랜잭션이 남길 수 있습니다.