-
Notifications
You must be signed in to change notification settings - Fork 50
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Explore using Velero for backups of Kubeflow user-namespaces #1097
Comments
Thank you for reporting us your feedback! The internal ticket has been created: https://warthogs.atlassian.net/browse/KF-6345.
|
For setting up the necessary infra and CLIs I used the following instructions: Install the Velero binary wget https://github.com/vmware-tanzu/velero/releases/download/v1.14.1/velero-v1.14.1-linux-amd64.tar.gz
tar -xsvf velero-v1.14.1-linux-amd64.tar.gz
mv velero-v1.14.1-linux-amd64/velero ~/.local/bin
rm -rf velero-v1.14.1-linux-amd64
rm -rf velero-v1.14.1-linux-amd64.tar.gz Setup S3 For RadosGW sudo snap install microceph
sudo microceph cluster bootstrap
sudo ceph -s
sudo microceph disk add loop,4G,3
sudo ceph -s
sudo microceph enable rgw
USER=kimwnasptd
sudo radosgw-admin user create --uid=$USER --display-name=$USER
# sudo radosgw-admin user list
ACCESS_KEY=$(sudo radosgw-admin user info \
--uid kimwnasptd \
| jq -r ".keys[0].access_key")
SECRET_KEY=$(sudo radosgw-admin user info \
--uid kimwnasptd \
| jq -r ".keys[0].secret_key")
mc alias set radosgw "http://$(hostname)" $ACCESS_KEY $SECRET_KEY
# Buckets
mc mb radosgw/velero
mc ls radosgw For AWS S3, you can follow Velero's instruction for setting up IAM and Policies for Velero ServiceAccount to talk to an AWS S3 bucket https://github.com/vmware-tanzu/velero-plugin-for-aws#setup Velero credentials cat <<EOF > "./credentials-velero"
[default]
aws_access_key_id = $ACCESS_KEY
aws_secret_access_key = $SECRET_KEY
EOF |
InstallingNote that we can perform all the management of Velero (installation, operations) via For installing we can use the following command (RadosGW) velero install \
--provider aws \
--plugins velero/velero-plugin-for-aws:v1.10.0 \
--bucket $BACKUP_BUCKET \
--secret-file ./credentials-velero \
--use-volume-snapshots=false \
--use-node-agent \
--backup-location-config region=minio,s3ForcePathStyle="true",s3Url=http://$(hostname),publicUrl=http://$(hostname) Pay close attention to the We can get a list of all the manifests that get applied by the Lastly, the CLI helps with the creation of a |
Next up I tried to explore how can we make backups of I managed to do this with the following command: BACKUP_NAME=backup-$(date '+%Y-%m-%d--%H-%M')
velero backup create \
$BACKUP_NAME \
--include-namespaces kubeflow-user-example-com \
--include-cluster-scoped-resources profiles.kubeflow.org
# --default-volumes-to-fs-backup
velero backup describe $BACKUP_NAME --details The above will make a backup of all The There are 2 approaches we can take:
With my current understanding we can have as the default one to be the provider, and if not supported then fall-back to |
Lastly, I tried to then restore the velero restore create --from-backup $BACKUP_NAME This will result in a
The second one can be resolved if we manually add the For this I had seen some messages in the velero server like the following:
|
To summarise until this point:
|
Context
As part of being able to do reversible upgrades #1096 we need to be able to make a copy of
One popular project for this purpose is Velero, which can utilise both the public cloud's architecture (i.e. EBS CSI driver for backup all
PersistentVolumes
in AWS) and also File System Backup, for vanilla K8s clusters (i.e. on top of OpenStack).What needs to get done
Definition of Done
The text was updated successfully, but these errors were encountered: