Kinetica Cluster Backups Reference¶
Full KineticaClusterBackup CR Structure¶
kineticaclusterbackups.app.kinetica.com_sample.yaml
# APIVersion defines the versioned schema of this representation of an
# object. Servers should convert recognized schemas to the latest
# internal value, and may reject unrecognized values. More info:
# https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
apiVersion: app.kinetica.com/v1
# Kind is a string value representing the REST resource this object
# represents. Servers may infer this from the endpoint the client
# submits requests to. Cannot be updated. In CamelCase. More info:
# https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
kind: KineticaClusterBackup
metadata: {}
# Fields specific to the linked backup engine
provider:
# Name of the backup/restore provider. FOR INTERNAL USE ONLY.
backupProvider: "velero"
# Name of the backup in the linked BackupProvider. FOR INTERNAL USE
# ONLY.
linkedItemName: ""
# BackupSpec defines the specification for a Velero backup.
spec:
# DefaultVolumesToRestic specifies whether restic should be used to
# take a backup of all pod volumes by default.
defaultVolumesToRestic: true
# ExcludedNamespaces contains a list of namespaces that are not
# included in the backup.
excludedNamespaces: ["string"]
# ExcludedResources is a slice of resource names that are not included
# in the backup.
excludedResources: ["string"]
# Hooks represent custom behaviors that should be executed at
# different phases of the backup.
hooks:
# Resources are hooks that should be executed when backing up
# individual instances of a resource.
resources:
- excludedNamespaces: ["string"]
# ExcludedResources specifies the resources to which this hook
# spec does not apply.
excludedResources: ["string"]
# IncludedNamespaces specifies the namespaces to which this hook
# spec applies. If empty, it applies to all namespaces.
includedNamespaces: ["string"]
# IncludedResources specifies the resources to which this hook
# spec applies. If empty, it applies to all resources.
includedResources: ["string"]
# LabelSelector, if specified, filters the resources to which this
# hook spec applies.
labelSelector:
# matchExpressions is a list of label selector requirements. The
# requirements are ANDed.
matchExpressions:
- key: string
# operator represents a key's relationship to a set of values.
# Valid operators are In, NotIn, Exists and DoesNotExist.
operator: string
# values is an array of string values. If the operator is In
# or NotIn, the values array must be non-empty. If the
# operator is Exists or DoesNotExist, the values array must
# be empty. This array is replaced during a strategic merge
# patch.
values: ["string"]
# matchLabels is a map of {key,value} pairs. A single
# {key,value} in the matchLabels map is equivalent to an
# element of matchExpressions, whose key field is "key", the
# operator is "In", and the values array contains only "value".
# The requirements are ANDed.
matchLabels: {}
# Name is the name of this hook.
name: string
# PostHooks is a list of BackupResourceHooks to execute after
# storing the item in the backup. These are executed after
# all "additional items" from item actions are processed.
post:
- exec:
# Command is the command and arguments to execute.
command: ["string"]
# Container is the container in the pod where the command
# should be executed. If not specified, the pod's first
# container is used.
container: string
# OnError specifies how Velero should behave if it encounters
# an error executing this hook.
onError: string
# Timeout defines the maximum amount of time Velero should
# wait for the hook to complete before considering the
# execution a failure.
timeout: string
# PreHooks is a list of BackupResourceHooks to execute prior to
# storing the item in the backup. These are executed before
# any "additional items" from item actions are processed.
pre:
- exec:
# Command is the command and arguments to execute.
command: ["string"]
# Container is the container in the pod where the command
# should be executed. If not specified, the pod's first
# container is used.
container: string
# OnError specifies how Velero should behave if it encounters
# an error executing this hook.
onError: string
# Timeout defines the maximum amount of time Velero should
# wait for the hook to complete before considering the
# execution a failure.
timeout: string
# IncludeClusterResources specifies whether cluster-scoped resources
# should be included for consideration in the backup.
includeClusterResources: true
# IncludedNamespaces is a slice of namespace names to include objects
# from. If empty, all namespaces are included.
includedNamespaces: ["string"]
# IncludedResources is a slice of resource names to include in the
# backup. If empty, all resources are included.
includedResources: ["string"]
# LabelSelector is a metav1.LabelSelector to filter with when adding
# individual objects to the backup. If empty or nil, all objects are
# included. Optional.
labelSelector:
# matchExpressions is a list of label selector requirements. The
# requirements are ANDed.
matchExpressions:
- key: string
# operator represents a key's relationship to a set of values.
# Valid operators are In, NotIn, Exists and DoesNotExist.
operator: string
# values is an array of string values. If the operator is In or
# NotIn, the values array must be non-empty. If the operator is
# Exists or DoesNotExist, the values array must be empty. This
# array is replaced during a strategic merge patch.
values: ["string"]
# matchLabels is a map of {key,value} pairs. A single {key,value} in
# the matchLabels map is equivalent to an element of
# matchExpressions, whose key field is "key", the operator is "In",
# and the values array contains only "value". The requirements are
# ANDed.
matchLabels: {} metadata: labels: {}
# OrderedResources specifies the backup order of resources of specific
# Kind. The map key is the Kind name and value is a list of resource
# names separated by commas. Each resource name has
# format "namespace/resourcename". For cluster resources, simply
# use "resourcename".
orderedResources: {}
# SnapshotVolumes specifies whether to take cloud snapshots of any
# PV's referenced in the set of objects included in the Backup.
snapshotVolumes: true
# StorageLocation is a string containing the name of a
# BackupStorageLocation where the backup should be stored.
storageLocation: string
# TTL is a time.Duration-parseable string describing how long the
# Backup should be retained for.
ttl: string
# VolumeSnapshotLocations is a list containing names of
# VolumeSnapshotLocations associated with this backup.
volumeSnapshotLocations: ["string"] status:
# ClusterSize the current number of ranks & type i.e. CPU or GPU of
# the cluster when the backup took place.
clusterSize:
# ClusterSizeEnum - T-Shirt size of the Kinetica DB Cluster i.e. a
# representation of the number of nodes in a simple to understand
# T-Short size scheme. This indicates the size of the cluster i.e.
# the number of nodes. It does not identify the size of the cloud
# provider nodes. For node size see ClusterTypeEnum. Supported
# Values are: - XS S M L XL XXL XXXL
tshirtSize: string
# ClusterTypeEnum - An Enum of the node types of a KineticaCluster
# e.g. CPU, GPU along with the Cloud Provider node size e.g. size
# of the VM.
tshirtType: string coldTierBackup: string
# CompletionTimestamp records the time a backup was completed.
# Completion time is recorded even on failed backups. Completion time
# is recorded before uploading the backup object. The server's time
# is used for CompletionTimestamps
completionTimestamp: string
# Errors is a count of all error messages that were generated during
# execution of the backup. The actual errors are in the backup's log
# file in object storage.
errors: 1
# Expiration is when this Backup is eligible for garbage-collection.
expiration: string
# FormatVersion is the backup format version, including major, minor,
# and patch version.
formatVersion: string
# Phase is the current state of the Backup.
phase: string
# Progress contains information about the backup's execution progress.
# Note that this information is best-effort only -- if Velero fails
# to update it during a backup for any reason, it may be
# inaccurate/stale.
progress:
# ItemsBackedUp is the number of items that have actually been
# written to the backup tarball so far.
itemsBackedUp: 1
# TotalItems is the total number of items to be backed up. This
# number may change throughout the execution of the backup due to
# plugins that return additional related items to back up, the
# velero.io/exclude-from-backup label, and various other filters
# that happen as items are processed.
totalItems: 1
# StartTimestamp records the time a backup was started. Separate from
# CreationTimestamp, since that value changes on restores. The
# server's time is used for StartTimestamps
startTimestamp: string
# ValidationErrors is a slice of all validation errors
# (if applicable).
validationErrors: ["string"]
# Version is the backup format major version. Deprecated: Please see
# FormatVersion
version: 1
# VolumeSnapshotsAttempted is the total number of attempted volume
# snapshots for this backup.
volumeSnapshotsAttempted: 1
# VolumeSnapshotsCompleted is the total number of successfully
# completed volume snapshots for this backup.
volumeSnapshotsCompleted: 1
# Warnings is a count of all warning messages that were generated
# during execution of the backup. The actual warnings are in the
# backup's log file in object storage.
warnings: 1