From 96ca41ca9a23a87e7e83326b41ab31eb89304ad1 Mon Sep 17 00:00:00 2001 From: Ashish Amarnath Date: Fri, 13 Dec 2019 14:31:27 -0800 Subject: [PATCH] =?UTF-8?q?=F0=9F=93=96=20Doc=20fixes=20(#2123)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Reorganize docs for the velero site Signed-off-by: Ashish Amarnath * mirror master docs to v1.2 Signed-off-by: Ashish Amarnath --- README.md | 1 - site/_data/master-toc.yml | 6 +- site/_data/shortlinks.yml | 2 +- site/_data/v1-2-0-toc.yml | 6 +- site/docs/master/README.md | 4 +- site/docs/master/basic-install.md | 58 ++++++++++++ site/docs/master/contributions/ibm-config.md | 2 +- site/docs/master/contributions/minio.md | 2 +- ...-overview.md => customize-installation.md} | 90 +++++-------------- site/docs/master/namespace.md | 4 +- site/docs/master/overview-plugins.md | 6 +- site/docs/master/restic.md | 2 +- site/docs/master/run-locally.md | 2 +- site/docs/master/supported-providers.md | 16 ++-- site/docs/master/upgrade-to-1.2.md | 15 ++-- site/docs/v1.2.0/README.md | 4 +- site/docs/v1.2.0/basic-install.md | 58 ++++++++++++ site/docs/v1.2.0/contributions/ibm-config.md | 2 +- site/docs/v1.2.0/contributions/minio.md | 2 +- ...-overview.md => customize-installation.md} | 90 +++++-------------- site/docs/v1.2.0/namespace.md | 4 +- site/docs/v1.2.0/overview-plugins.md | 6 +- site/docs/v1.2.0/restic.md | 2 +- site/docs/v1.2.0/run-locally.md | 2 +- site/docs/v1.2.0/supported-providers.md | 16 ++-- site/docs/v1.2.0/upgrade-to-1.2.md | 11 +-- 26 files changed, 219 insertions(+), 194 deletions(-) create mode 100644 site/docs/master/basic-install.md rename site/docs/master/{install-overview.md => customize-installation.md} (56%) create mode 100644 site/docs/v1.2.0/basic-install.md rename site/docs/v1.2.0/{install-overview.md => customize-installation.md} (56%) diff --git a/README.md b/README.md index 06a4a0b97..98e32507d 100644 --- a/README.md +++ b/README.md @@ -44,7 +44,6 @@ See [the list of releases][6] to find out about feature changes. [14]: https://github.com/kubernetes/kubernetes [24]: https://groups.google.com/forum/#!forum/projectvelero [25]: https://kubernetes.slack.com/messages/velero -[28]: https://velero.io/docs/install-overview [29]: https://velero.io/docs/ [30]: https://velero.io/docs/troubleshooting [100]: https://velero.io/docs/master/img/velero.png \ No newline at end of file diff --git a/site/_data/master-toc.yml b/site/_data/master-toc.yml index 8e7204e63..9757cba73 100644 --- a/site/_data/master-toc.yml +++ b/site/_data/master-toc.yml @@ -9,8 +9,10 @@ toc: url: /locations - title: Install subfolderitems: - - page: Overview - url: /install-overview + - page: Basic Install + url: /basic-install + - page: Customize Installation + url: /customize-installation - page: Upgrade to 1.2 url: /upgrade-to-1.2 - page: Supported providers diff --git a/site/_data/shortlinks.yml b/site/_data/shortlinks.yml index ffa78fe33..a6cef3766 100644 --- a/site/_data/shortlinks.yml +++ b/site/_data/shortlinks.yml @@ -9,4 +9,4 @@ destination: zenhub - title: Install Overview key: install-overview - destination: install-overview + destination: basic-install diff --git a/site/_data/v1-2-0-toc.yml b/site/_data/v1-2-0-toc.yml index 8e7204e63..9757cba73 100644 --- a/site/_data/v1-2-0-toc.yml +++ b/site/_data/v1-2-0-toc.yml @@ -9,8 +9,10 @@ toc: url: /locations - title: Install subfolderitems: - - page: Overview - url: /install-overview + - page: Basic Install + url: /basic-install + - page: Customize Installation + url: /customize-installation - page: Upgrade to 1.2 url: /upgrade-to-1.2 - page: Supported providers diff --git a/site/docs/master/README.md b/site/docs/master/README.md index 1566ff138..cacf4289e 100644 --- a/site/docs/master/README.md +++ b/site/docs/master/README.md @@ -17,7 +17,7 @@ Velero consists of: ## Documentation -[The documentation][29] provides a getting started guide, plus information about building from source, architecture, extending Velero, and more. +This site is our documentation home with installation instructions, plus information about customizing Velero for your needs, architecture, extending Velero, contributing to Velero and more. Please use the version selector at the top of the site to ensure you are using the appropriate documentation for your version of Velero. @@ -47,8 +47,6 @@ See [the list of releases][6] to find out about feature changes. [24]: https://groups.google.com/forum/#!forum/projectvelero [25]: https://kubernetes.slack.com/messages/velero -[28]: install-overview.md -[29]: https://velero.io/docs/master/ [30]: troubleshooting.md [100]: img/velero.png diff --git a/site/docs/master/basic-install.md b/site/docs/master/basic-install.md new file mode 100644 index 000000000..b378e8502 --- /dev/null +++ b/site/docs/master/basic-install.md @@ -0,0 +1,58 @@ +# Basic Install + +- [Basic Install](#basic-install) + - [Prerequisites](#prerequisites) + - [Install the CLI](#install-the-cli) + - [Option 1: macOS - Homebrew](#option-1-macos---homebrew) + - [Option 2: GitHub release](#option-2-github-release) + - [Install and configure the server components](#install-and-configure-the-server-components) + +Use this doc to get a basic installation of Velero. +Refer [this document](customize-installation.md) to customize your installation. + +## Prerequisites + +- Access to a Kubernetes cluster, v1.10 or later, with DNS and container networking enabled. +- `kubectl` installed locally + +Velero uses object storage to store backups and associated artifacts. It also optionally integrates with supported block storage systems to snapshot your persistent volumes. Before beginning the installation process, you should identify the object storage provider and optional block storage provider(s) you'll be using from the list of [compatible providers][0]. + +There are supported storage providers for both cloud-provider environments and on-premises environments. For more details on on-premises scenarios, see the [on-premises documentation][2]. + +## Install the CLI + +### Option 1: macOS - Homebrew + +On macOS, you can use [Homebrew](https://brew.sh) to install the `velero` client: + +```bash +brew install velero +``` + +### Option 2: GitHub release + +1. Download the [latest release][1]'s tarball for your client platform. +1. Extract the tarball: + + ```bash + tar -xvf .tar.gz + ``` + +1. Move the extracted `velero` binary to somewhere in your `$PATH` (e.g. `/usr/local/bin` for most users). + +## Install and configure the server components + +There are two supported methods for installing the Velero server components: + +- the `velero install` CLI command +- the [Helm chart](https://github.com/helm/charts/tree/master/stable/velero) + +Velero uses storage provider plugins to integrate with a variety of storage systems to support backup and snapshot operations. The steps to install and configure the Velero server components along with the appropriate plugins are specific to your chosen storage provider. To find installation instructions for your chosen storage provider, follow the documentation link for your provider at our [supported storage providers][0] page + +_Note: if your object storage provider is different than your volume snapshot provider, follow the installation instructions for your object storage provider first, then return here and follow the instructions to [add your volume snapshot provider][4]._ + +[0]: supported-providers.md +[1]: https://github.com/vmware-tanzu/velero/releases/latest +[2]: on-premises.md +[3]: overview-plugins.md +[4]: customize-installation.md#install-an-additional-volume-snapshot-provider diff --git a/site/docs/master/contributions/ibm-config.md b/site/docs/master/contributions/ibm-config.md index 6abdb04f0..69d34420c 100644 --- a/site/docs/master/contributions/ibm-config.md +++ b/site/docs/master/contributions/ibm-config.md @@ -93,4 +93,4 @@ Uncomment `storageClassName: ` and replace with your `S [4]: https://www.ibm.com/support/knowledgecenter/SSBS6K_2.1.0/kc_welcome_containers.html [5]: https://console.bluemix.net/docs/containers/container_index.html#container_index [14]: http://docs.aws.amazon.com/IAM/latest/UserGuide/introduction.html -[15]: install-overview.md#velero-resource-requirements +[15]: customize-installation.md#customize-resource-requests-and-limits diff --git a/site/docs/master/contributions/minio.md b/site/docs/master/contributions/minio.md index 9a2607b38..13f0ca3c0 100644 --- a/site/docs/master/contributions/minio.md +++ b/site/docs/master/contributions/minio.md @@ -259,7 +259,7 @@ In this case: 1. Edit your `BackupStorageLocation` YAML, adding `publicUrl: ` as a field under `spec.config`. [1]: #expose-minio-with-service-of-type-nodeport -[3]: ../install-overview.md +[3]: ../customize-installation.md [17]: ../restic.md [18]: ../debugging-restores.md [26]: https://github.com/vmware-tanzu/velero/releases diff --git a/site/docs/master/install-overview.md b/site/docs/master/customize-installation.md similarity index 56% rename from site/docs/master/install-overview.md rename to site/docs/master/customize-installation.md index 662604439..eab691c8b 100644 --- a/site/docs/master/install-overview.md +++ b/site/docs/master/customize-installation.md @@ -1,83 +1,38 @@ -# Install Overview +# Customize Velero Install -- [Prerequisites](#prerequisites) -- [Install the command-line interface (CLI)](#install-the-cli) -- [Install and configure the server components](#install-and-configure-the-server-components) -- [Advanced installation topics](#advanced-installation-topics) +- [Customize Velero Install](#customize-velero-install) + - [Plugins](#plugins) + - [Install in any namespace](#install-in-any-namespace) + - [Use non-file-based identity mechanisms](#use-non-file-based-identity-mechanisms) + - [Enable restic integration](#enable-restic-integration) + - [Customize resource requests and limits](#customize-resource-requests-and-limits) + - [Configure more than one storage location for backups or volume snapshots](#configure-more-than-one-storage-location-for-backups-or-volume-snapshots) + - [Do not configure a backup storage location during install](#do-not-configure-a-backup-storage-location-during-install) + - [Install an additional volume snapshot provider](#install-an-additional-volume-snapshot-provider) + - [Generate YAML only](#generate-yaml-only) + - [Additional options](#additional-options) -## Prerequisites -- access to a Kubernetes cluster, v1.10 or later, with DNS and container networking enabled. -- `kubectl` installed locally - -Velero uses object storage to store backups and associated artifacts. It also optionally integrates with supported block storage systems to snapshot your persistent volumes. Before beginning the installation process, you should identify the object storage provider and optional block storage provider(s) you'll be using from the list of [compatible providers][0]. - -There are supported storage providers for both cloud-provider environments and on-premises environments. For more details on on-premises scenarios, see the [on-premises documentation][4]. - -## Install the CLI - -#### Option 1: macOS - Homebrew - -On macOS, you can use [Homebrew](https://brew.sh) to install the `velero` client: - -```bash -brew install velero -``` - -#### Option 2: GitHub release - -1. Download the [latest release][1]'s tarball for your client platform. -1. Extract the tarball: - - ```bash - tar -xvf .tar.gz - ``` -1. Move the extracted `velero` binary to somewhere in your `$PATH` (e.g. `/usr/local/bin` for most users). - -## Install and configure the server components - -There are two supported methods for installing the Velero server components: - -- the `velero install` CLI command -- the [Helm chart](https://github.com/helm/charts/tree/master/stable/velero) - -To install and configure the Velero server components, follow the provider-specific instructions documented by [your storage provider][0]. - -_Note: if your object storage provider is different than your volume snapshot provider, follow the installation instructions for your object storage provider first, then return here and follow the instructions to [add your volume snapshot provider](#install-an-additional-volume-snapshot-provider)._ - -## Advanced installation topics - -- [Plugins](#plugins) -- [Install in any namespace](#install-in-any-namespace) -- [Use non-file-based identity mechanisms](#use-non-file-based-identity-mechanisms) -- [Enable restic integration](#enable-restic-integration) -- [Customize resource requests and limits](#customize-resource-requests-and-limits) -- [Configure more than one storage location for backups or volume snapshots](#configure-more-than-one-storage-location-for-backups-or-volume-snapshots) -- [Do not configure a backup storage location during install](#do-not-configure-a-backup-storage-location-during-install) -- [Install an additional volume snapshot provider](#install-an-additional-volume-snapshot-provider) -- [Generate YAML only](#generate-yaml-only) -- [Additional options](#additional-options) - -#### Plugins +## Plugins During install, Velero requires that at least one plugin is added (with the `--plugins` flag). Please see the documentation under [Plugins](overview-plugins.md) -#### Install in any namespace +## Install in any namespace Velero is installed in the `velero` namespace by default. However, you can install Velero in any namespace. See [run in custom namespace][2] for details. -#### Use non-file-based identity mechanisms +## Use non-file-based identity mechanisms By default, `velero install` expects a credentials file for your `velero` IAM account to be provided via the `--secret-file` flag. If you are using an alternate identity mechanism, such as kube2iam/kiam on AWS, Workload Identity on GKE, etc., that does not require a credentials file, you can specify the `--no-secret` flag instead of `--secret-file`. -#### Enable restic integration +## Enable restic integration By default, `velero install` does not install Velero's [restic integration][3]. To enable it, specify the `--use-restic` flag. If you've already run `velero install` without the `--use-restic` flag, you can run the same command again, including the `--use-restic` flag, to add the restic integration to your existing install. -#### Customize resource requests and limits +## Customize resource requests and limits By default, the Velero deployment requests 500m CPU, 128Mi memory and sets a limit of 1000m CPU, 256Mi. Default requests and limits are not set for the restic pods as CPU/Memory usage can depend heavily on the size of volumes being backed up. @@ -102,7 +57,7 @@ velero install \ Values for these flags follow the same format as [Kubernetes resource requirements][5]. -#### Configure more than one storage location for backups or volume snapshots +## Configure more than one storage location for backups or volume snapshots Velero supports any number of backup storage locations and volume snapshot locations. For more details, see [about locations](locations.md). @@ -110,11 +65,11 @@ However, `velero install` only supports configuring at most one backup storage l To configure additional locations after running `velero install`, use the `velero backup-location create` and/or `velero snapshot-location create` commands along with provider-specific configuration. Use the `--help` flag on each of these commands for more details. -#### Do not configure a backup storage location during install +## Do not configure a backup storage location during install If you need to install Velero without a default backup storage location (without specifying `--bucket` or `--provider`), the `--no-default-backup-location` flag is required for confirmation. -#### Install an additional volume snapshot provider +## Install an additional volume snapshot provider Velero supports using different providers for volume snapshots than for object storage -- for example, you can use AWS S3 for object storage, and Portworx for block volume snapshots. @@ -138,7 +93,7 @@ To use a different volume snapshot provider: [--config ] ``` -#### Generate YAML only +## Generate YAML only By default, `velero install` generates and applies a customized set of Kubernetes configuration (YAML) to your cluster. @@ -146,11 +101,10 @@ To generate the YAML without applying it to your cluster, use the `--dry-run -o This is useful for applying bespoke customizations, integrating with a GitOps workflow, etc. -#### Additional options +## Additional options Run `velero install --help` or see the [Helm chart documentation](https://github.com/helm/charts/tree/master/stable/velero) for the full set of installation options. - [0]: supported-providers.md [1]: https://github.com/vmware-tanzu/velero/releases/latest [2]: namespace.md diff --git a/site/docs/master/namespace.md b/site/docs/master/namespace.md index 2f9415f87..fb50cf67d 100644 --- a/site/docs/master/namespace.md +++ b/site/docs/master/namespace.md @@ -20,6 +20,4 @@ To specify the namespace for all Velero client commands, run: velero client config set namespace= ``` - - -[0]: install-overview.md +[0]: basic-install.md#install-the-cli diff --git a/site/docs/master/overview-plugins.md b/site/docs/master/overview-plugins.md index e181e99bd..74eb3b0fb 100644 --- a/site/docs/master/overview-plugins.md +++ b/site/docs/master/overview-plugins.md @@ -1,11 +1,11 @@ # Velero plugin system -Velero has a plugin system which allows integration with a variety of providers for backup storage and volume snapshot operations. +Velero uses storage provider plugins to integrate with a variety of storage systems to support backup and snapshot operations. -During install, Velero requires that at least one plugin is added (with the `--plugins` flag). The plugin will be either of the type object store or volume snapshotter, or a plugin that contains both. An exception to this is that when the user is not configuring a backup storage location or a snapshot storage location at the time of install, this flag is optional. +For server installation, Velero requires that at least one plugin is added (with the `--plugins` flag). The plugin will be either of the type object store or volume snapshotter, or a plugin that contains both. An exception to this is that when the user is not configuring a backup storage location or a snapshot storage location at the time of install, this flag is optional. -Any plugin can be added after Velero has been installed by using the command `velero plugin add `. +Any plugin can be added after Velero has been installed by using the command `velero plugin add `. Example with a dockerhub image: `velero plugin add velero/velero-plugin-for-aws:v1.0.0`. diff --git a/site/docs/master/restic.md b/site/docs/master/restic.md index 6664a932e..7d4d08f97 100644 --- a/site/docs/master/restic.md +++ b/site/docs/master/restic.md @@ -394,7 +394,7 @@ Velero does not currently provide a mechanism to detect persistent volume claims To solve this, a controller was written by Thomann Bits&Beats: [velero-pvc-watcher][7] [1]: https://github.com/restic/restic -[2]: install-overview.md +[2]: customize-installation.md#enable-restic-integration [3]: https://github.com/vmware-tanzu/velero/releases/ [4]: https://kubernetes.io/docs/concepts/storage/volumes/#local [5]: http://restic.readthedocs.io/en/latest/100_references.html#terminology diff --git a/site/docs/master/run-locally.md b/site/docs/master/run-locally.md index 7690457fa..913cbc122 100644 --- a/site/docs/master/run-locally.md +++ b/site/docs/master/run-locally.md @@ -46,4 +46,4 @@ After you use the `velero install` command to install Velero into your cluster, [18]: https://eksctl.io/ [20]: api-types/backupstoragelocation.md [21]: api-types/volumesnapshotlocation.md -[22]: install-overview/ \ No newline at end of file +[22]: basic-install.md diff --git a/site/docs/master/supported-providers.md b/site/docs/master/supported-providers.md index f85fe4ad8..c81feb934 100644 --- a/site/docs/master/supported-providers.md +++ b/site/docs/master/supported-providers.md @@ -4,14 +4,13 @@ Velero supports a variety of storage providers for different backup and snapshot ## Velero supported providers -| Provider | Object Store | Volume Snapshotter | Plugin Documentation | -|-----------------------------------|---------------------|------------------------------|-----------------------------------------| -| [Amazon Web Services (AWS)][7] | AWS S3 | AWS EBS | [Velero plugin for AWS][8] | -| [Google Cloud Platform (GCP)][11] | Google Cloud Storage| Google Compute Engine Disks | [Velero plugin for GCP][12] | -| [Microsoft Azure][9] | Azure Blob Storage | Azure Managed Disks | [Velero plugin for Microsoft Azure][10] | +| Provider | Object Store | Volume Snapshotter | Plugin Provider Repo | Setup Instructions | +|-----------------------------------|---------------------|------------------------------|-----------------------------------------|-------------------------------| +| [Amazon Web Services (AWS)][7] | AWS S3 | AWS EBS | [Velero plugin for AWS][8] | [AWS Plugin Setup][35] | +| [Google Cloud Platform (GCP)][11] | Google Cloud Storage| Google Compute Engine Disks | [Velero plugin for GCP][12] | [GCP Plugin Setup][36] | +| [Microsoft Azure][9] | Azure Blob Storage | Azure Managed Disks | [Velero plugin for Microsoft Azure][10] | [Azure Plugin Setup][37] | - -Contact: [Slack][28], [GitHub Issue][29] +Contact: [#Velero Slack][28], [GitHub Issues][29] ## Community supported providers @@ -76,3 +75,6 @@ In the case you want to take volume snapshots but didn't find a plugin for your [32]: https://docs.portworx.com/scheduler/kubernetes/ark.html [33]: https://portworx.slack.com/messages/px-k8s [34]: https://github.com/portworx/ark-plugin/issues +[35]: https://github.com/vmware-tanzu/velero-plugin-for-aws#setup +[36]: https://github.com/vmware-tanzu/velero-plugin-for-gcp#setup +[37]: https://github.com/vmware-tanzu/velero-plugin-for-microsoft-azure#setup diff --git a/site/docs/master/upgrade-to-1.2.md b/site/docs/master/upgrade-to-1.2.md index 4e2d86a64..583ce85e6 100644 --- a/site/docs/master/upgrade-to-1.2.md +++ b/site/docs/master/upgrade-to-1.2.md @@ -1,11 +1,13 @@ # Upgrading to Velero 1.2 ## Prerequisites + - Velero [v1.1][0] or [v1.0][1] installed. _Note: if you're upgrading from v1.0, follow the [upgrading to v1.1][2] instructions first._ ## Instructions + 1. Install the Velero v1.2 command-line interface (CLI) by following the [instructions here][3]. Verify that you've properly installed it by running: @@ -46,19 +48,19 @@ _Note: if you're upgrading from v1.0, follow the [upgrading to v1.1][2] instruct 1. If using AWS, Azure, or GCP, add the respective plugin to your Velero deployment: For AWS: - + ```bash velero plugin add velero/velero-plugin-for-aws:v1.0.0 ``` For Azure: - + ```bash velero plugin add velero/velero-plugin-for-microsoft-azure:v1.0.0 ``` For GCP: - + ```bash velero plugin add velero/velero-plugin-for-gcp:v1.0.0 ``` @@ -78,13 +80,13 @@ _Note: if you're upgrading from v1.0, follow the [upgrading to v1.1][2] instruct ``` 1. Confirm that the deployment is up and running with the correct version by running: - + ```bash velero version ``` You should see the following output: - + ```bash Client: Version: v1.2.0 @@ -94,8 +96,7 @@ _Note: if you're upgrading from v1.0, follow the [upgrading to v1.1][2] instruct Version: v1.2.0 ``` - [0]: https://github.com/vmware-tanzu/velero/releases/tag/v1.1.0 [1]: https://github.com/vmware-tanzu/velero/releases/tag/v1.0.0 [2]: https://velero.io/docs/v1.1.0/upgrade-to-1.1/ -[3]: install-overview.md#install-the-cli +[3]: basic-install.md#install-the-cli diff --git a/site/docs/v1.2.0/README.md b/site/docs/v1.2.0/README.md index 8660e83ec..3ae9cab86 100644 --- a/site/docs/v1.2.0/README.md +++ b/site/docs/v1.2.0/README.md @@ -17,7 +17,7 @@ Velero consists of: ## Documentation -[The documentation][29] provides a getting started guide, plus information about building from source, architecture, extending Velero, and more. +This site is our documentation home with installation instructions, plus information about customizing Velero for your needs, architecture, extending Velero, contributing to Velero and more. Please use the version selector at the top of the site to ensure you are using the appropriate documentation for your version of Velero. @@ -47,8 +47,6 @@ See [the list of releases][6] to find out about feature changes. [24]: https://groups.google.com/forum/#!forum/projectvelero [25]: https://kubernetes.slack.com/messages/velero -[28]: install-overview.md -[29]: https://velero.io/docs/v1.2.0/ [30]: troubleshooting.md [100]: img/velero.png diff --git a/site/docs/v1.2.0/basic-install.md b/site/docs/v1.2.0/basic-install.md new file mode 100644 index 000000000..b378e8502 --- /dev/null +++ b/site/docs/v1.2.0/basic-install.md @@ -0,0 +1,58 @@ +# Basic Install + +- [Basic Install](#basic-install) + - [Prerequisites](#prerequisites) + - [Install the CLI](#install-the-cli) + - [Option 1: macOS - Homebrew](#option-1-macos---homebrew) + - [Option 2: GitHub release](#option-2-github-release) + - [Install and configure the server components](#install-and-configure-the-server-components) + +Use this doc to get a basic installation of Velero. +Refer [this document](customize-installation.md) to customize your installation. + +## Prerequisites + +- Access to a Kubernetes cluster, v1.10 or later, with DNS and container networking enabled. +- `kubectl` installed locally + +Velero uses object storage to store backups and associated artifacts. It also optionally integrates with supported block storage systems to snapshot your persistent volumes. Before beginning the installation process, you should identify the object storage provider and optional block storage provider(s) you'll be using from the list of [compatible providers][0]. + +There are supported storage providers for both cloud-provider environments and on-premises environments. For more details on on-premises scenarios, see the [on-premises documentation][2]. + +## Install the CLI + +### Option 1: macOS - Homebrew + +On macOS, you can use [Homebrew](https://brew.sh) to install the `velero` client: + +```bash +brew install velero +``` + +### Option 2: GitHub release + +1. Download the [latest release][1]'s tarball for your client platform. +1. Extract the tarball: + + ```bash + tar -xvf .tar.gz + ``` + +1. Move the extracted `velero` binary to somewhere in your `$PATH` (e.g. `/usr/local/bin` for most users). + +## Install and configure the server components + +There are two supported methods for installing the Velero server components: + +- the `velero install` CLI command +- the [Helm chart](https://github.com/helm/charts/tree/master/stable/velero) + +Velero uses storage provider plugins to integrate with a variety of storage systems to support backup and snapshot operations. The steps to install and configure the Velero server components along with the appropriate plugins are specific to your chosen storage provider. To find installation instructions for your chosen storage provider, follow the documentation link for your provider at our [supported storage providers][0] page + +_Note: if your object storage provider is different than your volume snapshot provider, follow the installation instructions for your object storage provider first, then return here and follow the instructions to [add your volume snapshot provider][4]._ + +[0]: supported-providers.md +[1]: https://github.com/vmware-tanzu/velero/releases/latest +[2]: on-premises.md +[3]: overview-plugins.md +[4]: customize-installation.md#install-an-additional-volume-snapshot-provider diff --git a/site/docs/v1.2.0/contributions/ibm-config.md b/site/docs/v1.2.0/contributions/ibm-config.md index 6abdb04f0..69d34420c 100644 --- a/site/docs/v1.2.0/contributions/ibm-config.md +++ b/site/docs/v1.2.0/contributions/ibm-config.md @@ -93,4 +93,4 @@ Uncomment `storageClassName: ` and replace with your `S [4]: https://www.ibm.com/support/knowledgecenter/SSBS6K_2.1.0/kc_welcome_containers.html [5]: https://console.bluemix.net/docs/containers/container_index.html#container_index [14]: http://docs.aws.amazon.com/IAM/latest/UserGuide/introduction.html -[15]: install-overview.md#velero-resource-requirements +[15]: customize-installation.md#customize-resource-requests-and-limits diff --git a/site/docs/v1.2.0/contributions/minio.md b/site/docs/v1.2.0/contributions/minio.md index 9a2607b38..13f0ca3c0 100644 --- a/site/docs/v1.2.0/contributions/minio.md +++ b/site/docs/v1.2.0/contributions/minio.md @@ -259,7 +259,7 @@ In this case: 1. Edit your `BackupStorageLocation` YAML, adding `publicUrl: ` as a field under `spec.config`. [1]: #expose-minio-with-service-of-type-nodeport -[3]: ../install-overview.md +[3]: ../customize-installation.md [17]: ../restic.md [18]: ../debugging-restores.md [26]: https://github.com/vmware-tanzu/velero/releases diff --git a/site/docs/v1.2.0/install-overview.md b/site/docs/v1.2.0/customize-installation.md similarity index 56% rename from site/docs/v1.2.0/install-overview.md rename to site/docs/v1.2.0/customize-installation.md index 662604439..eab691c8b 100644 --- a/site/docs/v1.2.0/install-overview.md +++ b/site/docs/v1.2.0/customize-installation.md @@ -1,83 +1,38 @@ -# Install Overview +# Customize Velero Install -- [Prerequisites](#prerequisites) -- [Install the command-line interface (CLI)](#install-the-cli) -- [Install and configure the server components](#install-and-configure-the-server-components) -- [Advanced installation topics](#advanced-installation-topics) +- [Customize Velero Install](#customize-velero-install) + - [Plugins](#plugins) + - [Install in any namespace](#install-in-any-namespace) + - [Use non-file-based identity mechanisms](#use-non-file-based-identity-mechanisms) + - [Enable restic integration](#enable-restic-integration) + - [Customize resource requests and limits](#customize-resource-requests-and-limits) + - [Configure more than one storage location for backups or volume snapshots](#configure-more-than-one-storage-location-for-backups-or-volume-snapshots) + - [Do not configure a backup storage location during install](#do-not-configure-a-backup-storage-location-during-install) + - [Install an additional volume snapshot provider](#install-an-additional-volume-snapshot-provider) + - [Generate YAML only](#generate-yaml-only) + - [Additional options](#additional-options) -## Prerequisites -- access to a Kubernetes cluster, v1.10 or later, with DNS and container networking enabled. -- `kubectl` installed locally - -Velero uses object storage to store backups and associated artifacts. It also optionally integrates with supported block storage systems to snapshot your persistent volumes. Before beginning the installation process, you should identify the object storage provider and optional block storage provider(s) you'll be using from the list of [compatible providers][0]. - -There are supported storage providers for both cloud-provider environments and on-premises environments. For more details on on-premises scenarios, see the [on-premises documentation][4]. - -## Install the CLI - -#### Option 1: macOS - Homebrew - -On macOS, you can use [Homebrew](https://brew.sh) to install the `velero` client: - -```bash -brew install velero -``` - -#### Option 2: GitHub release - -1. Download the [latest release][1]'s tarball for your client platform. -1. Extract the tarball: - - ```bash - tar -xvf .tar.gz - ``` -1. Move the extracted `velero` binary to somewhere in your `$PATH` (e.g. `/usr/local/bin` for most users). - -## Install and configure the server components - -There are two supported methods for installing the Velero server components: - -- the `velero install` CLI command -- the [Helm chart](https://github.com/helm/charts/tree/master/stable/velero) - -To install and configure the Velero server components, follow the provider-specific instructions documented by [your storage provider][0]. - -_Note: if your object storage provider is different than your volume snapshot provider, follow the installation instructions for your object storage provider first, then return here and follow the instructions to [add your volume snapshot provider](#install-an-additional-volume-snapshot-provider)._ - -## Advanced installation topics - -- [Plugins](#plugins) -- [Install in any namespace](#install-in-any-namespace) -- [Use non-file-based identity mechanisms](#use-non-file-based-identity-mechanisms) -- [Enable restic integration](#enable-restic-integration) -- [Customize resource requests and limits](#customize-resource-requests-and-limits) -- [Configure more than one storage location for backups or volume snapshots](#configure-more-than-one-storage-location-for-backups-or-volume-snapshots) -- [Do not configure a backup storage location during install](#do-not-configure-a-backup-storage-location-during-install) -- [Install an additional volume snapshot provider](#install-an-additional-volume-snapshot-provider) -- [Generate YAML only](#generate-yaml-only) -- [Additional options](#additional-options) - -#### Plugins +## Plugins During install, Velero requires that at least one plugin is added (with the `--plugins` flag). Please see the documentation under [Plugins](overview-plugins.md) -#### Install in any namespace +## Install in any namespace Velero is installed in the `velero` namespace by default. However, you can install Velero in any namespace. See [run in custom namespace][2] for details. -#### Use non-file-based identity mechanisms +## Use non-file-based identity mechanisms By default, `velero install` expects a credentials file for your `velero` IAM account to be provided via the `--secret-file` flag. If you are using an alternate identity mechanism, such as kube2iam/kiam on AWS, Workload Identity on GKE, etc., that does not require a credentials file, you can specify the `--no-secret` flag instead of `--secret-file`. -#### Enable restic integration +## Enable restic integration By default, `velero install` does not install Velero's [restic integration][3]. To enable it, specify the `--use-restic` flag. If you've already run `velero install` without the `--use-restic` flag, you can run the same command again, including the `--use-restic` flag, to add the restic integration to your existing install. -#### Customize resource requests and limits +## Customize resource requests and limits By default, the Velero deployment requests 500m CPU, 128Mi memory and sets a limit of 1000m CPU, 256Mi. Default requests and limits are not set for the restic pods as CPU/Memory usage can depend heavily on the size of volumes being backed up. @@ -102,7 +57,7 @@ velero install \ Values for these flags follow the same format as [Kubernetes resource requirements][5]. -#### Configure more than one storage location for backups or volume snapshots +## Configure more than one storage location for backups or volume snapshots Velero supports any number of backup storage locations and volume snapshot locations. For more details, see [about locations](locations.md). @@ -110,11 +65,11 @@ However, `velero install` only supports configuring at most one backup storage l To configure additional locations after running `velero install`, use the `velero backup-location create` and/or `velero snapshot-location create` commands along with provider-specific configuration. Use the `--help` flag on each of these commands for more details. -#### Do not configure a backup storage location during install +## Do not configure a backup storage location during install If you need to install Velero without a default backup storage location (without specifying `--bucket` or `--provider`), the `--no-default-backup-location` flag is required for confirmation. -#### Install an additional volume snapshot provider +## Install an additional volume snapshot provider Velero supports using different providers for volume snapshots than for object storage -- for example, you can use AWS S3 for object storage, and Portworx for block volume snapshots. @@ -138,7 +93,7 @@ To use a different volume snapshot provider: [--config ] ``` -#### Generate YAML only +## Generate YAML only By default, `velero install` generates and applies a customized set of Kubernetes configuration (YAML) to your cluster. @@ -146,11 +101,10 @@ To generate the YAML without applying it to your cluster, use the `--dry-run -o This is useful for applying bespoke customizations, integrating with a GitOps workflow, etc. -#### Additional options +## Additional options Run `velero install --help` or see the [Helm chart documentation](https://github.com/helm/charts/tree/master/stable/velero) for the full set of installation options. - [0]: supported-providers.md [1]: https://github.com/vmware-tanzu/velero/releases/latest [2]: namespace.md diff --git a/site/docs/v1.2.0/namespace.md b/site/docs/v1.2.0/namespace.md index 2f9415f87..fb50cf67d 100644 --- a/site/docs/v1.2.0/namespace.md +++ b/site/docs/v1.2.0/namespace.md @@ -20,6 +20,4 @@ To specify the namespace for all Velero client commands, run: velero client config set namespace= ``` - - -[0]: install-overview.md +[0]: basic-install.md#install-the-cli diff --git a/site/docs/v1.2.0/overview-plugins.md b/site/docs/v1.2.0/overview-plugins.md index e181e99bd..74eb3b0fb 100644 --- a/site/docs/v1.2.0/overview-plugins.md +++ b/site/docs/v1.2.0/overview-plugins.md @@ -1,11 +1,11 @@ # Velero plugin system -Velero has a plugin system which allows integration with a variety of providers for backup storage and volume snapshot operations. +Velero uses storage provider plugins to integrate with a variety of storage systems to support backup and snapshot operations. -During install, Velero requires that at least one plugin is added (with the `--plugins` flag). The plugin will be either of the type object store or volume snapshotter, or a plugin that contains both. An exception to this is that when the user is not configuring a backup storage location or a snapshot storage location at the time of install, this flag is optional. +For server installation, Velero requires that at least one plugin is added (with the `--plugins` flag). The plugin will be either of the type object store or volume snapshotter, or a plugin that contains both. An exception to this is that when the user is not configuring a backup storage location or a snapshot storage location at the time of install, this flag is optional. -Any plugin can be added after Velero has been installed by using the command `velero plugin add `. +Any plugin can be added after Velero has been installed by using the command `velero plugin add `. Example with a dockerhub image: `velero plugin add velero/velero-plugin-for-aws:v1.0.0`. diff --git a/site/docs/v1.2.0/restic.md b/site/docs/v1.2.0/restic.md index 6664a932e..7d4d08f97 100644 --- a/site/docs/v1.2.0/restic.md +++ b/site/docs/v1.2.0/restic.md @@ -394,7 +394,7 @@ Velero does not currently provide a mechanism to detect persistent volume claims To solve this, a controller was written by Thomann Bits&Beats: [velero-pvc-watcher][7] [1]: https://github.com/restic/restic -[2]: install-overview.md +[2]: customize-installation.md#enable-restic-integration [3]: https://github.com/vmware-tanzu/velero/releases/ [4]: https://kubernetes.io/docs/concepts/storage/volumes/#local [5]: http://restic.readthedocs.io/en/latest/100_references.html#terminology diff --git a/site/docs/v1.2.0/run-locally.md b/site/docs/v1.2.0/run-locally.md index cab1c9cc0..913cbc122 100644 --- a/site/docs/v1.2.0/run-locally.md +++ b/site/docs/v1.2.0/run-locally.md @@ -46,4 +46,4 @@ After you use the `velero install` command to install Velero into your cluster, [18]: https://eksctl.io/ [20]: api-types/backupstoragelocation.md [21]: api-types/volumesnapshotlocation.md -[22]: install-overview/ +[22]: basic-install.md diff --git a/site/docs/v1.2.0/supported-providers.md b/site/docs/v1.2.0/supported-providers.md index f85fe4ad8..c81feb934 100644 --- a/site/docs/v1.2.0/supported-providers.md +++ b/site/docs/v1.2.0/supported-providers.md @@ -4,14 +4,13 @@ Velero supports a variety of storage providers for different backup and snapshot ## Velero supported providers -| Provider | Object Store | Volume Snapshotter | Plugin Documentation | -|-----------------------------------|---------------------|------------------------------|-----------------------------------------| -| [Amazon Web Services (AWS)][7] | AWS S3 | AWS EBS | [Velero plugin for AWS][8] | -| [Google Cloud Platform (GCP)][11] | Google Cloud Storage| Google Compute Engine Disks | [Velero plugin for GCP][12] | -| [Microsoft Azure][9] | Azure Blob Storage | Azure Managed Disks | [Velero plugin for Microsoft Azure][10] | +| Provider | Object Store | Volume Snapshotter | Plugin Provider Repo | Setup Instructions | +|-----------------------------------|---------------------|------------------------------|-----------------------------------------|-------------------------------| +| [Amazon Web Services (AWS)][7] | AWS S3 | AWS EBS | [Velero plugin for AWS][8] | [AWS Plugin Setup][35] | +| [Google Cloud Platform (GCP)][11] | Google Cloud Storage| Google Compute Engine Disks | [Velero plugin for GCP][12] | [GCP Plugin Setup][36] | +| [Microsoft Azure][9] | Azure Blob Storage | Azure Managed Disks | [Velero plugin for Microsoft Azure][10] | [Azure Plugin Setup][37] | - -Contact: [Slack][28], [GitHub Issue][29] +Contact: [#Velero Slack][28], [GitHub Issues][29] ## Community supported providers @@ -76,3 +75,6 @@ In the case you want to take volume snapshots but didn't find a plugin for your [32]: https://docs.portworx.com/scheduler/kubernetes/ark.html [33]: https://portworx.slack.com/messages/px-k8s [34]: https://github.com/portworx/ark-plugin/issues +[35]: https://github.com/vmware-tanzu/velero-plugin-for-aws#setup +[36]: https://github.com/vmware-tanzu/velero-plugin-for-gcp#setup +[37]: https://github.com/vmware-tanzu/velero-plugin-for-microsoft-azure#setup diff --git a/site/docs/v1.2.0/upgrade-to-1.2.md b/site/docs/v1.2.0/upgrade-to-1.2.md index e8cb0f661..583ce85e6 100644 --- a/site/docs/v1.2.0/upgrade-to-1.2.md +++ b/site/docs/v1.2.0/upgrade-to-1.2.md @@ -1,11 +1,13 @@ # Upgrading to Velero 1.2 ## Prerequisites + - Velero [v1.1][0] or [v1.0][1] installed. _Note: if you're upgrading from v1.0, follow the [upgrading to v1.1][2] instructions first._ ## Instructions + 1. Install the Velero v1.2 command-line interface (CLI) by following the [instructions here][3]. Verify that you've properly installed it by running: @@ -58,7 +60,7 @@ _Note: if you're upgrading from v1.0, follow the [upgrading to v1.1][2] instruct ``` For GCP: - + ```bash velero plugin add velero/velero-plugin-for-gcp:v1.0.0 ``` @@ -78,13 +80,13 @@ _Note: if you're upgrading from v1.0, follow the [upgrading to v1.1][2] instruct ``` 1. Confirm that the deployment is up and running with the correct version by running: - + ```bash velero version ``` You should see the following output: - + ```bash Client: Version: v1.2.0 @@ -94,8 +96,7 @@ _Note: if you're upgrading from v1.0, follow the [upgrading to v1.1][2] instruct Version: v1.2.0 ``` - [0]: https://github.com/vmware-tanzu/velero/releases/tag/v1.1.0 [1]: https://github.com/vmware-tanzu/velero/releases/tag/v1.0.0 [2]: https://velero.io/docs/v1.1.0/upgrade-to-1.1/ -[3]: install-overview.md#install-the-cli +[3]: basic-install.md#install-the-cli