Configuring 3DSnaps for AWS EKS
Summary and Key concepts
Summary This article explains how to configure 3DSnaps in Portworx, allowing users to run pre- and post-snapshot rules on application pods. These rules can quiesce the application (e.g., flush tables or lock databases) before a snapshot and resume operations after the snapshot. The process involves creating Stork rules (which define the actions and pods to be affected) and then referencing those rules in VolumeSnapshot or GroupVolumeSnapshot objects. Several example rules are provided for applications like MySQL, MongoDB, and Cassandra, showing how to perform pre- and post-snapshot operations using commands. The article also covers how to verify and restore snapshots.
Kubernetes Concepts
- VolumeSnapshot: Allows users to take snapshots of PersistentVolumes, with pre- and post-snapshot rules applied for quiescing and resuming applications.
- PersistentVolumeClaim (PVC): The snapshots apply to the volumes managed by PVCs in Kubernetes.
- Custom Resource Definition (CRD): The Stork
Rule
CRD defines the pre- and post-snapshot operations in this workflow.
Portworx Concepts
-
Stork: A tool used to manage storage operations, including executing pre- and post-snapshot rules during snapshot creation.
-
Group Snapshots: A feature allowing users to take a snapshot of multiple volumes at once, typically used with pre- and post-execution rules.
For each of the snapshot types, Portworx supports specifying pre and post rules that are run on the application pods using the volumes being snapshotted. This allows users to quiesce the applications before the snapshot is taken and resume I/O after the snapshot is taken.
The high level workflow for configuring 3DSnaps involves creating rules and later on referencing the rules when creating the snapshots.