Application Centric Backups
T4K backup and recovery solution natively identifies the Kubernetes applications to backup based on labels, helm release and operators.
Label based applications: T4K takes input of label(s) from the user and expects that particular label is set on all the application resources. During backup, T4K lists all k8s resources based on the label(s) provided. After this, T4K identifies the dependencies of the backup resources. For example if the deployment has the label then the service account of that deployment will also be backed up as part of dependency resolution. Object based applications: T4K provides the ability to directly select specific Kubernetes objects/resources from a single namespace for backup and restore operations. This approach allows users to choose individual resources by their type (GroupVersionKind) and name, providing granular control over what gets included in the backup. Users can select multiple objects of different types (Deployments, Services, ConfigMaps, Secrets, PersistentVolumeClaims, etc.) from the same namespace to create a custom backup scope. T4K identifies these objects using their GroupVersionKind (GVK) and object names specified in the backup plan. During backup, T4K automatically includes dependencies of the selected objects (such as ServiceAccounts referenced by Deployments, or ConfigMaps referenced by Pods) to ensure a complete and consistent backup. This method is particularly useful when you need to backup specific resources that don't share common labels or when you want fine-grained control over the backup scope without relying on label selectors. Helm based applications: T4K takes input of helm release name and we identify the resources in the helm release by decoding the helm release secret present in the same namespace. Also, we identify if the helm release have dependent helm subchart(s), then T4K backups the resources of the helm subchart(s) as well. At the time of restore, the application is restored in the form of helm chart and the entire application can be treated as a new helm release.
Operator Based Applications: Operator application consists of CustomResourceDefinition(CRD) and its controller. Whenever CR is created for the operator CRD, controller creates the actual application resources and your application comes up and running. T4K takes the input of operator resources, custom resources and application resources to identify the entire operator application for backup.
In operator resource, T4K identify the operator resources either by user provided label(s) or helm release name based on the installation method of operator. In custom resources, T4K takes the input of CR name and its CRD which includes the GVK(GroupVersionKind). In Application resources, T4K identifies the resources created by the operator on reconciliation of the custom resources. We identify the application resources automatically using the owner reference of the CR as well. However if any operator doesn't add owner reference of the CR on application resources then T4K identifies those resources from the label(s) provided.
Last updated