Note
You can download this article as a PDF
Kubernetes Plugin
CommunityEnterpriseContainers provide a lightweight system-level virtualization solution with minimal overhead, as applications within virtual partitions utilize the operating system’s standard system call interface without requiring emulation or running in a separate virtual machine. Kubernetes manages a set of containers to create a flexible execution environment for various applications and services
The Bacula Enterprise Kubernetes Plugin is designed to securely store all critical Kubernetes objects and meta-data that are essential for the functioning of the application or service.
Since Bacula Enterprise 18.1, the plugin supports KubeVirt objects. This technology provides a unified development platform where developers can build, modify, and deploy applications residing in both Application Containers as well as Virtual Machines in a common, shared environment.
This includes the following namespaced objects:
Config Map
Cron Job
Daemon Set
Data Sources (KubeVirt)
Data Volumes (KubeVirt)
Deployment
Endpoint
Horizontal Pod Autoscaler
Ingress
Job
Limit Range
Network Attachment Definition (KubeVirt)
Network Policy
Persistent Volume Claim
Pod
Pod Disruption Budget
Pod Template
Replica Set
Replication Controller
Resource Quota
Role
Role Binding
Secret
Service
Service Account
Stateful Set
PVC Data Archive
Virtual Machine (KubeVirt)
Virtual Machine Instance Type (KubeVirt)
Virtual Machine Preference (KubeVirt)
Volume Snapshot
Note
The PVC Data does not precisely correspond to a Kubernetes Object, but rather serves as a repository of actual data that exists on the chosen PVC.
and non namespaced objects:
Etcd
Cluster Role
Cluster Role Binding
Migration Policy (KubeVirt)
Namespace
Persistent Volume
Storage Class
Virtual Machine Cluster Instance Type (KubeVirt)
Virtual Machine Cluster Preference (KubeVirt)
Volume Snapshot Class
Volume Snapshot Content
All namespaced objects which belong to a particular namespace are grouped together for easy backup data browsing and recovery.
Note
The Ingress backups are available since Bacula Enterprise 16.0.14.
Note
The Cluster Roles, Cluster Role Bindings, VolumeSnapshotClass, namespaced Roles, namespaced Role Bindings, Cron Jobs, Jobs, Horizontal Pod Autoscaler, Network Policy and KubeVirt resources backups are available since Bacula Enterprise 18.1.
Proper authorization is necessary for users and service accounts to access the server API. This involves going through authentication, authorization, and admission control. In order to effectively back up Kubernetes objects, it is essential to have a user or service account with the appropriate permissions and rights to be authenticated and authorized to access the API server and the objects that need to be backed up.
To ensure successful object configuration backups, it is essential for the user or service account to have the capability to read and list the objects. Additionally, for PVC Data backup, the user or service account must also possess the ability to create and delete pods. This is necessary as the plugin will need to create and delete the Bacula Backup Proxy Pod during the backup process. These user permissions can be checked by query command user_permissions.
See the Kubernetes documentation for more details.
Read more:
Go back to: Containers.