Skip to content

ohanyere/EKS-Disaster-Recovery-Platform

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 

Repository files navigation

EKS Disaster Recovery Platform

Phase 1 creates an isolated Kubernetes namespace and deploys a simple HTTP application that can later be backed up and restored.

Prerequisites

  • A working Kubernetes cluster, such as AWS EKS or an existing local cluster
  • kubectl configured for the target cluster

Deploy

Apply the base manifests:

kubectl apply -k deploy/base

Validate

Check that the namespace, pods, and service were created:

kubectl get ns disaster-recovery-demo
kubectl get pods -n disaster-recovery-demo
kubectl get svc -n disaster-recovery-demo

Forward the service to your local machine:

kubectl port-forward svc/disaster-demo -n disaster-recovery-demo 8080:80

In a second terminal, call the application:

curl localhost:8080

Expected response:

disaster-demo version v1

Resources

  • Namespace: disaster-recovery-demo
  • Deployment: disaster-demo
  • Service: disaster-demo
  • Replicas: 2
  • Service type: ClusterIP

Live Disaster Recovery Test

Live validation was completed against an EKS cluster on April 28, 2026.

Steps Performed

  1. Confirmed the cluster was reachable with kubectl get nodes and kubectl get ns.
  2. Applied the Phase 1 application manifests with kubectl apply -k deploy/base.
  3. Verified the disaster-recovery-demo Pods and Service.
  4. Port-forwarded svc/disaster-demo and confirmed the app returned disaster-demo version v1.
  5. Installed Velero with the AWS plugin and S3 backup storage.
  6. Created disaster-backup for namespace disaster-recovery-demo.
  7. Confirmed the backup completed successfully with 0 errors and 0 warnings.
  8. Simulated failure by deleting namespace disaster-recovery-demo.
  9. Restored the namespace from disaster-backup.
  10. Verified Pods and Service were recreated.
  11. Port-forwarded the restored Service and confirmed the app returned disaster-demo version v1.

Evidence

Raw command output for each screenshot is also stored in docs/evidence/*.txt.

Recovery Result

Velero backed up 23 Kubernetes resources from disaster-recovery-demo into S3. After namespace deletion, Velero restored 10 resources, including the namespace, Deployment, Pods, Service, and ServiceAccount. The restored application became healthy and returned the expected response through the restored Service.

Backup duration reported by Velero: 2 seconds.

Restore duration reported by Velero: 2 seconds.

Final verdict: SUCCESS. Full recovery from namespace deletion was proven and verified.

About

EKS disaster recovery platform using Velero, S3 backups, failure simulation, and restore validation to prove Kubernetes workload recovery.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages