|
| 1 | +# Velero-server |
| 2 | + |
| 3 | +This helm chart installs Velero version v0.11.0 |
| 4 | +https://github.com/heptio/velero/tree/v0.11.0 |
| 5 | + |
| 6 | + |
| 7 | +## Upgrading to v0.11.0 |
| 8 | + |
| 9 | +As of v0.11.0, Heptio Ark has become Velero. |
| 10 | + |
| 11 | +The [instructions found here](https://heptio.github.io/velero/v0.11.0/migrating-to-velero) will assist you in upgrading from Ark to Velero |
| 12 | + |
| 13 | +## Prerequisites |
| 14 | + |
| 15 | +### Secret for cloud provider credentials |
| 16 | +Velero server needs an IAM service account in order to run, if you don't have it you must create it. |
| 17 | +Please follow the official documentation: https://heptio.github.io/velero/v0.11.0/install-overview |
| 18 | + |
| 19 | +Don't forget the step to create the secret |
| 20 | +``` |
| 21 | +kubectl create secret generic cloud-credentials --namespace <VELERO_NAMESPACE> --from-file cloud=credentials-velero |
| 22 | +``` |
| 23 | + |
| 24 | +### Configuration |
| 25 | +Please change the values.yaml according to your setup |
| 26 | +See here for the official documentation https://heptio.github.io/velero/v0.11.0/install-overview |
| 27 | + |
| 28 | +Parameter | Description | Default | Required |
| 29 | +--- | --- | --- | --- |
| 30 | +`cloudprovider` | Cloud provider | `nil` | yes |
| 31 | +`bucket` | Object storage where to store backups | `nil` | yes |
| 32 | +`region` | AWS region | `nil` | only if using AWS |
| 33 | +`apitimeout` | Api Timeout | `nil` | only if using Azure |
| 34 | +`credentials` | Credentials | `nil` | Yes (not required for kube2iam) |
| 35 | +`backupSyncPeriod` | How frequently Velero queries the object storage to make sure that the appropriate Backup resources have been created for existing backup files. | `60m` | yes |
| 36 | +`gcSyncPeriod` | How frequently Velero queries the object storage to delete backup files that have passed their TTL. | `60m` | yes |
| 37 | +`scheduleSyncPeriod` | How frequently Velero checks its Schedule resource objects to see if a backup needs to be initiated | `1m` | yes |
| 38 | +`restoreOnlyMode` | When RestoreOnly mode is on, functionality for backups, schedules, and expired backup deletion is turned off. Restores are made from existing backup files in object storage. | `false` | yes |
| 39 | + |
| 40 | +Parameter | Description | Default |
| 41 | +--- | --- | --- |
| 42 | +`image.repository` | Image repository | `gcr.io/heptio-images/velero` |
| 43 | +`image.tag` | Image tag | `v0.11.0` |
| 44 | +`image.pullPolicy` | Image pull policy | `IfNotPresent` |
| 45 | +`podAnnotations` | Annotations for the Velero server pod | `{}` |
| 46 | +`rbac.create` | If true, create and use RBAC resources | `true` |
| 47 | +`rbac.server.serviceAccount.create` | Whether a new service account name that the server will use should be created | `true` |
| 48 | +`rbac.server.serviceAccount.name` | Service account to be used for the server. If not set and `rbac.server.serviceAccount.create` is `true` a name is generated using the fullname template | `` |
| 49 | +`resources` | Resource requests and limits | `{}` |
| 50 | +`initContainers` | InitContainers and their specs to start with the deployment pod | `[]` |
| 51 | +`tolerations` | List of node taints to tolerate | `[]` |
| 52 | +`nodeSelector` | Node labels for pod assignment | `{}` |
| 53 | +`configuration.backupStorageLocation.name` | The name of the cloud provider that will be used to actually store the backups (`aws`, `azure`, `gcp`) | `` |
| 54 | +`configuration.backupStorageLocation.bucket` | The storage bucket where backups are to be uploaded | `` |
| 55 | +`configuration.backupStorageLocation.config.region` | The cloud provider region (AWS only) | `` |
| 56 | +`configuration.backupStorageLocation.config.s3ForcePathStyle` | Set to `true` for a local storage service like Minio | `` |
| 57 | +`configuration.backupStorageLocation.config.s3Url` | S3 url (primarily used for local storage services like Minio) | `` |
| 58 | +`configuration.backupStorageLocation.config.kmsKeyId` | KMS key for encryption (AWS only) | `` |
| 59 | +`configuration.backupStorageLocation.prefix` | The directory inside a storage bucket where backups are to be uploaded | `` |
| 60 | +`configuration.backupSyncPeriod` | How frequently Velero queries the object storage to make sure that the appropriate Backup resources have been created for existing backup files | `60m` |
| 61 | +`configuration.extraEnvVars` | Key/values for extra environment variables such as AWS_CLUSTER_NAME, etc | `{}` |
| 62 | +`configuration.provider` | The name of the cloud provider where you are deploying velero to (`aws`, `azure`, `gcp`) | |
| 63 | +`configuration.restoreResourcePriorities` | An ordered list that describes the order in which Kubernetes resource objects should be restored | `namespaces,persistentvolumes,persistentvolumeclaims,secrets,configmaps,serviceaccounts,limitranges,pods` |
| 64 | +`configuration.restoreOnlyMode` | When RestoreOnly mode is on, functionality for backups, schedules, and expired backup deletion is turned off. Restores are made from existing backup files in object storage | `false` |
| 65 | +`configuration.volumeSnapshotLocation.name` | The name of the cloud provider the cluster is using for persistent volumes, if any | `{}` |
| 66 | +`configuration.volumeSnapshotLocation.config.region` | The cloud provider region (AWS only) | `` |
| 67 | +`configuration.volumeSnapshotLocation.config.apiTimeout` | The API timeout (`azure` only) | |
| 68 | +`credentials.existingSecret` | If specified and `useSecret` is `true`, uses an existing secret with this name instead of creating one | `` |
| 69 | +`credentials.useSecret` | Whether a secret should be used. Set this to `false` when using `kube2iam` | `true` |
| 70 | +`credentials.secretContents` | Contents for the credentials secret | `{}` |
| 71 | +`deployRestic` | If `true`, enable restic deployment | `false` |
| 72 | +`metrics.enabled` | Set this to `true` to enable exporting Prometheus monitoring metrics | `false` |
| 73 | +`metrics.scrapeInterval` | Scrape interval for the Prometheus ServiceMonitor | `30s` |
| 74 | +`metrics.serviceMonitor.enabled` | Set this to `true` to create ServiceMonitor for Prometheus operator | `false` |
| 75 | +`metrics.serviceMonitor.additionalLabels` | Additional labels that can be used so ServiceMonitor will be discovered by Prometheus | `{}` |
| 76 | +`schedules` | A dict of schedules | `{}` |
| 77 | + |
| 78 | + |
| 79 | +## How to |
| 80 | +``` |
| 81 | +helm install --name velero --namespace velero ./velero |
| 82 | +``` |
| 83 | + |
| 84 | +## Remove heptio/velero |
| 85 | +Remember that when you remove Velero all backups remain untouched |
0 commit comments