This version is under construction, please use an official release version

Configure via Dashboard

Encryption at rest secures sensitive data stored in Kubernetes resources by encrypting data while stored in etcd.

Encryption at Rest is supported for Secrets resources only

Overview

Encryption at rest protects sensitive data in your Kubernetes clusters by encrypting it before storage in etcd. The data is only decrypted when requested via Kubernetes API calls.

Enable Encryption During Cluster Creation

You need to enable Encryption at Rest when creating the cluster. You can do this in the cluster creation step, under the Specification section.

Enable Encryption at Rest

The encryption key for Encryption at Rest must be 32 bytes in length and base64-encoded. You can generate a suitable key using:

head -c 32 /dev/urandom | base64

Important: If you lose the encryption key, your encrypted Secret data will become unrecoverable. Always store your keys securely and create backups before enabling or rotating them.

When specifying the encryption key for Encryption at Rest, it must be a valid 32-byte base64 encoded string. If you provide an invalid or incorrectly base64-encoded key, the system will display an error and will not allow you to proceed.

Enable Encryption at Rest

Complete the remaining cluster configuration steps and click Create Cluster to deploy your encrypted cluster.

You can also view whether the feature is enabled or disabled before creation—this can be checked at the wizard summary page.

Cluster Wizard Summary

Verify Encryption Status

The cluster details page displays encryption status with visual indicators:

The encryption status of your cluster is indicated as follows:

  • Active: Encryption is fully enabled and actively protecting your secrets.
  • Pending: Encryption is being set up or changes are still being applied.
  • Disabled: Encryption at rest is currently not enabled for this cluster.

No status indicator visible: Encryption at rest has never been enabled or configured.

Encryption Status: Pending

Encryption Status: Encryption Needed

Encryption Status: Active

You can also use kubectl to check the encryption settings and real-time status of your cluster.

Check if Encryption at Rest is Enabled

Replace <Cluster_ID> with your actual cluster’s identifier:

kubectl get cluster <Cluster_ID> -o jsonpath="{.spec.features.encryptionAtRest}"

If encryption is enabled, this will return true. If disabled, it will return false.

Check the Current Encryption Status

Use the following command to see the current encryption phase:

kubectl get cluster <Cluster_ID> -o jsonpath="{.status.encryption.phase}"

Disable Encryption At Rest

Already Status Active

To disable Encryption at Rest, you must uncheck the “Encryption at Rest” option and then click Save Changes. Simply toggling the checkbox does not immediately disable encryption; changes are only applied after saving.

Disabled Encryption At Rest Successfully

Enable or Re-Enable Encryption on Existing Clusters

To enable Encryption at Rest for an existing cluster using the edit cluster dialog, provide an encryption key before saving. The process is similar to enabling encryption during cluster creation.

Enabled Encryption At Rest

If Encryption at Rest is already enabled, you must first disable it and save your changes. This process will decrypt resources that were encrypted with the old encryption key.

View Encryption Status After Enabling via Edit Cluster

Once you enable or re-enable Encryption at Rest via the edit cluster dialog, the encryption status will be displayed in the cluster details page just like for clusters where encryption was enabled during creation. You will see the visual status indicators as described in the Verify Encryption Status section (e.g., Active, Pending, or Disabled) based on the current state of encryption for your cluster.