Prerequisites
- AWS Account
- EC2 Instance/Laptop with installed tools:
a. AWS CLI
b. kubectl - the Kubernetes CLI
c. eksctl - the CLI for AWS EKS
d. helm - the package manager for Kubernetes
import boto3 | |
def GetInstanceRunning(): | |
client = boto3.client('ec2') | |
ec2_regions = [region['RegionName'] for region in client.describe_regions()['Regions']] | |
for region in ec2_regions: | |
ec2 = boto3.resource('ec2') | |
instances = ec2.instances.filter(Filters=[{'Name': 'instance-state-name', 'Values': ['running']}]) | |
return [instance.id for instance in instances] |
BACKUP_NAME = wp-backup | |
velero restore create --from-backup $BACKUP_NAME |
velero backup create wp-backup --include-namespace wordpress | |
velero backup get | |
velero backup describe wp-backup |
velero install --provider gcp --plugins velero/velero-plugin-for-gcp:v1.5.0 --bucket velero-backup --secret-file ./credentials-velero --use-volume-snapshots=true |
wget -c https://github.com/vmware-tanzu/velero/releases/download/v1.9.2/<RELEASE-TARBALL-NAME>.tar.gz | |
tar -xvf <RELEASE-TARBALL-NAME>.tar.gz | |
sudo cp <RELEASE-TARBALL-NAME>/velero /usr/bin/ |
gcloud iam service-accounts create velero-backup-anandadwi --display-name "Velero SA" | |
SERVICE_ACCOUNT_EMAIL=$(gcloud iam service-accounts list --filter="displayName:Velero SA" --format 'value(email)') | |
gcloud iam service-accounts list | |
ROLE_PERMISSIONS=( | |
compute.disks.get | |
compute.disks.create | |
compute.disks.createSnapshot | |
compute.snapshots.get | |
compute.snapshots.create |
BUCKET=velero-backup-anandadwi | |
gsutil mb gs://$BUCKET/ | |
# verify | |
gsutil ls |
export RESTORE="manual-restore1" | |
gcloud alpha container backup-restore restores create $RESTORE \ | |
--project=$PROJECT_ID \ | |
--location=$GCP_REGION \ | |
--restore-plan=$RESTORE_PLAN \ | |
--backup=projects/$PROJECT_ID/locations/$LOCATION/backupPlans/$BACKUP_PLAN/backups/$BACKUP \ | |
--wait-for-completion |
export RESTORE_LOCATION="us-central1" | |
export RESTORE_PLAN="gke-central1-b-restore" | |
export CLUSTER2="projects/$PROJECT_ID/locations/$GCP_REGION/clusters/$CLUSTER_NAME2" | |
export CLUSTER_RESOURCE_CONFLICT_POLICY="use-backup-version" | |
export NAMESPACED_RESOURCE_RESTORE_MODE="delete-and-restore" | |
export VOLUME_DATA_RESTORE_POLICY="restore-volume-data-from-backup" |