mirror of
https://github.com/projectcapsule/capsule.git
synced 2026-08-25 16:07:24 +00:00
docs(velero): add documentation about velero-restore script
This commit is contained in:
committed by
Dario Tranchitella
parent
80143ffd50
commit
e1e75a093b
@@ -39,6 +39,7 @@ Bill, at Acme Corp. can use Capsule to address any of the following scenarios:
|
||||
* [Taint Namespaces](./taint-namespaces.md)
|
||||
* [Assign multiple Tenants to an owner](./multiple-tenants.md)
|
||||
* [Cordoning a Tenant](./cordoning-tenant.md)
|
||||
* [Velero Backup Restoration](./velero-backup-restoration.md)
|
||||
|
||||
> NB: as we improve Capsule, more use cases about multi-tenancy and cluster governance will be covered.
|
||||
|
||||
|
||||
@@ -0,0 +1,19 @@
|
||||
# Velero Backup Restoration
|
||||
|
||||
Velero is a backup system that perform disaster recovery, and migrate Kubernetes cluster resources and persistent volumes.
|
||||
|
||||
Using this in a Kubernetes cluster where Capsule is installed can lead to an incomplete restore of the cluster's Tenants. This is due to the fact that Velero omits the `ownerReferences` section from the tenant's namespace manifests when backup them.
|
||||
|
||||
To avoid this problem you can use the script `velero-restore.sh` under the `hack/` folder.
|
||||
|
||||
Below are some examples on how to use the script to avoid incomplete restorations.
|
||||
|
||||
## Getting Started
|
||||
|
||||
In case of a data loss, the right thing to do is to restore the cluster with **Velero** at first. Once Velero has finished, you can proceed using the script to complete the restoration.
|
||||
|
||||
```bash
|
||||
./velero-restore.sh --kubeconfing /path/to/your/kubeconfig restore
|
||||
```
|
||||
|
||||
Running this command, we are going to patch the tenant's namespaces manifests that are actually `ownerReferences`-less. Once the command has finished its run, you got the cluster back.
|
||||
@@ -14,6 +14,11 @@ KUBECFGFILE="~/.kube/config"
|
||||
KUBEOPTIONS="--kubeconfig=$KUBECFGFILE"
|
||||
TMPDIR=/tmp
|
||||
|
||||
# Print usage to stdout.
|
||||
# Arguments:
|
||||
# None
|
||||
# Outputs:
|
||||
# print usage with examples.
|
||||
usage () {
|
||||
printf "Usage: $0 [flags] commands\n"
|
||||
printf "Flags:\n"
|
||||
|
||||
Reference in New Issue
Block a user