2017-10-04 20:21:56 +00:00
|
|
|
# FAQ
|
|
|
|
|
|
|
|
## When is it appropriate to use Ark instead of etcd's built in backup/restore?
|
|
|
|
|
2017-10-10 15:00:44 +00:00
|
|
|
Etcd's backup/restore tooling is good for recovering from data loss in a single etcd cluster. For
|
|
|
|
example, it is a good idea to take a backup of etcd prior to upgrading etcd istelf. For more
|
|
|
|
sophisticated management of your Kubernetes cluster backups and restores, we feel that Ark is
|
|
|
|
generally a better approach. It gives you the ability to throw away an unstable cluster and restore
|
|
|
|
your Kubernetes resources and data into a new cluster, which you can't do easily just by backing up
|
|
|
|
and restoring etcd.
|
2017-10-04 20:21:56 +00:00
|
|
|
|
2017-10-04 21:04:00 +00:00
|
|
|
Examples of cases where Ark is useful:
|
2017-10-04 20:21:56 +00:00
|
|
|
|
2017-10-10 15:00:44 +00:00
|
|
|
* you don't have access to etcd (e.g. you're running on GKE)
|
2017-10-04 20:35:57 +00:00
|
|
|
* backing up both Kubernetes resources and persistent volume state
|
2017-10-04 20:21:56 +00:00
|
|
|
* cluster migrations
|
|
|
|
* backing up a subset of your Kubernetes resources
|
|
|
|
* backing up Kubernetes resources that are stored across multiple etcd clusters (for example if you
|
|
|
|
run a custom apiserver)
|
|
|
|
|
|
|
|
## Will Ark restore my Kubernetes resources exactly the way they were before?
|
|
|
|
|
|
|
|
Yes, with some exceptions. For example, when Ark restores pods it deletes the `nodeName` from the
|
2017-10-04 20:35:57 +00:00
|
|
|
pod so that it can be scheduled onto a new node. You can see some more examples of the differences
|
2017-10-04 20:21:56 +00:00
|
|
|
in [pod_restorer.go](https://github.com/heptio/ark/blob/master/pkg/restore/restorers/pod_restorer.go)
|