velero-plugin-for-vsphere

module
v1.5.4 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 21, 2024 License: Apache-2.0

README

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.

Directories

Path Synopsis
cmd
vsphere-astrolabe
* Copyright the Astrolabe contributors * SPDX-License-Identifier: Apache-2.0 * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License.
* Copyright the Astrolabe contributors * SPDX-License-Identifier: Apache-2.0 * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License.
hack
pkg
apis/backupdriver/v1alpha1
Package v1alpha1 is the v1alpha1 version of the API.
Package v1alpha1 is the v1alpha1 version of the API.
apis/datamover/v1alpha1
Package v1alpha1 is the v1alpha1 version of the API.
Package v1alpha1 is the v1alpha1 version of the API.
buildinfo
Package buildinfo holds build-time information like the velero version.
Package buildinfo holds build-time information like the velero version.
cmd
generated/clientset/versioned
This package has the automatically generated clientset.
This package has the automatically generated clientset.
generated/clientset/versioned/fake
This package has the automatically generated fake clientset.
This package has the automatically generated fake clientset.
generated/clientset/versioned/scheme
This package contains the scheme of the automatically generated clientset.
This package contains the scheme of the automatically generated clientset.
generated/clientset/versioned/typed/backupdriver/v1alpha1
This package has the automatically generated typed clients.
This package has the automatically generated typed clients.
generated/clientset/versioned/typed/backupdriver/v1alpha1/fake
Package fake has the automatically generated clients.
Package fake has the automatically generated clients.
generated/clientset/versioned/typed/datamover/v1alpha1
This package has the automatically generated typed clients.
This package has the automatically generated typed clients.
generated/clientset/versioned/typed/datamover/v1alpha1/fake
Package fake has the automatically generated clients.
Package fake has the automatically generated clients.
generated/crds
Package crds embeds the controller-tools generated CRD manifests
Package crds embeds the controller-tools generated CRD manifests
ivd

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL