Etcd is the key-value store that holds all Kubernetes cluster state. If etcd becomes corrupted or unavailable, your cluster will stop functioning. Omni supports creating etcd backups so that you can restore a cluster to a known good state if something goes wrong. Omni supports two backup storage backends:Documentation Index
Fetch the complete documentation index at: https://docs.siderolabs.com/llms.txt
Use this file to discover all available pages before exploring further.
local and s3.
The backend is selected during Omni initialization.
This guide covers how to configure S3 backup storage, create a manual backup, and enable automatic backups.
To restore a cluster from a backup, see Restore Etcd of a Cluster Managed by Cluster Templates.
Check backup status
Before configuring backups, check the current state of the backup subsystem:| Field | Description |
|---|---|
CONFIGURATION NAME | The backup backend currently configured (s3 or local). |
CONFIGURATION ERROR | Any error with the current backup configuration. not initialized means the backend has been selected but not yet configured. |
LAST BACKUP STATUS | The result of the most recent backup attempt. |
LAST BACKUP ERROR | Any error from the most recent backup attempt. |
LAST BACKUP TIME | When the most recent backup completed. |
CONFIGURATION ATTEMPT | The number of times Omni has attempted to apply the backup configuration. |
CONFIGURATION NAME is s3 and CONFIGURATION ERROR shows not initialized, which means the S3 backend has been selected but the credentials have not yet been configured. The remaining fields are empty because no backups have been created yet.
Configure S3 backup storage
Omni stores etcd backups in an S3-compatible bucket. Before creating any backups, you need to provide Omni with the credentials and configuration it needs to access your bucket. This section covers compatibility considerations for non-AWS providers and how to apply the S3 configuration.S3-compatible providers
Omni uses the AWS S3 API for storing etcd backups. Non-AWS providers that advertise S3 compatibility may work when configured with a customendpoint, but Omni does not maintain a compatibility list for third-party providers.
If you use a non-AWS S3 provider:
- Test backup and restore workflows before relying on them in production.
- Some providers may require additional configuration, such as a
regionvalue or provider-specific credentials. - Ensure the endpoint and credentials are valid and accessible from Omni.
Apply the S3 configuration
To configure S3 as the backup backend, create anEtcdBackupS3Configs.omni.sidero.dev resource.
The following example configures Omni to use a MinIO S3 instance, edit this example to fit your S3 instance:
spec are:
| Field | Required | Description |
|---|---|---|
bucket | Yes | The name of the S3 bucket to store backups in. |
region | No | The S3 bucket region. Defaults to the AWS default region if not set. |
endpoint | No | The S3 endpoint URL. Defaults to the AWS S3 endpoint if not set. Required for non-AWS providers. |
accesskeyid | No | The access key ID for the S3 bucket. If not set, Omni assumes it is running on an EC2 instance with an IAM role that has access to the bucket. |
secretaccesskey | No | The secret access key for the S3 bucket. |
sessiontoken | No | A session token for temporary credentials, if required. |
CONFIGURATION ERROR field should now be empty:
Create a manual backup
To trigger a backup immediately, create and apply anEtcdManualBackups.omni.sidero.dev resource.
The
<unix-timestamp> value must be no more than one minute in the future or past. The nanos field must always be 0.- Run the following command, replacing
<cluster-name>with the name of your cluster:
- Apply the resource:
- After a few seconds, check the per-cluster backup status:
- To check the overall backup subsystem status:
Enable automatic backups
Omni supports scheduled automatic backups. You can configure the backup interval using either cluster templates or by editing the cluster resource directly.- Cluster templates
- Cluster resource
To enable automatic etcd backups using a cluster template:Replace If automatic backups are not yet enabled, the output will show the backup configuration being added:If automatic backups are already enabled, the diff will show an existing This command will output something similar to this:
- Add a
features.backupConfigurationblock to your cluster template:
<controlplane-machine-uuid>, <worker-machine-one-uuid>, and <worker-machine-two-uuid> with the UUIDs of your control plane and worker machines.For more information on configuring cluster features with cluster templates, see the Cluster Template reference documentation.- Before applying, check whether automatic backups are already enabled on the cluster:
backupconfiguration block with a non-null value.In that case, you can update the interval value in your template and re-run the diff to confirm the change before applying, or skip to step 4 to verify the existing backup schedule is working as expected.- Apply the template:
If no backups exist for the cluster yet, Omni will create one immediately rather than waiting for the first scheduled interval.
- Verify that the backup was created by running the following command, replacing
<cluster-name>with the name of your cluster: