]
Ryan Emerson updated ISPN-12222:
--------------------------------
Status: Pull Request Sent (was: Open)
Git Pull Request:
Infinispan Backup Operator Integration
--------------------------------------
Key: ISPN-12222
URL:
https://issues.redhat.com/browse/ISPN-12222
Project: Infinispan
Issue Type: Enhancement
Components: Operator
Reporter: Ryan Emerson
Assignee: Ryan Emerson
Priority: Major
In kubernetes environments the operator can be used to automate the steps required by a
user to perform a backup of container content.
Typically an Infinispan pod will have a minimal volume size in order to prevent excessive
resource allocation, say 1GB. However, if a cluster is large then it's very likely
that it's in-memory content will exceed this amount. Therefore, during a cluster
backup it's necessary to mount a volume with sufficient capacity to accomodate the
created backup file. To automate this process we should create a backup CRD.
h3. Workflow
The operator provisions an additional pod with a mounted volume for storing the final
backup. This pod joins the Infinispan cluster with {{zero-capacity-node=true}} so that no
state-transfer is performed when joining. The operator then initiates the backup procedure
on this node, via this node's REST endpoint, using the path of the mounted volume as
the backups final destination. On completion, the pod of the zero-capacity-node is
terminated.
h4. Restore
The same workflow can be used for restoring a backup from an existing volume.
h3. CR Parameters:
* Backup path
* Resources to include
* Existing volume to mount
* Create volume with x capacity, x could be automatically determined by inspecting the
container content
* Shutdown cluster on completion?