diff --git a/docs/ibm-config.md b/docs/ibm-config.md index 4c8709e86..db32571cb 100644 --- a/docs/ibm-config.md +++ b/docs/ibm-config.md @@ -11,7 +11,11 @@ To set up IBM Cloud Object Storage (COS) as Velero's destination, you: ## Download Velero -1. Download the [latest release's](https://github.com/heptio/velero/releases) tarball for your client platform. +1. Download the [latest official release's](https://github.com/heptio/velero/releases) tarball for your client platform. + + _We strongly recommend that you use an [official release](https://github.com/heptio/velero/releases) of +Velero. The tarballs for each release contain the `velero` command-line client. The code in the master branch +of the Velero repository is under active development and is not guaranteed to be stable!_ 1. Extract the tarball: ```bash @@ -21,10 +25,6 @@ To set up IBM Cloud Object Storage (COS) as Velero's destination, you: 1. Move the `velero` binary from the Velero directory to somewhere in your PATH. -_We strongly recommend that you use an [official release](https://github.com/heptio/velero/releases) of Velero. The tarballs for each release contain the -`velero` command-line client **and** version-specific sample YAML files for deploying Velero to your cluster. The code and sample YAML files in the master -branch of the Velero repository are under active development and are not guaranteed to be stable. Use them at your own risk!_ - ## Create COS instance If you don’t have a COS instance, you can create a new one, according to the detailed instructions in [Creating a new resource instance][1]. @@ -51,40 +51,34 @@ Several comments: where the access key id and secret are the values that we got above. -## Credentials and configuration +## Install and start Velero -In the Velero directory (i.e. where you extracted the release tarball), run the following to first set up namespaces, RBAC, and other scaffolding. To run in a custom namespace, make sure that you have edited the YAML files to specify the namespace. See [Run in custom namespace][0]. +Install Velero, including all prerequisites, into the cluster and start the deployment. This will create a namespace called `velero`, and place a deployment named `velero` in it. ```bash -kubectl apply -f config/common/00-prereqs.yaml +velero install \ + --provider aws \ + --bucket \ + --secret-file ./credentials-velero + --backup-location-config region=,s3ForcePathStyle="true",s3Url= ``` -Create a Secret. In the directory of the credentials file you just created, run: +Additionally, you can specify `--use-restic` to enable restic support, and `--wait` to wait for the deployment to be ready. + +Once the installation is complete, remove the default `VolumeSnapshotLocation` that was created by `velero install`, since it's specific to AWS and won't work for IBM Cloud: ```bash -kubectl create secret generic cloud-credentials \ - --namespace \ - --from-file cloud=credentials-velero +kubectl -n velero delete volumesnapshotlocation.velero.io default ``` -Specify the following values in the example files: +For more complex installation needs, use either the Helm chart, or add `--dry-run -o yaml` options for generating the YAML representation for the installation. -* In `config/ibm/05-backupstoragelocation.yaml`: +## Installing the nginx example (optional) - * Replace ``, `` and ``. See the [BackupStorageLocation definition][6] for details. - -* (Optional) If you run the nginx example, in file `config/nginx-app/with-pv.yaml`: +If you run the nginx example, in file `config/nginx-app/with-pv.yaml`: * Replace `` with your `StorageClass` name. -## Start the Velero server - -In the root of your Velero directory, run: - - ```bash - kubectl apply -f config/ibm/05-backupstoragelocation.yaml - kubectl apply -f config/ibm/10-deployment.yaml - ``` [0]: namespace.md [1]: https://console.bluemix.net/docs/services/cloud-object-storage/basics/order-storage.html#creating-a-new-resource-instance diff --git a/examples/ibm/05-backupstoragelocation.yaml b/examples/ibm/05-backupstoragelocation.yaml deleted file mode 100644 index 074acc1f9..000000000 --- a/examples/ibm/05-backupstoragelocation.yaml +++ /dev/null @@ -1,28 +0,0 @@ -# Copyright 2018 the Velero contributors. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - ---- -apiVersion: velero.io/v1 -kind: BackupStorageLocation -metadata: - name: default - namespace: velero -spec: - provider: aws - objectStorage: - bucket: - config: - s3ForcePathStyle: "true" - s3Url: - region: diff --git a/examples/ibm/10-deployment.yaml b/examples/ibm/10-deployment.yaml deleted file mode 100644 index 93090272f..000000000 --- a/examples/ibm/10-deployment.yaml +++ /dev/null @@ -1,63 +0,0 @@ -# Copyright 2018 the Velero contributors. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - ---- -apiVersion: apps/v1beta1 -kind: Deployment -metadata: - namespace: velero - name: velero -spec: - replicas: 1 - template: - metadata: - labels: - component: velero - annotations: - prometheus.io/scrape: "true" - prometheus.io/port: "8085" - prometheus.io/path: "/metrics" - spec: - restartPolicy: Always - serviceAccountName: velero - containers: - - name: velero - image: gcr.io/heptio-images/velero:latest - ports: - - name: metrics - containerPort: 8085 - command: - - /velero - args: - - server - volumeMounts: - - name: cloud-credentials - mountPath: /credentials - - name: plugins - mountPath: /plugins - - name: scratch - mountPath: /scratch - env: - - name: AWS_SHARED_CREDENTIALS_FILE - value: /credentials/cloud - - name: VELERO_SCRATCH_DIR - value: /scratch - volumes: - - name: cloud-credentials - secret: - secretName: cloud-credentials - - name: plugins - emptyDir: {} - - name: scratch - emptyDir: {}