一、安装 rancher-backup
operator
注意:备份存储位置是 operator 级别的设置,所以需要在安装或升级 rancher-backup
时进行配置。
1、在 Rancher UI 中,进入Cluster Explorer。
2、单击 Apps & Marketplace。
3、单击 Rancher Backups。
4、在“Chart Options”选项中配置默认的存储位置。
二、执行备份
1、在Cluster Explorer中,进入左上角的下拉菜单,单击Rancher Backups。
2、单击 Backup。
3、配置加密。
rancher-backup 通过调用 kube-apiserver 来收集资源。apiserver 返回的对象会被解密,所以即使启用了加密静止状态,备份收集的加密对象也会是明文。为避免以明文形式存储它们,您可以使用静态加密的相同 encryptionConfig 文件,对备份中的某些资源进行加密。
注意:你必须保存 encryptionConfig 文件,因为它不会被 rancher-backup operator 保存。执行还原时需要使用相同的加密文件。
Operator 将这个 encryptionConfig 用作 Kubernetes Secret,Secret 必须在 operator 的命名空间中。Rancher 在 cattle-resources-system 命名空间中安装了 rancher-backup operator,所以在该命名空间中创建这个 encryptionConfig secret。
对于 EncryptionConfiguration,你可以使用以下示例配置:
apiVersion: apiserver.config.k8s.io/v1
kind: EncryptionConfiguration
resources:
- resources:
- secrets
providers:
- aescbc:
keys:
- name: key1
secret: <BASE 64 ENCODED SECRET>
- identity: {}
1)Generate a 32-byte random key and base64 encode it. If you're on Linux or macOS, run the following command:
head -c 32 /dev/urandom | base64
2)Place that value in the secret field of the EncryptionConfiguration struct.
要创建 Secret,加密配置文件必须命名为encryption-provider-config.yaml,并且必须使用--from-file标志来创建这个 secret。
将 EncryptionConfiguration 保存在名为 encryption-provider-config.yaml 的文件中,并运行此命令:
kubectl create secret generic encryptionconfig \
--from-file=./encryption-provider-config.yaml \
-n cattle-resources-system
这将确保 secret 中包含一个名为encryption-provider-config.yaml的密钥,operator 将使用这个密钥来获取加密配置。