* 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>
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.
-
Pull the latest changes in this chart. If you're using Helm dependencies, update the chart version you're using in your
requirements.yamland runhelm dependency update. -
Scale down
kubectl scale -n heptio-ark deploy/ark --replicas 0
- Migrate file structure of your backup storage according to guide
- Adjust your
values.yamlto the new structure and naming - Upgrade your deployment
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