Documentation
¶
Index ¶
- Constants
- type AWSSnapshotter
- func (s *AWSSnapshotter) AddVolumeTags(pvs []*corev1.PersistentVolume) error
- func (s *AWSSnapshotter) CleanVolumes(r *v1alpha1.Restore, csb *CloudSnapBackup) error
- func (s *AWSSnapshotter) GenerateBackupMetadata(b *v1alpha1.Backup, tc *v1alpha1.TidbCluster) (*CloudSnapBackup, string, error)
- func (s *AWSSnapshotter) GetVolumeID(pv *corev1.PersistentVolume) (string, error)
- func (s *AWSSnapshotter) Init(deps *controller.Dependencies, conf map[string]string) error
- func (s *AWSSnapshotter) PrepareRestoreMetadata(r *v1alpha1.Restore, csb *CloudSnapBackup) (string, error)
- func (s *AWSSnapshotter) ResetPvAvailableZone(r *v1alpha1.Restore, pv *corev1.PersistentVolume)
- func (s *AWSSnapshotter) SetVolumeID(pv *corev1.PersistentVolume, volumeID string) error
- type BaseSnapshotter
- type CloudSnapBackup
- type Component
- type GCPSnapshotter
- func (s *GCPSnapshotter) AddVolumeTags(pvs []*corev1.PersistentVolume) error
- func (s *GCPSnapshotter) CleanVolumes(r *v1alpha1.Restore, csb *CloudSnapBackup) error
- func (s *GCPSnapshotter) GenerateBackupMetadata(b *v1alpha1.Backup, tc *v1alpha1.TidbCluster) (*CloudSnapBackup, string, error)
- func (s *GCPSnapshotter) GetVolumeID(pv *corev1.PersistentVolume) (string, error)
- func (s *GCPSnapshotter) Init(deps *controller.Dependencies, conf map[string]string) error
- func (s *GCPSnapshotter) PrepareRestoreMetadata(r *v1alpha1.Restore, csb *CloudSnapBackup) (string, error)
- func (s *GCPSnapshotter) ResetPvAvailableZone(r *v1alpha1.Restore, pv *corev1.PersistentVolume)
- func (s *GCPSnapshotter) SetVolumeID(pv *corev1.PersistentVolume, volumeID string) error
- type KubernetesBackup
- type NoneSnapshotter
- func (s *NoneSnapshotter) AddVolumeTags(pvs []*corev1.PersistentVolume) error
- func (s *NoneSnapshotter) CleanVolumes(r *v1alpha1.Restore, csb *CloudSnapBackup) error
- func (s *NoneSnapshotter) GenerateBackupMetadata(b *v1alpha1.Backup, tc *v1alpha1.TidbCluster) (*CloudSnapBackup, string, error)
- func (s *NoneSnapshotter) GetVolumeID(pv *corev1.PersistentVolume) (string, error)
- func (s *NoneSnapshotter) Init(deps *controller.Dependencies, conf map[string]string) error
- func (s *NoneSnapshotter) PrepareRestoreMetadata(r *v1alpha1.Restore, csb *CloudSnapBackup) (string, error)
- func (s *NoneSnapshotter) ResetPvAvailableZone(r *v1alpha1.Restore, pv *corev1.PersistentVolume)
- func (s *NoneSnapshotter) SetVolumeID(pv *corev1.PersistentVolume, volumeID string) error
- type Snapshotter
- type StoresBackup
- type StoresMixture
- type TiKVBackup
- type VolumeBackup
Constants ¶
View Source
const ( CloudAPIConcurrency = 8 PVCTagKey = "CSIVolumeName" PvNameTagKey = "kubernetes.io/created-for/pv/name" PvcNameTagKey = "kubernetes.io/created-for/pvc/name" PvcNSTagKey = "kubernetes.io/created-for/pvc/namespace" )
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AWSSnapshotter ¶
type AWSSnapshotter struct {
BaseSnapshotter
}
AWSSnapshotter is the snapshotter for creating snapshots from volumes (during a backup) and volumes from snapshots (during a restore) on AWS EBS.
func (*AWSSnapshotter) AddVolumeTags ¶ added in v1.5.0
func (s *AWSSnapshotter) AddVolumeTags(pvs []*corev1.PersistentVolume) error
func (*AWSSnapshotter) CleanVolumes ¶ added in v1.5.4
func (s *AWSSnapshotter) CleanVolumes(r *v1alpha1.Restore, csb *CloudSnapBackup) error
func (*AWSSnapshotter) GenerateBackupMetadata ¶
func (s *AWSSnapshotter) GenerateBackupMetadata(b *v1alpha1.Backup, tc *v1alpha1.TidbCluster) (*CloudSnapBackup, string, error)
func (*AWSSnapshotter) GetVolumeID ¶
func (s *AWSSnapshotter) GetVolumeID(pv *corev1.PersistentVolume) (string, error)
func (*AWSSnapshotter) Init ¶
func (s *AWSSnapshotter) Init(deps *controller.Dependencies, conf map[string]string) error
func (*AWSSnapshotter) PrepareRestoreMetadata ¶
func (s *AWSSnapshotter) PrepareRestoreMetadata(r *v1alpha1.Restore, csb *CloudSnapBackup) (string, error)
func (*AWSSnapshotter) ResetPvAvailableZone ¶ added in v1.5.0
func (s *AWSSnapshotter) ResetPvAvailableZone(r *v1alpha1.Restore, pv *corev1.PersistentVolume)
func (*AWSSnapshotter) SetVolumeID ¶
func (s *AWSSnapshotter) SetVolumeID(pv *corev1.PersistentVolume, volumeID string) error
type BaseSnapshotter ¶
type BaseSnapshotter struct {
// contains filtered or unexported fields
}
func (*BaseSnapshotter) Init ¶
func (s *BaseSnapshotter) Init(deps *controller.Dependencies, conf map[string]string) error
func (*BaseSnapshotter) PrepareCSBK8SMeta ¶
func (s *BaseSnapshotter) PrepareCSBK8SMeta(tc *v1alpha1.TidbCluster) ( []*corev1.Pod, []*corev1.PersistentVolumeClaim, []*corev1.PersistentVolume, string, error)
type CloudSnapBackup ¶
type CloudSnapBackup struct {
TiKV *TiKVBackup `json:"tikv"`
PD Component `json:"pd"`
TiDB Component `json:"tidb"`
Kubernetes *KubernetesBackup `json:"kubernetes"`
Options map[string]interface{} `json:"options"`
}
func NewCloudSnapshotBackup ¶
func NewCloudSnapshotBackup(tc *v1alpha1.TidbCluster) (csb *CloudSnapBackup)
type GCPSnapshotter ¶
type GCPSnapshotter struct {
BaseSnapshotter
}
The GCPSnapshotter for creating snapshots from volumes (during a backup) and volumes from snapshots (during a restore) on Google Compute Engine Disks.
func (*GCPSnapshotter) AddVolumeTags ¶ added in v1.5.0
func (s *GCPSnapshotter) AddVolumeTags(pvs []*corev1.PersistentVolume) error
func (*GCPSnapshotter) CleanVolumes ¶ added in v1.5.4
func (s *GCPSnapshotter) CleanVolumes(r *v1alpha1.Restore, csb *CloudSnapBackup) error
func (*GCPSnapshotter) GenerateBackupMetadata ¶
func (s *GCPSnapshotter) GenerateBackupMetadata(b *v1alpha1.Backup, tc *v1alpha1.TidbCluster) (*CloudSnapBackup, string, error)
func (*GCPSnapshotter) GetVolumeID ¶
func (s *GCPSnapshotter) GetVolumeID(pv *corev1.PersistentVolume) (string, error)
func (*GCPSnapshotter) Init ¶
func (s *GCPSnapshotter) Init(deps *controller.Dependencies, conf map[string]string) error
func (*GCPSnapshotter) PrepareRestoreMetadata ¶
func (s *GCPSnapshotter) PrepareRestoreMetadata(r *v1alpha1.Restore, csb *CloudSnapBackup) (string, error)
func (*GCPSnapshotter) ResetPvAvailableZone ¶ added in v1.5.0
func (s *GCPSnapshotter) ResetPvAvailableZone(r *v1alpha1.Restore, pv *corev1.PersistentVolume)
func (*GCPSnapshotter) SetVolumeID ¶
func (s *GCPSnapshotter) SetVolumeID(pv *corev1.PersistentVolume, volumeID string) error
type KubernetesBackup ¶
type KubernetesBackup struct {
PVCs []*corev1.PersistentVolumeClaim `json:"pvcs"`
PVs []*corev1.PersistentVolume `json:"pvs"`
TiDBCluster *v1alpha1.TidbCluster `json:"crd_tidb_cluster"`
Unstructured *unstructured.Unstructured `json:"options"`
}
type NoneSnapshotter ¶
type NoneSnapshotter struct {
}
func (*NoneSnapshotter) AddVolumeTags ¶ added in v1.5.0
func (s *NoneSnapshotter) AddVolumeTags(pvs []*corev1.PersistentVolume) error
func (*NoneSnapshotter) CleanVolumes ¶ added in v1.5.4
func (s *NoneSnapshotter) CleanVolumes(r *v1alpha1.Restore, csb *CloudSnapBackup) error
func (*NoneSnapshotter) GenerateBackupMetadata ¶
func (s *NoneSnapshotter) GenerateBackupMetadata(b *v1alpha1.Backup, tc *v1alpha1.TidbCluster) (*CloudSnapBackup, string, error)
func (*NoneSnapshotter) GetVolumeID ¶
func (s *NoneSnapshotter) GetVolumeID(pv *corev1.PersistentVolume) (string, error)
func (*NoneSnapshotter) Init ¶
func (s *NoneSnapshotter) Init(deps *controller.Dependencies, conf map[string]string) error
func (*NoneSnapshotter) PrepareRestoreMetadata ¶
func (s *NoneSnapshotter) PrepareRestoreMetadata(r *v1alpha1.Restore, csb *CloudSnapBackup) (string, error)
func (*NoneSnapshotter) ResetPvAvailableZone ¶ added in v1.5.0
func (s *NoneSnapshotter) ResetPvAvailableZone(r *v1alpha1.Restore, pv *corev1.PersistentVolume)
func (*NoneSnapshotter) SetVolumeID ¶
func (s *NoneSnapshotter) SetVolumeID(pv *corev1.PersistentVolume, volumeID string) error
type Snapshotter ¶
type Snapshotter interface {
// Init prepares the Snapshotter for usage, it would add
// specific parameters as config map[string]string in the future.
Init(deps *controller.Dependencies, conf map[string]string) error
// GetVolumeID returns the cloud provider specific identifier
// for the PersistentVolume-PV.
GetVolumeID(pv *corev1.PersistentVolume) (string, error)
// GenerateBackupMetadata performs the preparations for creating
// a snapshot from the used volume for PV/PVC.
GenerateBackupMetadata(b *v1alpha1.Backup, tc *v1alpha1.TidbCluster) (*CloudSnapBackup, string, error)
// PrepareRestoreMetadata performs the preparations for creating
// a volume from the snapshot that has been backed up.
PrepareRestoreMetadata(r *v1alpha1.Restore, csb *CloudSnapBackup) (string, error)
// SetVolumeID sets the cloud provider specific identifier
// for the PersistentVolume-PV.
SetVolumeID(pv *corev1.PersistentVolume, volumeID string) error
// ResetPvAvailableZone resets az of pv if the volumes restore to another az
ResetPvAvailableZone(r *v1alpha1.Restore, pv *corev1.PersistentVolume)
// AddVolumeTags add operator related tags to volumes
AddVolumeTags(pvs []*corev1.PersistentVolume) error
CleanVolumes(r *v1alpha1.Restore, csb *CloudSnapBackup) error
}
func NewSnapshotterForBackup ¶
func NewSnapshotterForBackup(m v1alpha1.BackupMode, d *controller.Dependencies) (Snapshotter, string, error)
func NewSnapshotterForRestore ¶
func NewSnapshotterForRestore(m v1alpha1.RestoreMode, d *controller.Dependencies) (Snapshotter, string, error)
type StoresBackup ¶
type StoresBackup struct {
StoreID uint64 `json:"store_id"`
Volumes []*VolumeBackup `json:"volumes"`
}
type StoresMixture ¶
type StoresMixture struct {
// contains filtered or unexported fields
}
func NewBackupStoresMixture ¶
func NewBackupStoresMixture( tc *v1alpha1.TidbCluster, pvcs []*corev1.PersistentVolumeClaim, pvs []*corev1.PersistentVolume, s Snapshotter) *StoresMixture
func NewRestoreStoresMixture ¶
func NewRestoreStoresMixture(s Snapshotter) *StoresMixture
func (*StoresMixture) PrepareCSBStoresMeta ¶
func (m *StoresMixture) PrepareCSBStoresMeta(csb *CloudSnapBackup, pods []*corev1.Pod) (string, error)
func (*StoresMixture) ProcessCSBPVCsAndPVs ¶
func (m *StoresMixture) ProcessCSBPVCsAndPVs(r *v1alpha1.Restore, csb *CloudSnapBackup) (string, error)
type TiKVBackup ¶
type TiKVBackup struct {
Component
Stores []*StoresBackup `json:"stores"`
}
Click to show internal directories.
Click to hide internal directories.