mirror of
https://github.com/helm/charts.git
synced 2026-08-23 22:37:45 +00:00
* Change Ark to Velero and upgrade from 0.10.1 to 0.11.0 Signed-off-by: Joe Gorse <joseph.gorseiii@emc.com> * Change velero.heptio.com to velero.io Signed-off-by: Joe Gorse <joseph.gorseiii@emc.com> * Add CRD for serverstatusrequest Fix version number of velero. Signed-off-by: Aman Wangde <Aman.wangde@emc.com> * Change namespace to 'velero' Signed-off-by: Aman Wangde <Aman.wangde@emc.com> * Fix README for upgrade instructions Signed-off-by: Joe Gorse <joseph.gorseiii@emc.com> * Add Ark back in Signed-off-by: Ethan Kaley <ethan.kaley@emc.com> * Deprecate the stable/Ark chart Signed-off-by: Joe Gorse <joseph.gorseiii@emc.com> * Fix version issues Signed-off-by: Ethan Kaley <ethan.kaley@emc.com> * Remove references to v0.10.x Signed-off-by: Joe Gorse <joseph.gorseiii@emc.com> * Fix indentation issue and add to restic-daemonset tpl Signed-off-by: Joe Gorse <joseph.gorseiii@emc.com> * Add missing newline Move commented value example Signed-off-by: Joe Gorse <joseph.gorseiii@emc.com> * Bump Ark chart version for deprecation Signed-off-by: Ethan Kaley <ethan.kaley@emc.com> * Fix labels (#1) * Fix labels Signed-off-by: Ethan Kaley <ethan.kaley@emc.com> Signed-off-by: Joe Gorse <joseph.gorseiii@emc.com> * Use include instead of template function Signed-off-by: Reinhard Nägele <unguiculus@gmail.com> * Remove variables Signed-off-by: Reinhard Nägele <unguiculus@gmail.com> * Use with and nindent Signed-off-by: Reinhard Nägele <unguiculus@gmail.com> * Update API versions Signed-off-by: Reinhard Nägele <unguiculus@gmail.com> * Updated Ark chart to a patch bump Signed-off-by: Joe Gorse <joseph.gorseiii@emc.com> * Add comments and fix NOTES template Signed-off-by: Joe Gorse <joseph.gorseiii@emc.com> * Fix deployment template for podAnnotations Signed-off-by: Ethan Kaley <ethan.kaley@emc.com>
102 lines
6.3 KiB
Markdown
102 lines
6.3 KiB
Markdown
# Ark-server
|
|
|
|
# THIS CHART HAS BEEN DEPRECATED. PLEASE MOVE TO THE STABLE/VELERO CHART.
|
|
|
|
|
|
This helm chart installs Ark version v0.10.2
|
|
https://github.com/heptio/ark/tree/v0.10.2
|
|
|
|
## Upgrading to v0.10
|
|
|
|
Ark v0.10.1 introduces breaking changes. The below instructions are based on the [official upgrade guide](https://github.com/heptio/ark/blob/master/docs/upgrading-to-v0.10.md).
|
|
|
|
1. Pull the latest changes in this chart. If you're using Helm dependencies, update the chart version you're using in your `requirements.yaml` and run `helm dependency update`.
|
|
|
|
2. Scale down
|
|
|
|
```sh
|
|
kubectl scale -n heptio-ark deploy/ark --replicas 0
|
|
```
|
|
|
|
3. Migrate file structure of your backup storage according to [guide](https://github.com/heptio/ark/blob/master/docs/storage-layout-reorg-v0.10.md)
|
|
4. Adjust your `values.yaml` to the new structure and naming
|
|
5. Upgrade your deployment
|
|
|
|
```sh
|
|
helm upgrade --force --namespace heptio-ark ark ./ark
|
|
```
|
|
|
|
## Prerequisites
|
|
|
|
### Secret for cloud provider credentials
|
|
Ark server needs an IAM service account in order to run, if you don't have it you must create it.
|
|
Please follow the official documentation: https://heptio.github.io/ark/v0.10.0/install-overview
|
|
|
|
Don't forget the step to create the secret
|
|
```
|
|
kubectl create secret generic cloud-credentials --namespace <ARK_NAMESPACE> --from-file cloud=credentials-ark
|
|
```
|
|
|
|
### Configuration
|
|
Please change the values.yaml according to your setup
|
|
See here for the official documentation https://heptio.github.io/ark/v0.10.0/install-overview
|
|
|
|
Parameter | Description | Default | Required
|
|
--- | --- | --- | ---
|
|
`cloudprovider` | Cloud provider | `nil` | yes
|
|
`bucket` | Object storage where to store backups | `nil` | yes
|
|
`region` | AWS region | `nil` | only if using AWS
|
|
`apitimeout` | Api Timeout | `nil` | only if using Azure
|
|
`credentials` | Credentials | `nil` | Yes (not required for kube2iam)
|
|
`backupSyncPeriod` | How frequently Ark queries the object storage to make sure that the appropriate Backup resources have been created for existing backup files. | `60m` | yes
|
|
`gcSyncPeriod` | How frequently Ark queries the object storage to delete backup files that have passed their TTL. | `60m` | yes
|
|
`scheduleSyncPeriod` | How frequently Ark checks its Schedule resource objects to see if a backup needs to be initiated | `1m` | yes
|
|
`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
|
|
|
|
Parameter | Description | Default
|
|
--- | --- | ---
|
|
`image.repository` | Image repository | `gcr.io/heptio-images/ark`
|
|
`image.tag` | Image tag | `v0.9.1`
|
|
`image.pullPolicy` | Image pull policy | `IfNotPresent`
|
|
`podAnnotations` | Annotations for the Ark server pod | `{}`
|
|
`rbac.create` | If true, create and use RBAC resources | `true`
|
|
`rbac.server.serviceAccount.create` | Whether a new service account name that the server will use should be created | `true`
|
|
`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 | ``
|
|
`resources` | Resource requests and limits | `{}`
|
|
`initContainers` | InitContainers and their specs to start with the deployment pod | `[]`
|
|
`tolerations` | List of node taints to tolerate | `[]`
|
|
`nodeSelector` | Node labels for pod assignment | `{}`
|
|
`configuration.backupStorageLocation.name` | The name of the cloud provider that will be used to actually store the backups (`aws`, `azure`, `gcp`) | ``
|
|
`configuration.backupStorageLocation.bucket` | The storage bucket where backups are to be uploaded | ``
|
|
`configuration.backupStorageLocation.config.region` | The cloud provider region (AWS only) | ``
|
|
`configuration.backupStorageLocation.config.s3ForcePathStyle` | Set to `true` for a local storage service like Minio | ``
|
|
`configuration.backupStorageLocation.config.s3Url` | S3 url (primarily used for local storage services like Minio) | ``
|
|
`configuration.backupStorageLocation.config.kmsKeyId` | KMS key for encryption (AWS only) | ``
|
|
`configuration.backupStorageLocation.prefix` | The directory inside a storage bucket where backups are to be uploaded | ``
|
|
`configuration.backupSyncPeriod` | How frequently Ark queries the object storage to make sure that the appropriate Backup resources have been created for existing backup files | `60m`
|
|
`configuration.extraEnvVars` | Key/values for extra environment variables such as AWS_CLUSTER_NAME, etc | `{}`
|
|
`configuration.provider` | The name of the cloud provider where you are deploying ark to (`aws`, `azure`, `gcp`) |
|
|
`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`
|
|
`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`
|
|
`configuration.volumeSnapshotLocation.name` | The name of the cloud provider the cluster is using for persistent volumes, if any | `{}`
|
|
`configuration.volumeSnapshotLocation.config.region` | The cloud provider region (AWS only) | ``
|
|
`configuration.volumeSnapshotLocation.config.apiTimeout` | The API timeout (`azure` only) |
|
|
`credentials.existingSecret` | If specified and `useSecret` is `true`, uses an existing secret with this name instead of creating one | ``
|
|
`credentials.useSecret` | Whether a secret should be used. Set this to `false` when using `kube2iam` | `true`
|
|
`credentials.secretContents` | Contents for the credentials secret | `{}`
|
|
`deployRestic` | If `true`, enable restic deployment | `false`
|
|
`metrics.enabled` | Set this to `true` to enable exporting Prometheus monitoring metrics | `false`
|
|
`metrics.scrapeInterval` | Scrape interval for the Prometheus ServiceMonitor | `30s`
|
|
`metrics.serviceMonitor.enabled` | Set this to `true` to create ServiceMonitor for Prometheus operator | `false`
|
|
`metrics.serviceMonitor.additionalLabels` | Additional labels that can be used so ServiceMonitor will be discovered by Prometheus | `{}`
|
|
`schedules` | A dict of schedules | `{}`
|
|
|
|
|
|
## How to
|
|
```
|
|
helm install --name ark --namespace heptio-ark ./ark
|
|
```
|
|
|
|
## Remove heptio/ark
|
|
Remember that when you remove Ark all backups remain untouched
|