Back to Charts

Ark-server

stable/ark/README.md

latest6.3 KB
Original Source

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.

  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
  1. Migrate file structure of your backup storage according to guide
  2. Adjust your values.yaml to the new structure and naming
  3. 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

ParameterDescriptionDefaultRequired
cloudproviderCloud providernilyes
bucketObject storage where to store backupsnilyes
regionAWS regionnilonly if using AWS
apitimeoutApi Timeoutnilonly if using Azure
credentialsCredentialsnilYes (not required for kube2iam)
backupSyncPeriodHow frequently Ark queries the object storage to make sure that the appropriate Backup resources have been created for existing backup files.60myes
gcSyncPeriodHow frequently Ark queries the object storage to delete backup files that have passed their TTL.60myes
scheduleSyncPeriodHow frequently Ark checks its Schedule resource objects to see if a backup needs to be initiated1myes
restoreOnlyModeWhen 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.falseyes
ParameterDescriptionDefault
image.repositoryImage repositorygcr.io/heptio-images/ark
image.tagImage tagv0.9.1
image.pullPolicyImage pull policyIfNotPresent
podAnnotationsAnnotations for the Ark server pod{}
rbac.createIf true, create and use RBAC resourcestrue
rbac.server.serviceAccount.createWhether a new service account name that the server will use should be createdtrue
rbac.server.serviceAccount.nameService 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``
resourcesResource requests and limits{}
initContainersInitContainers and their specs to start with the deployment pod[]
tolerationsList of node taints to tolerate[]
nodeSelectorNode labels for pod assignment{}
configuration.backupStorageLocation.nameThe name of the cloud provider that will be used to actually store the backups (aws, azure, gcp)``
configuration.backupStorageLocation.bucketThe storage bucket where backups are to be uploaded``
configuration.backupStorageLocation.config.regionThe cloud provider region (AWS only)``
configuration.backupStorageLocation.config.s3ForcePathStyleSet to true for a local storage service like Minio``
configuration.backupStorageLocation.config.s3UrlS3 url (primarily used for local storage services like Minio)``
configuration.backupStorageLocation.config.kmsKeyIdKMS key for encryption (AWS only)``
configuration.backupStorageLocation.prefixThe directory inside a storage bucket where backups are to be uploaded``
configuration.backupSyncPeriodHow frequently Ark queries the object storage to make sure that the appropriate Backup resources have been created for existing backup files60m
configuration.extraEnvVarsKey/values for extra environment variables such as AWS_CLUSTER_NAME, etc{}
configuration.providerThe name of the cloud provider where you are deploying ark to (aws, azure, gcp)
configuration.restoreResourcePrioritiesAn ordered list that describes the order in which Kubernetes resource objects should be restorednamespaces,persistentvolumes,persistentvolumeclaims,secrets,configmaps,serviceaccounts,limitranges,pods
configuration.restoreOnlyModeWhen RestoreOnly mode is on, functionality for backups, schedules, and expired backup deletion is turned off. Restores are made from existing backup files in object storagefalse
configuration.volumeSnapshotLocation.nameThe name of the cloud provider the cluster is using for persistent volumes, if any{}
configuration.volumeSnapshotLocation.config.regionThe cloud provider region (AWS only)``
configuration.volumeSnapshotLocation.config.apiTimeoutThe API timeout (azure only)
credentials.existingSecretIf specified and useSecret is true, uses an existing secret with this name instead of creating one``
credentials.useSecretWhether a secret should be used. Set this to false when using kube2iamtrue
credentials.secretContentsContents for the credentials secret{}
deployResticIf true, enable restic deploymentfalse
metrics.enabledSet this to true to enable exporting Prometheus monitoring metricsfalse
metrics.scrapeIntervalScrape interval for the Prometheus ServiceMonitor30s
metrics.serviceMonitor.enabledSet this to true to create ServiceMonitor for Prometheus operatorfalse
metrics.serviceMonitor.additionalLabelsAdditional labels that can be used so ServiceMonitor will be discovered by Prometheus{}
schedulesA 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