From e3a7d6a20dbc29881169982fcc5c1d3a50e5dbc2 Mon Sep 17 00:00:00 2001 From: JENNIFER RONDEAU Date: Fri, 26 Oct 2018 12:12:28 -0400 Subject: [PATCH] add content for issue 994 Signed-off-by: JENNIFER RONDEAU --- docs/aws-config.md | 3 +++ docs/azure-config.md | 3 +++ docs/build-from-scratch.md | 28 ++++++++++++++++++++++----- docs/gcp-config.md | 10 +++++++--- docs/ibm-config.md | 2 -- docs/install-overview.md | 6 ++++++ docs/upgrading-to-v0.10.md | 6 +++--- examples/aws/10-deployment.yaml | 2 ++ examples/azure/00-ark-deployment.yaml | 2 ++ examples/gcp/10-deployment.yaml | 2 ++ 10 files changed, 51 insertions(+), 13 deletions(-) diff --git a/docs/aws-config.md b/docs/aws-config.md index b4b98a438d..d52e200cc6 100644 --- a/docs/aws-config.md +++ b/docs/aws-config.md @@ -147,6 +147,9 @@ Specify the following values in the example files: * Replace ``. See the [VolumeSnapshotLocation definition][6] for details. +* (Optional, use only to specify multiple volume snapshot locations) In `examples/aws/10-deployment.yaml` (or `examples/aws/10-deployment-kube2iam.yaml`, as appropriate): + + * Uncomment the `--default-volume-snapshot-locations` and replace provider locations with the values for your environment. * (Optional) If you run the nginx example, in file `examples/nginx-app/with-pv.yaml`: diff --git a/docs/azure-config.md b/docs/azure-config.md index f5bf54fac9..5b020bc4b2 100644 --- a/docs/azure-config.md +++ b/docs/azure-config.md @@ -133,6 +133,9 @@ Now that you have your Azure credentials stored in a Secret, you need to replace * Replace ``. See the [VolumeSnapshotLocation definition][8] for details. +* (Optional, use only if you need to specify multiple volume snapshot locations) In `examples/azure/00-ark-deployment.yaml`: + + * Uncomment the `--default-volume-snapshot-locations` and replace provider locations with the values for your environment. ## Start the server diff --git a/docs/build-from-scratch.md b/docs/build-from-scratch.md index 42ebf73522..b6fcab6502 100644 --- a/docs/build-from-scratch.md +++ b/docs/build-from-scratch.md @@ -93,11 +93,12 @@ When running Heptio Ark, you will need to account for the following (all of whic * Cloud provider credentials * Read/write access to volumes * Read/write access to object storage for backup data -* A [Config object][8] definition for the Ark server +* A [BackupStorageLocation][20] object definition for the Ark server +* (Optional) A [VolumeSnapshotLocation][21] object definition for the Ark server, to take PV snapshots ### Create a cluster -To provision a cluster on `aws` using Amazon’s official CloudFormation templates, here are two options: +To provision a cluster on AWS using Amazon’s official CloudFormation templates, here are two options: * EC2 [Quick Start for Kubernetes][17] @@ -138,7 +139,11 @@ You may create resources on a cluster using our [example configurations][19]. ##### Example -Here is how to setup using an existing cluster in AWS: At the root of the Ark repo, edit `examples/aws/00-ark-config.yaml` to point to your AWS S3 bucket and region. Note: you can run `aws s3api list-buckets` to get the name of all your buckets. +Here is how to setup using an existing cluster in AWS: At the root of the Ark repo: + +- Edit `examples/aws/05-ark-backupstoragelocation.yaml` to point to your AWS S3 bucket and region. Note: you can run `aws s3api list-buckets` to get the name of all your buckets. + +- (Optional) Edit `examples/aws/06-ark-volumesnapshotlocation.yaml` to point to your AWS region. Then run the commands below. @@ -148,12 +153,23 @@ Then run the commands below. kubectl apply -f examples/common/00-prereqs.yaml ``` -`00-ark-config.yaml` is a sample Ark config resource for AWS: +`10-deployment.yaml` is a sample Ark config resource for AWS: ```bash -kubectl apply -f examples/aws/00-ark-config.yaml +kubectl apply -f examples/aws/10-deployment.yaml ``` +And `05-ark-backupstoragelocation.yaml` specifies the location of your backup storage, together with the optional `06-ark-volumesnapshotlocation.yaml`: + +```bash +kubectl apply -f examples/aws/05-ark-backupstoragelocation.yaml +``` + +or + +```bash +kubectl apply -f examples/aws/05-ark-backupstoragelocation.yaml examples/aws/06-ark-volumesnapshotlocation.yaml +``` ### 3. Start the Ark server @@ -205,3 +221,5 @@ If you need to add or update the vendored dependencies, see [Vendoring dependenc [17]: https://aws.amazon.com/quickstart/architecture/heptio-kubernetes/ [18]: https://eksctl.io/ [19]: ../examples/README.md +[20]: /api-types/backupstoragelocation.md +[21]: /api-types/volumesnapshotlocation.md diff --git a/docs/gcp-config.md b/docs/gcp-config.md index 4b07954644..e33cf3ade1 100644 --- a/docs/gcp-config.md +++ b/docs/gcp-config.md @@ -1,6 +1,6 @@ # Run Ark on GCP -You can run Kubernetes on Google Cloud Platform in either of: +You can run Kubernetes on Google Cloud Platform in either: * Kubernetes on Google Compute Engine virtual machines * Google Kubernetes Engine @@ -9,7 +9,7 @@ If you do not have the `gcloud` and `gsutil` CLIs locally installed, follow the ## Create GCS bucket -Heptio Ark requires an object storage bucket in which to store backups, preferrably unique to a single Kubernetes cluster (see the [FAQ][20] for more details). Create a GCS bucket, replacing the placeholder with the name of your bucket: +Heptio Ark requires an object storage bucket in which to store backups, preferably unique to a single Kubernetes cluster (see the [FAQ][20] for more details). Create a GCS bucket, replacing the placeholder with the name of your bucket: ```bash BUCKET= @@ -107,7 +107,7 @@ kubectl create secret generic cloud-credentials \ --from-file cloud=credentials-ark ``` -_Note: If you use a custom namespace, replace `heptio-ark` with the name of the custom namespace_ +**Note: If you use a custom namespace, replace `heptio-ark` with the name of the custom namespace** Specify the following values in the example files: @@ -119,6 +119,10 @@ Specify the following values in the example files: * Replace `` with `standard`. This is GCP's default `StorageClass` name. +* (Optional, use only if you need to specify multiple volume snapshot locations) In `examples/gcp/10-deployment.yaml`: + + * Uncomment the `--default-volume-snapshot-locations` and replace provider locations with the values for your environment. + ## Start the server In the root of your Ark directory, run: diff --git a/docs/ibm-config.md b/docs/ibm-config.md index 7b9fa8823c..1ff2e183bf 100644 --- a/docs/ibm-config.md +++ b/docs/ibm-config.md @@ -57,8 +57,6 @@ Specify the following values in the example files: * Replace ``, `` and ``. See the [BackupStorageLocation definition][6] for details. - - * (Optional) If you run the nginx example, in file `examples/nginx-app/with-pv.yaml`: * Replace `` with your `StorageClass` name. diff --git a/docs/install-overview.md b/docs/install-overview.md index 1cdd5a7fcb..10618018e2 100644 --- a/docs/install-overview.md +++ b/docs/install-overview.md @@ -6,6 +6,12 @@ In version 0.7.0 and later, you can run Ark in any namespace, which requires add In version 0.9.0 and later, you can use Ark's integration with restic, which requires additional setup. See [restic instructions][20]. +## Customize configuration + +Whether you run Ark on a cloud provider or on-premises, if you have more than one volume snapshot location for a given volume provider, you can specify its default location for backups by setting a server flag in your Ark deployment YAML. + +For details, see the documentation topics for individual cloud providers. + ## Cloud provider The Ark repository includes a set of example YAML files that specify the settings for each supported cloud provider. For provider-specific instructions, see: diff --git a/docs/upgrading-to-v0.10.md b/docs/upgrading-to-v0.10.md index fe2ea47a26..75f22d1c4c 100644 --- a/docs/upgrading-to-v0.10.md +++ b/docs/upgrading-to-v0.10.md @@ -77,6 +77,6 @@ kubectl delete crd configs.ark.heptio.com ``` -[1]: /docs/api-types/backupstoragelocation.md -[2]: /docs/api-types/volumesnapshotlocation.md -[3]: /docs/storage-layout-reorg-v0.10.md +[1]: /api-types/backupstoragelocation.md +[2]: /api-types/volumesnapshotlocation.md +[3]: storage-layout-reorg-v0.10.md diff --git a/examples/aws/10-deployment.yaml b/examples/aws/10-deployment.yaml index 5549fea67e..daba129986 100644 --- a/examples/aws/10-deployment.yaml +++ b/examples/aws/10-deployment.yaml @@ -38,6 +38,8 @@ spec: - /ark args: - server + ## uncomment following line and specify values if needed for multiple provider snapshot locations + # - --default-volume-snapshot-locations= volumeMounts: - name: cloud-credentials mountPath: /credentials diff --git a/examples/azure/00-ark-deployment.yaml b/examples/azure/00-ark-deployment.yaml index 93f1944a80..178e857150 100644 --- a/examples/azure/00-ark-deployment.yaml +++ b/examples/azure/00-ark-deployment.yaml @@ -41,6 +41,8 @@ spec: - /ark args: - server + ## uncomment following line and specify values if needed for multiple provider snapshot locations + # - --default-volume-snapshot-locations= envFrom: - secretRef: name: cloud-credentials diff --git a/examples/gcp/10-deployment.yaml b/examples/gcp/10-deployment.yaml index 98db634869..b31135965a 100644 --- a/examples/gcp/10-deployment.yaml +++ b/examples/gcp/10-deployment.yaml @@ -41,6 +41,8 @@ spec: - /ark args: - server + ## uncomment following line and specify values if needed for multiple provider snapshot locations + # - --default-volume-snapshot-locations= volumeMounts: - name: cloud-credentials mountPath: /credentials