Skip to content

vmware-tanzu/velero-plugin-for-vsphere

Repository files navigation

Velero Plugin for vSphere

Velero Plugin For vSphere CICD Pipeline

Overview

This repository contains the Velero Plugin for vSphere. This plugin provides crash-consistent snapshots of vSphere block volumes and backup of volume data into S3 compatible storage.

Releases

For releases, please refer to the releases page.

Kubernetes distributions

Velero Plugin for vSphere supports the following Kubernetes distributions:

For more information on vSphere with Tanzu, (formerly known as vSphere with Kubernetes and Project Pacific), and especially for information about the role of the Supervisor Cluster, please see vSphere with Tanzu Configuration and Management.

For more information on TKGS, the Tanzu Kubernetes Grid Service, please see Provisioning and Managing Tanzu Kubernetes Clusters Using the Tanzu Kubernetes Grid Service.

Important note on vSphere with Tanzu networking requirements

vSphere with Tanzu supports two distinct networking deployments with the release of vSphere 7.0 Update 1 (U1). The first deployment leverages NSX-T to provide load balancing services as well as overlay networking for Pod VM to Pod VM communication in the Supervisor Cluster. The second networking configuration supported by vSphere with Tanzu uses native vSphere network distributed switches and a HA Proxy to provide load balancing services. Native vSphere networking does not provide any overlay networking capabilities, and thus this deployment does not currently support Pod VMs in the Supervisor. Since Pod VMs are a requirement when wish to use the Velero Plugin for vSphere in vSphere with Tanzu, it currently requires a networking deployment that uses NSX-T. vSphere with Tanzu deployments that use native vSphere distributed switch networking and the HA Proxy for load balancing cannot currently be backed up using the Velero Plugin for vSphere.

TKGS is the Tanzu Kubernetes Grid Service, a service available in vSphere with Tanzu to enable the deployment of TKG (guest) clusters in vSphere with Tanzu namespaces. Whilst TKGS is available in both deployments types of vSphere with Tanzu (NSX-T and native vSphere networking), the ability to backup TKGS guest clusters also requires the Supervisor Cluster to have the Velero Plugin for vSphere to be installed in the Supervisor Cluster. Since this is not possible with vSphere with Tanzu which uses native vSphere distributed switch networking, the Velero Plugin for vSphere is currently unable to backup and restore TKG guest clustes in these deployments.

Architecture

Velero handles Kubernetes metadata during backup and retore. Velero relies on its plugin to backup and retore PVCs. Velero Plugin for vSphere includes the following components:

  • Velero vSphere Operator - a Supervisor Service that helps users install Velero and its vSphere plugin on the Supervisor Cluster; must be enabled through vSphere UI to support backup and restore on Supervisor and Guest Clusters
  • vSphere Plugin - deployed with Velero; called by Velero to backup and restore a PVC
  • Backupdriver - handles the backup and restore of PVCs; relies on the Data Mover to upload or download data
  • Data Mover - handles upload of snapshot data to object store and download of snapshot data from object store
    • Note: The Data Mover is only functionally tested and it is not meant to work at scale and does not promise any performance expectations. It is not meant to backup business critical applications in production.

Velero Plugin for vSphere Architecture

Backup and restore workflows are described in details here.

Velero Plugin for vSphere Installation and Configuration details

For details on how to use Velero Plugin for vSphere for each Kubernetes flavor, refer to the following documents:

Note: Velero needs to be installed in each TKG workload cluster.

Known issues

Known issues are documented here.

Troubleshooting

If you encounter issues, review the troubleshooting docs or file an issue.

Developer Guide

Developer Guide is available at here.