Skip to content

Commit

Permalink
Merge pull request #4517 from reasonerjt/1.8-doc
Browse files Browse the repository at this point in the history
Update doc for v1.8
  • Loading branch information
reasonerjt authored Jan 14, 2022
2 parents 595e62e + 7a5ae10 commit db466df
Show file tree
Hide file tree
Showing 80 changed files with 6,693 additions and 18 deletions.
1 change: 1 addition & 0 deletions changelogs/unreleased/4517-reasonerjt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Update doc for v1.8
3 changes: 2 additions & 1 deletion site/config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -12,9 +12,10 @@ params:
hero:
backgroundColor: med-blue
versioning: true
latest: v1.7
latest: v1.8
versions:
- main
- v1.8
- v1.7
- v1.6
- v1.5
Expand Down
Original file line number Diff line number Diff line change
@@ -1,12 +1,11 @@
---
title: "Upgrading to Velero 1.7"
title: "Upgrading to Velero 1.8"
layout: docs
---

## Prerequisites

- Velero [v1.6.x][6] installed.
- Kubernetes cluster version 1.16 and later.
- Velero [v1.7.x][7] installed.

If you're not yet running at least Velero v1.6, see the following:

Expand All @@ -16,12 +15,13 @@ If you're not yet running at least Velero v1.6, see the following:
- [Upgrading to v1.4][4]
- [Upgrading to v1.5][5]
- [Upgrading to v1.6][6]
- [Upgrading to v1.7][7]

Before upgrading, check the [Velero compatibility matrix](https://github.com/vmware-tanzu/velero#velero-compatabilty-matrix) to make sure your version of Kubernetes is supported by the new version of Velero.

## Instructions

1. Install the Velero v1.7 command-line interface (CLI) by following the [instructions here][0].
1. Install the Velero v1.8 command-line interface (CLI) by following the [instructions here][0].

Verify that you've properly installed it by running:

Expand All @@ -33,7 +33,7 @@ Before upgrading, check the [Velero compatibility matrix](https://github.com/vmw

```bash
Client:
Version: v1.7.0
Version: v1.8.0
Git commit: <git SHA>
```

Expand All @@ -43,20 +43,18 @@ Before upgrading, check the [Velero compatibility matrix](https://github.com/vmw
velero install --crds-only --dry-run -o yaml | kubectl apply -f -
```

**NOTE:** You could change the default CRD API version (v1beta1 _or_ v1) if Velero CLI can't discover the Kubernetes preferred CRD API version. The Kubernetes version < 1.16 preferred CRD API version is v1beta1; the Kubernetes version >= 1.16 preferred CRD API version is v1.
**NOTE:** If you are upgrading Velero in Kubernetes 1.14.x or earlier, you will need to use `kubectl apply`'s `--validate=false` option when applying the CRD configuration above. See [issue 2077][10] and [issue 2311][11] for more context.
**NOTE:** Since velero v1.8.0 only v1 CRD will be supported during installation, therefore, the v1.8.0 will only work on kubernetes version >= v1.16

1. Update the container image used by the Velero deployment and, optionally, the restic daemon set:

```bash
kubectl set image deployment/velero \
velero=velero/velero:v1.7.0 \
velero=velero/velero:v1.8.0 \
--namespace velero
# optional, if using the restic daemon set
kubectl set image daemonset/restic \
restic=velero/velero:v1.7.0 \
restic=velero/velero:v1.8.0 \
--namespace velero
```

Expand All @@ -70,11 +68,11 @@ Before upgrading, check the [Velero compatibility matrix](https://github.com/vmw

```bash
Client:
Version: v1.7.0
Version: v1.8.0
Git commit: <git SHA>
Server:
Version: v1.7.0
Version: v1.8.0
```

## Notes
Expand All @@ -90,6 +88,5 @@ After upgrading, if there is a previously created backup storage location with t
[4]: https://velero.io/docs/v1.4/upgrade-to-1.4/
[5]: https://velero.io/docs/v1.5/upgrade-to-1.5
[6]: https://velero.io/docs/v1.6/upgrade-to-1.6
[9]: https://velero.io/docs/v1.7/locations
[10]: https://github.com/vmware-tanzu/velero/issues/2077
[11]: https://github.com/vmware-tanzu/velero/issues/2311
[7]: https://velero.io/docs/v1.7/upgrade-to-1.7
[9]: https://velero.io/docs/v1.8/locations
58 changes: 58 additions & 0 deletions site/content/docs/v1.8/_index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
---
toc: "false"
cascade:
version: v1.8
toc: "true"
---
![100]

[![Build Status][1]][2]

## Overview

Velero (formerly Heptio Ark) gives you tools to back up and restore your Kubernetes cluster resources and persistent volumes. You can run Velero with a cloud provider or on-premises. Velero lets you:

* Take backups of your cluster and restore in case of loss.
* Migrate cluster resources to other clusters.
* Replicate your production cluster to development and testing clusters.

Velero consists of:

* A server that runs on your cluster
* A command-line client that runs locally

## Documentation

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.

## Troubleshooting

If you encounter issues, review the [troubleshooting docs][30], [file an issue][4], or talk to us on the [#velero channel][25] on the Kubernetes Slack server.

## Contributing

If you are ready to jump in and test, add code, or help with documentation, follow the instructions on our [Start contributing](https://velero.io/docs/v1.8.0/start-contributing/) documentation for guidance on how to setup Velero for development.

## Changelog

See [the list of releases][6] to find out about feature changes.

[1]: https://github.com/vmware-tanzu/velero/workflows/Main%20CI/badge.svg
[2]: https://github.com/vmware-tanzu/velero/actions?query=workflow%3A"Main+CI"

[4]: https://github.com/vmware-tanzu/velero/issues
[6]: https://github.com/vmware-tanzu/velero/releases

[9]: https://kubernetes.io/docs/setup/
[10]: https://kubernetes.io/docs/tasks/tools/install-kubectl/#install-with-homebrew-on-macos
[11]: https://kubernetes.io/docs/tasks/tools/install-kubectl/#tabset-1
[12]: https://github.com/kubernetes/kubernetes/blob/main/cluster/addons/dns/README.md
[14]: https://github.com/kubernetes/kubernetes
[24]: https://groups.google.com/forum/#!forum/projectvelero
[25]: https://kubernetes.slack.com/messages/velero

[30]: troubleshooting.md

[100]: img/velero.png
21 changes: 21 additions & 0 deletions site/content/docs/v1.8/api-types/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
---
title: "Table of Contents"
layout: docs
---

## API types

Here we list the API types that have some functionality that you can only configure via json/yaml vs the `velero` cli
(hooks)

* [Backup][1]
* [Restore][2]
* [Schedule][3]
* [BackupStorageLocation][4]
* [VolumeSnapshotLocation][5]

[1]: backup.md
[2]: restore.md
[3]: schedule.md
[4]: backupstoragelocation.md
[5]: volumesnapshotlocation.md
19 changes: 19 additions & 0 deletions site/content/docs/v1.8/api-types/_index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
---
layout: docs
title: API types
---

Here's a list the API types that have some functionality that you can only configure via json/yaml vs the `velero` cli
(hooks)

* [Backup][1]
* [Restore][2]
* [Schedule][3]
* [BackupStorageLocation][4]
* [VolumeSnapshotLocation][5]

[1]: backup.md
[2]: restore.md
[3]: schedule.md
[4]: backupstoragelocation.md
[5]: volumesnapshotlocation.md
148 changes: 148 additions & 0 deletions site/content/docs/v1.8/api-types/backup.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,148 @@
---
title: "Backup API Type"
layout: docs
---

## Use

Use the `Backup` API type to request the Velero server to perform a backup. Once created, the
Velero Server immediately starts the backup process.

## API GroupVersion

Backup belongs to the API group version `velero.io/v1`.

## Definition

Here is a sample `Backup` object with each of the fields documented:

```yaml
# Standard Kubernetes API Version declaration. Required.
apiVersion: velero.io/v1
# Standard Kubernetes Kind declaration. Required.
kind: Backup
# Standard Kubernetes metadata. Required.
metadata:
# Backup name. May be any valid Kubernetes object name. Required.
name: a
# Backup namespace. Must be the namespace of the Velero server. Required.
namespace: velero
# Parameters about the backup. Required.
spec:
# Array of namespaces to include in the backup. If unspecified, all namespaces are included.
# Optional.
includedNamespaces:
- '*'
# Array of namespaces to exclude from the backup. Optional.
excludedNamespaces:
- some-namespace
# Array of resources to include in the backup. Resources may be shortcuts (for example 'po' for 'pods')
# or fully-qualified. If unspecified, all resources are included. Optional.
includedResources:
- '*'
# Array of resources to exclude from the backup. Resources may be shortcuts (for example 'po' for 'pods')
# or fully-qualified. Optional.
excludedResources:
- storageclasses.storage.k8s.io
# Whether or not to include cluster-scoped resources. Valid values are true, false, and
# null/unset. If true, all cluster-scoped resources are included (subject to included/excluded
# resources and the label selector). If false, no cluster-scoped resources are included. If unset,
# all cluster-scoped resources are included if and only if all namespaces are included and there are
# no excluded namespaces. Otherwise, if there is at least one namespace specified in either
# includedNamespaces or excludedNamespaces, then the only cluster-scoped resources that are backed
# up are those associated with namespace-scoped resources included in the backup. For example, if a
# PersistentVolumeClaim is included in the backup, its associated PersistentVolume (which is
# cluster-scoped) would also be backed up.
includeClusterResources: null
# Individual objects must match this label selector to be included in the backup. Optional.
labelSelector:
matchLabels:
app: velero
component: server
# Whether or not to snapshot volumes. This only applies to PersistentVolumes for Azure, GCE, and
# AWS. Valid values are true, false, and null/unset. If unset, Velero performs snapshots as long as
# a persistent volume provider is configured for Velero.
snapshotVolumes: null
# Where to store the tarball and logs.
storageLocation: aws-primary
# The list of locations in which to store volume snapshots created for this backup.
volumeSnapshotLocations:
- aws-primary
- gcp-primary
# The amount of time before this backup is eligible for garbage collection. If not specified,
# a default value of 30 days will be used. The default can be configured on the velero server
# by passing the flag --default-backup-ttl.
ttl: 24h0m0s
# Whether restic should be used to take a backup of all pod volumes by default.
defaultVolumesToRestic: true
# Actions to perform at different times during a backup. The only hook supported is
# executing a command in a container in a pod using the pod exec API. Optional.
hooks:
# Array of hooks that are applicable to specific resources. Optional.
resources:
-
# Name of the hook. Will be displayed in backup log.
name: my-hook
# Array of namespaces to which this hook applies. If unspecified, the hook applies to all
# namespaces. Optional.
includedNamespaces:
- '*'
# Array of namespaces to which this hook does not apply. Optional.
excludedNamespaces:
- some-namespace
# Array of resources to which this hook applies. The only resource supported at this time is
# pods.
includedResources:
- pods
# Array of resources to which this hook does not apply. Optional.
excludedResources: []
# This hook only applies to objects matching this label selector. Optional.
labelSelector:
matchLabels:
app: velero
component: server
# An array of hooks to run before executing custom actions. Only "exec" hooks are supported.
pre:
-
# The type of hook. This must be "exec".
exec:
# The name of the container where the command will be executed. If unspecified, the
# first container in the pod will be used. Optional.
container: my-container
# The command to execute, specified as an array. Required.
command:
- /bin/uname
- -a
# How to handle an error executing the command. Valid values are Fail and Continue.
# Defaults to Fail. Optional.
onError: Fail
# How long to wait for the command to finish executing. Defaults to 30 seconds. Optional.
timeout: 10s
# An array of hooks to run after all custom actions and additional items have been
# processed. Only "exec" hooks are supported.
post:
# Same content as pre above.
# Status about the Backup. Users should not set any data here.
status:
# The version of this Backup. The only version supported is 1.
version: 1
# The date and time when the Backup is eligible for garbage collection.
expiration: null
# The current phase. Valid values are New, FailedValidation, InProgress, Completed, PartiallyFailed, Failed.
phase: ""
# An array of any validation errors encountered.
validationErrors: null
# Date/time when the backup started being processed.
startTimestamp: 2019-04-29T15:58:43Z
# Date/time when the backup finished being processed.
completionTimestamp: 2019-04-29T15:58:56Z
# Number of volume snapshots that Velero tried to create for this backup.
volumeSnapshotsAttempted: 2
# Number of volume snapshots that Velero successfully created for this backup.
volumeSnapshotsCompleted: 1
# Number of warnings that were logged by the backup.
warnings: 2
# Number of errors that were logged by the backup.
errors: 0

```
Loading

0 comments on commit db466df

Please sign in to comment.