Quick Start Guide
Get SNAP up and running in minutes! This guide will walk you through the essential steps to create your first checkpoint.
Prerequisites
- SNAP installed and running (see Installation Guide)
- Access to an Openshift/Kubernetes cluster
- Container registry credentials
Step 1: Access SNAP
- Open your browser to
http://localhost:3000
- Login with default credentials:
- Username:
admin
- Password:
admin
- Username:
- Change your password (recommended)
Step 2: Configure Registry
- Navigate to Configuration > Registry
- Click “Add New Registry”
- Fill in details:
Registry Name: nexus-registry Registry URL: https://your-registry.com Username: your-username Password: your-password
- Test connection and save
Step 3: Set Up RBAC (Required)
# Set up RBAC permissions for SnapAPI
cd SnapApi
./setup-snapapi-rbac.sh
This creates the necessary service account and permissions for SnapAPI operations.
Step 4: Add Cluster
- Navigate to Configuration > Clusters
- Click “Add New Cluster”
- Configure cluster:
Cluster Name: production-cluster API Server URL: https://your-openshift-api:6443 Authentication: Upload kubeconfig or enter token Registry: Select your configured registry
- Save configuration
Step 5: Deploy Cluster Monitor
# Deploy the cluster monitoring DaemonSet
kubectl apply -f SnapApi/snap-cluster-monitor-daemonset.yaml
# Verify deployment
kubectl get daemonset -n snap
Step 6: Start SnapWatcher
- Navigate to Operator > Start SnapWatcher
- Select your cluster
- Click “Start SnapWatcher”
- Verify operator is running
Step 7: Create SnapHook (Optional)
- Navigate to SnapHook > Create SnapHook
- Configure:
Name: production-snaphook Cluster: Select your cluster Namespace: snap
- Create SnapHook
Step 8: Test Checkpointing
Deploy Test Application
# Deploy a simple test pod
kubectl run test-app --image=nginx:latest --port=80
# Verify pod is running
kubectl get pods test-app
Create Checkpoint via UI
- Navigate to Checkpoints
- Click “Create Checkpoint”
- Fill in details:
Pod Name: test-app Namespace: default Container Name: test-app Cluster: production-cluster
- Click “Create Checkpoint”
Create Checkpoint via API
curl -X POST "http://localhost:8000/checkpoint/kubelet/checkpoint" \
-H "Content-Type: application/json" \
-d '{
"pod_name": "test-app",
"namespace": "default",
"node_name": "worker-node-1",
"container_name": "test-app",
"cluster_name": "production-cluster"
}'
Step 9: Convert to Image
- Navigate to Checkpoints
- Find your created checkpoint
- Click “Convert to Image”
- Configure image details:
Image Name: test-app-checkpoint Tag: latest Registry: nexus-registry
- Click “Create and Push Image”
Step 10: Verify Results
Check Checkpoint Status
# List checkpoints
curl http://localhost:8000/checkpoint/list
# Check checkpoint files
ls -la SnapApi/src/checkpoints/
Verify Image Creation
# Check registry for new image
docker pull your-registry.com/test-app-checkpoint:latest
# Or check via kubectl
kubectl get images | grep test-app-checkpoint
Step 11: Restore Checkpoint
Restore from Image
# Deploy restored application
kubectl run restored-app --image=your-registry.com/test-app-checkpoint:latest
# Verify restoration
kubectl get pods restored-app
kubectl logs restored-app
Quick Commands Reference
Essential kubectl Commands
# Check cluster status
kubectl cluster-info
# List nodes
kubectl get nodes
# Check DaemonSet
kubectl get daemonset -n snap
# View pod logs
kubectl logs test-app
Essential SNAP API Commands
# Check API health
curl http://localhost:8000/health
# List clusters
curl http://localhost:8000/cluster/list
# List checkpoints
curl http://localhost:8000/checkpoint/list
# Get cluster status
curl http://localhost:8000/cluster/status/production-cluster
What’s Next?
Now that you have SNAP running:
- Explore the API Documentation
- Set up Automation Workflows
- Configure Security Settings
- Learn about Advanced Features
Troubleshooting
Common Issues
Checkpoint Creation Fails
- Verify pod is running:
kubectl get pods
- Check node permissions:
kubectl describe node
- Review API logs:
docker-compose logs snapapi
Registry Push Fails
- Verify registry credentials
- Check network connectivity
- Review registry logs
SnapWatcher Not Starting
- Verify cluster permissions
- Check operator logs
- Ensure DaemonSet is deployed
RBAC Permission Errors
- Run RBAC setup script:
cd SnapApi && ./setup-snapapi-rbac.sh
- Verify service account permissions:
oc auth can-i get pods --as=system:serviceaccount:snap:snapapi-serviceaccount
- Check token validity in cluster configuration
Getting Help
- Documentation: Check relevant guides
- Issues: GitHub Issues
- Support: support@weaversoft.io
Success!
Congratulations! You’ve successfully:
- ✅ Installed and configured SNAP
- ✅ Set up RBAC permissions
- ✅ Connected to your Openshift cluster
- ✅ Created your first checkpoint
- ✅ Converted checkpoint to container image
- ✅ Restored application from checkpoint
You’re now ready to use SNAP for production container checkpointing and migration workflows!