Note

You can download this article as a PDF

Kubernetes Plugin

Containers 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. This includes the following name-spaced objects:

  • Config Map

  • Daemon Set

  • Deployment

  • Endpoint

  • Ingress (From Bacula Enterprise version 16.0.14)

  • Limit Range

  • Pod

  • Persistent Volume Claim

  • Pod Template

  • Replica Set

  • Replication Controller

  • Resource Quota

  • Secret

  • Service

  • Service Account

  • Stateful Set

  • PVC Data Archive

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 name-spaced objects:

  • Namespace

  • Persistent Volume

  • Storage Class

All name-spaced objects which belong to a particular namespace are grouped together for easy backup data browsing and recovery.

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.

See the Kubernetes documentation for more details.

Read more in the sub-chapters: