mirror of
https://github.com/rancher/rancher-docs.git
synced 2026-05-05 04:33:18 +00:00
Adding preview for v2.12 Rancher documentation.
Signed-off-by: Sunil Singh <sunil.singh@suse.com>
This commit is contained in:
+188
@@ -0,0 +1,188 @@
|
||||
---
|
||||
title: 备份配置
|
||||
---
|
||||
|
||||
你可以在备份创建页面配置调度,启用加密,并指定备份的存储位置。
|
||||
|
||||
|
||||
## 调度
|
||||
|
||||
选择第一个选项来执行一次性备份,或选择第二个选项来安排定期备份。选择**定期备份**后,你可以配置以下两个字段:
|
||||
|
||||
- **调度**:该字段支持
|
||||
- 标准 [cron 表达式](https://en.wikipedia.org/wiki/Cron),例如 `"0 * * * *"`
|
||||
- 描述符,例如 `"@midnight"` 或 `"@every 1h30m"`
|
||||
- **保留数量**:指定必须保留的备份文件数量。如果文件数量超过 `retentionCount` 设置的值,最旧的文件将被删除。默认值为 10。
|
||||
|
||||
| YAML 指令名称 | 描述 |
|
||||
| ---------------- | ---------------- |
|
||||
| `schedule` | 提供用于调度定期备份的 cron 字符串。 |
|
||||
| `retentionCount` | 提供要保留的备份文件数量。 |
|
||||
|
||||
## 加密
|
||||
|
||||
rancher-backup 通过调用 kube-apiserver 来收集资源。apiserver 返回的对象会被解密,所以即使启用了[静态加密](https://kubernetes.io/docs/tasks/administer-cluster/encrypt-data/),备份收集的加密对象也会是明文。
|
||||
|
||||
为避免以明文形式存储资源,你可以使用与静态加密相同的 `EncryptionConfiguration` 文件来加密备份中的特定资源。
|
||||
|
||||
:::note 重要提示:
|
||||
|
||||
rancher-backup Operator 不会保存 `EncryptionConfiguration`,因此在备份中加密对象时,你必须自行保存该文件。
|
||||
|
||||
例如,[将 Rancher 迁移到新集群](../../how-to-guides/new-user-guides/backup-restore-and-disaster-recovery/migrate-rancher-to-new-cluster.md)时,该文件可用于在新集群中重新创建 secret。
|
||||
|
||||
:::
|
||||
|
||||
Operator 将 `EncryptionConfiguration` 用作 `cattle-resources-system` 命名空间中的 Kubernetes Secret,在 Secret 数据中,它位于名为 `encryption-provider-config.yaml` 的 key 下面。
|
||||
|
||||
对于 `EncryptionConfiguration`,你可以使用 [Kubernetes 文档中提供的示例](https://kubernetes.io/docs/tasks/administer-cluster/encrypt-data/#understanding-the-encryption-at-rest-configuration)。
|
||||
|
||||
为确保在 secret 中使用正确的密钥,加密配置文件必须命名为 `encryption-provider-config.yaml`。下面的命令使用 `--from-file` 标志来创建具有正确密钥名称的 Secret。
|
||||
|
||||
将 `EncryptionConfiguration` 保存到名为 `encryption-provider-config.yaml` 的文件中,并运行以下命令:
|
||||
|
||||
```bash
|
||||
kubectl create secret generic encryptionconfig \
|
||||
--from-file=./encryption-provider-config.yaml \
|
||||
-n cattle-resources-system
|
||||
```
|
||||
|
||||
这将确保密文包含一个名为 `encryption-provider-config.yaml` 的 key,而且 operator 会使用该 key 来获取加密配置。
|
||||
|
||||
`Encryption Config Secret` 下拉菜单将过滤并仅列出拥有这个 key 的密文。
|
||||
|
||||

|
||||
|
||||
在上面的示例命令中,`encryptionconfig` 这个名称可以任意修改。
|
||||
|
||||
|
||||
| YAML 指令名称 | 描述 |
|
||||
| ---------------- | ---------------- |
|
||||
| `encryptionConfigSecretName` | 提供 `cattle-resources-system` 命名空间中包含加密配置文件的密文的名称。 |
|
||||
|
||||
## 存储位置
|
||||
|
||||
如果在备份中指定了 `StorageLocation`,operator 将从该特定的 S3 存储桶中检索备份位置。如果没有指定,operator 将尝试在默认 operator 级别的 S3 存储和 operator 级别的 PVC 存储中查找这个文件。默认存储位置是在部署 `rancher-backup` operator 时配置的。
|
||||
|
||||
如果你选择第一个选项,备份将存储在安装 rancher-backup Chart 时配置的存储位置中。如果你选择第二个选项,你可以配置不同的兼容 S3 的对象存储作为备份存储位置。
|
||||
|
||||
### S3
|
||||
|
||||
:::caution
|
||||
|
||||
如果你使用 S3 备份目标,请确保每个集群都有自己的存储桶或文件夹。Rancher 将使用集群配置的 S3 存储桶或文件夹中的可用快照来填充快照信息。
|
||||
|
||||
:::
|
||||
|
||||
S3 存储位置包含以下配置字段:
|
||||
|
||||
1. **凭证密文**(可选):如果你需要使用 AWS 访问密钥(access key)和密文密钥(secret key)来访问 S3 存储桶,请使用带有密钥和指令 `accessKey` 和 `secretKey` 的凭证来创建密文。它可以是任意一个命名空间。你可以点击[此处](#credentialsecret-示例)查看示例密文。如果运行 operator 的节点在 EC2 中,并且设置了允许它们访问 S3 的 IAM 权限,则此指令是不必要的(如[本节](#ec2-节点访问-s3-的-iam-权限)所述)。凭证密文下拉菜单列出了所有命名空间的密文。
|
||||
1. **存储桶名称**:存储备份文件的 S3 存储桶的名称。
|
||||
1. **区域**(可选):S3 存储桶所在的 AWS [区域](https://aws.amazon.com/about-aws/global-infrastructure/regions_az/)。配置 MinIO 时不需要该字段。
|
||||
1. **文件夹**(可选):S3 存储桶中存储备份文件的文件夹名称。不支持嵌套文件夹(例如, `rancher/cluster1`)。如果此字段留空,则默认将备份文件存储在 S3 存储桶的根文件夹中。
|
||||
1. **端点**:用于访问存储桶区域中的 S3 的[端点](https://docs.aws.amazon.com/general/latest/gr/s3.html)。
|
||||
1. **端点 CA**(可选):Base64 编码的 CA 证书。如需获取示例,请参见 [S3 兼容配置示例](#s3-存储配置示例)。
|
||||
1. **跳过 TLS 验证**(可选):如果你不使用 TLS,则设置为 `true`。
|
||||
|
||||
|
||||
| YAML 指令名称 | 描述 | 必填 |
|
||||
| ---------------- | ---------------- | ------------ |
|
||||
| `credentialSecretName` | 如果你需要使用 AWS 访问密钥(access key)和密文密钥(secret key)来访问 S3 存储桶,请使用带有密钥和指令 `accessKey` 和 `secretKey` 的凭证来创建密文。它可以在任何命名空间中,只要你在 `credentialSecretNamespace` 中提供该命名空间。点击[这里](#credentialsecret-示例)查看示例密文。如果运行 operator 的节点在 EC2 中,并且设置了允许它们访问 S3 的 IAM 权限,则此指令是不必要的(如[本节](#ec2-节点访问-s3-的-iam-权限)所述)。 | |
|
||||
| `credentialSecretNamespace` | 包含访问 S3 的凭证的密文的命名空间。如果运行 operator 的节点在 EC2 中,并且设置了允许它们访问 S3 的 IAM 权限,则此指令是不必要的(如[本节](#ec2-节点访问-s3-的-iam-权限)所述)。 | |
|
||||
| `bucketName` | 存储备份文件的 S3 存储桶的名称。 | ✓ |
|
||||
| `folder` | S3 存储桶中存储备份文件的文件夹名称。不支持嵌套文件夹(例如, `rancher/cluster1`)。如果此字段留空,则默认将备份文件存储在 S3 存储桶的根文件夹中。 | |
|
||||
| `region` | S3 存储桶所在的 AWS [区域](https://aws.amazon.com/about-aws/global-infrastructure/regions_az/)。 | ✓ |
|
||||
| `endpoint` | 用于访问存储桶区域中的 S3 的[端点](https://docs.aws.amazon.com/general/latest/gr/s3.html)。 | ✓ |
|
||||
| `endpointCA` | Base64 编码的 CA 证书。如需获取示例,请参见 [S3 兼容配置示例](#s3-存储配置示例)。 | |
|
||||
| `insecureTLSSkipVerify` | 如果你不使用 TLS,则设置为 `true`。 | |
|
||||
|
||||
### S3 存储配置示例
|
||||
|
||||
```yaml
|
||||
s3:
|
||||
credentialSecretName: s3-creds
|
||||
credentialSecretNamespace: default
|
||||
bucketName: rancher-backups
|
||||
folder: rancher
|
||||
region: us-west-2
|
||||
endpoint: s3.us-west-2.amazonaws.com
|
||||
```
|
||||
|
||||
### MinIO 配置示例
|
||||
|
||||
```yaml
|
||||
s3:
|
||||
credentialSecretName: minio-creds
|
||||
bucketName: rancherbackups
|
||||
endpoint: minio.35.202.130.254.xip.io
|
||||
endpointCA: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURHakNDQWdLZ0F3SUJBZ0lKQUtpWFZpNEpBb0J5TUEwR0NTcUdTSWIzRFFFQkN3VUFNQkl4RURBT0JnTlYKQkFNTUIzUmxjM1F0WTJFd0hoY05NakF3T0RNd01UZ3lOVFE1V2hjTk1qQXhNREk1TVRneU5UUTVXakFTTVJBdwpEZ1lEVlFRRERBZDBaWE4wTFdOaE1JSUJJakFOQmdrcWhraUc5dzBCQVFFRkFBT0NBUThBTUlJQkNnS0NBUUVBCjA4dnV3Q2Y0SEhtR2Q2azVNTmozRW5NOG00T2RpS3czSGszd1NlOUlXQkwyVzY5WDZxenBhN2I2M3U2L05mMnkKSnZWNDVqeXplRFB6bFJycjlpbEpWaVZ1NFNqWlFjdG9jWmFCaVNsL0xDbEFDdkFaUlYvKzN0TFVTZSs1ZDY0QQpWcUhDQlZObU5xM3E3aVY0TE1aSVpRc3N6K0FxaU1Sd0pOMVVKQTZ6V0tUc2Yzc3ByQ0J2dWxJWmZsVXVETVAyCnRCTCt6cXZEc0pDdWlhNEEvU2JNT29tVmM2WnNtTGkwMjdub3dGRld3MnRpSkM5d0xMRE14NnJoVHQ4a3VvVHYKQXJpUjB4WktiRU45L1Uzb011eUVKbHZyck9YS2ZuUDUwbk8ycGNaQnZCb3pUTStYZnRvQ1d5UnhKUmI5cFNTRApKQjlmUEFtLzNZcFpMMGRKY2sxR1h3SURBUUFCbzNNd2NUQWRCZ05WSFE0RUZnUVU5NHU4WXlMdmE2MTJnT1pyCm44QnlFQ2NucVFjd1FnWURWUjBqQkRzd09ZQVU5NHU4WXlMdmE2MTJnT1pybjhCeUVDY25xUWVoRnFRVU1CSXgKRURBT0JnTlZCQU1NQjNSbGMzUXRZMkdDQ1FDb2wxWXVDUUtBY2pBTUJnTlZIUk1FQlRBREFRSC9NQTBHQ1NxRwpTSWIzRFFFQkN3VUFBNElCQVFER1JRZ1RtdzdVNXRQRHA5Q2psOXlLRW9Vd2pYWWM2UlAwdm1GSHpubXJ3dUVLCjFrTkVJNzhBTUw1MEpuS29CY0ljVDNEeGQ3TGdIbTNCRE5mVVh2anArNnZqaXhJYXR2UWhsSFNVaWIyZjJsSTkKVEMxNzVyNCtROFkzelc1RlFXSDdLK08vY3pJTGh5ei93aHRDUlFkQ29lS1dXZkFiby8wd0VSejZzNkhkVFJzNwpHcWlGNWZtWGp6S0lOcTBjMHRyZ0xtalNKd1hwSnU0ZnNGOEcyZUh4b2pOKzdJQ1FuSkg5cGRIRVpUQUtOL2ppCnIvem04RlZtd1kvdTBndEZneWVQY1ZWbXBqRm03Y0ZOSkc4Y2ZYd0QzcEFwVjhVOGNocTZGeFBHTkVvWFZnclMKY1VRMklaU0RJd1FFY3FvSzFKSGdCUWw2RXBaUVpWMW1DRklrdFBwSQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0t
|
||||
```
|
||||
### credentialSecret 示例
|
||||
|
||||
```yaml
|
||||
apiVersion: v1
|
||||
kind: Secret
|
||||
metadata:
|
||||
name: creds
|
||||
type: Opaque
|
||||
data:
|
||||
accessKey: <base64-encoded access key>
|
||||
secretKey: <base64-encoded secret key>
|
||||
```
|
||||
|
||||
:::note
|
||||
|
||||
为避免编码问题,你可以使用以下命令创建 `credentialSecret`,更新 `accessKey` 和 `secretKey` 的值。
|
||||
|
||||
```bash
|
||||
kubectl create secret generic s3-creds \
|
||||
--from-literal=accessKey=<access key> \
|
||||
--from-literal=secretKey=<secret key>
|
||||
```
|
||||
|
||||
:::
|
||||
|
||||
### EC2 节点访问 S3 的 IAM 权限
|
||||
|
||||
有两种方法可以设置 `rancher-backup` operator 来使用 S3 作为备份存储位置。
|
||||
|
||||
一种方法是在 Backup 自定义资源中配置 `credentialSecretName`(即可以访问 S3 的 AWS 凭证)。
|
||||
|
||||
如果集群节点在 Amazon EC2 中,你也可以给 EC2 节点分配 IAM 权限,使其可以访问 S3。
|
||||
|
||||
要允许节点访问 S3,请按照 [AWS 文档](https://aws.amazon.com/premiumsupport/knowledge-center/ec2-instance-access-s3-bucket/)中的说明,为 EC2 创建一个 IAM 角色。在向角色添加自定义策略时,添加以下权限,并将 `Resource` 替换为你的存储桶名称:
|
||||
|
||||
```json
|
||||
{
|
||||
"Version": "2012-10-17",
|
||||
"Statement": [
|
||||
{
|
||||
"Effect": "Allow",
|
||||
"Action": [
|
||||
"s3:ListBucket"
|
||||
],
|
||||
"Resource": [
|
||||
"arn:aws:s3:::rancher-backups"
|
||||
]
|
||||
},
|
||||
{
|
||||
"Effect": "Allow",
|
||||
"Action": [
|
||||
"s3:PutObject",
|
||||
"s3:GetObject",
|
||||
"s3:DeleteObject",
|
||||
"s3:PutObjectAcl"
|
||||
],
|
||||
"Resource": [
|
||||
"arn:aws:s3:::rancher-backups/*"
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
在创建角色并将相应的实例配置文件附加 EC2 实例后,Backup 自定义资源中的 `credentialSecretName` 指令可以留空。
|
||||
|
||||
## 示例
|
||||
|
||||
如需获取 Backup 自定义资源的示例,请参见[本页](examples.md#备份)。
|
||||
+12
@@ -0,0 +1,12 @@
|
||||
---
|
||||
title: Rancher 备份配置参考
|
||||
---
|
||||
|
||||
<head>
|
||||
<link rel="canonical" href="https://ranchermanager.docs.rancher.com/zh/reference-guides/backup-restore-configuration"/>
|
||||
</head>
|
||||
|
||||
- [备份配置](backup-configuration.md)
|
||||
- [还原配置](restore-configuration.md)
|
||||
- [存储位置配置](storage-configuration.md)
|
||||
- [Backup 和 Restore 自定义资源示例](examples.md)
|
||||
+293
@@ -0,0 +1,293 @@
|
||||
---
|
||||
title: 示例
|
||||
---
|
||||
|
||||
本节包含 Backup 和 Restore 自定义资源的示例。
|
||||
|
||||
默认的备份存储位置是在安装或升级 `rancher-backup` operator 时配置的。
|
||||
|
||||
只有 Restore 自定义资源使用创建备份时使用的加密配置密文时,才能还原加密的备份。
|
||||
|
||||
## 备份
|
||||
|
||||
本节包含 Backup 自定义资源的示例。
|
||||
|
||||
> **注意**:有关配置以下选项的更多信息,请参阅[备份配置参考页面](./backup-configuration.md)。
|
||||
|
||||
### 在默认位置进行加密备份
|
||||
|
||||
```yaml
|
||||
apiVersion: resources.cattle.io/v1
|
||||
kind: Backup
|
||||
metadata:
|
||||
name: default-location-encrypted-backup
|
||||
spec:
|
||||
resourceSetName: rancher-resource-set
|
||||
encryptionConfigSecretName: encryptionconfig
|
||||
```
|
||||
|
||||
### 在默认位置进行定期备份
|
||||
|
||||
```yaml
|
||||
apiVersion: resources.cattle.io/v1
|
||||
kind: Backup
|
||||
metadata:
|
||||
name: default-location-recurring-backup
|
||||
spec:
|
||||
resourceSetName: rancher-resource-set
|
||||
schedule: "@every 1h"
|
||||
retentionCount: 10
|
||||
```
|
||||
|
||||
### 在默认位置进行加密的定期备份
|
||||
|
||||
```yaml
|
||||
apiVersion: resources.cattle.io/v1
|
||||
kind: Backup
|
||||
metadata:
|
||||
name: default-enc-recurring-backup
|
||||
spec:
|
||||
resourceSetName: rancher-resource-set
|
||||
encryptionConfigSecretName: encryptionconfig
|
||||
schedule: "@every 1h"
|
||||
retentionCount: 3
|
||||
```
|
||||
|
||||
### Minio 中的加密备份
|
||||
|
||||
```yaml
|
||||
apiVersion: resources.cattle.io/v1
|
||||
kind: Backup
|
||||
metadata:
|
||||
name: minio-backup
|
||||
spec:
|
||||
storageLocation:
|
||||
s3:
|
||||
credentialSecretName: minio-creds
|
||||
credentialSecretNamespace: default
|
||||
bucketName: rancherbackups
|
||||
endpoint: minio.xip.io
|
||||
endpointCA: <base64-encoded-cert>
|
||||
resourceSetName: rancher-resource-set
|
||||
encryptionConfigSecretName: encryptionconfig
|
||||
```
|
||||
|
||||
### 使用 AWS 凭证密文在 S3 中备份
|
||||
|
||||
```yaml
|
||||
apiVersion: resources.cattle.io/v1
|
||||
kind: Backup
|
||||
metadata:
|
||||
name: s3-backup
|
||||
spec:
|
||||
storageLocation:
|
||||
s3:
|
||||
credentialSecretName: s3-creds
|
||||
credentialSecretNamespace: default
|
||||
bucketName: rancher-backups
|
||||
folder: ecm1
|
||||
region: us-west-2
|
||||
endpoint: s3.us-west-2.amazonaws.com
|
||||
resourceSetName: rancher-resource-set
|
||||
encryptionConfigSecretName: encryptionconfig
|
||||
```
|
||||
|
||||
### 使用 AWS 凭证密文在 S3 中进行定期备份
|
||||
|
||||
```yaml
|
||||
apiVersion: resources.cattle.io/v1
|
||||
kind: Backup
|
||||
metadata:
|
||||
name: s3-recurring-backup
|
||||
spec:
|
||||
storageLocation:
|
||||
s3:
|
||||
credentialSecretName: s3-creds
|
||||
credentialSecretNamespace: default
|
||||
bucketName: rancher-backups
|
||||
folder: ecm1
|
||||
region: us-west-2
|
||||
endpoint: s3.us-west-2.amazonaws.com
|
||||
resourceSetName: rancher-resource-set
|
||||
encryptionConfigSecretName: encryptionconfig
|
||||
schedule: "@every 1h"
|
||||
retentionCount: 10
|
||||
```
|
||||
|
||||
### 从具有访问 S3 的 IAM 权限的 EC2 节点进行备份
|
||||
|
||||
这个例子表明,如果运行 `rancher-backup` 的节点拥有这些[访问 S3 的权限](backup-configuration.md#ec2-节点访问-s3-的-iam-权限),就不必提供 AWS 的凭证密文来创建备份。
|
||||
|
||||
```yaml
|
||||
apiVersion: resources.cattle.io/v1
|
||||
kind: Backup
|
||||
metadata:
|
||||
name: s3-iam-backup
|
||||
spec:
|
||||
storageLocation:
|
||||
s3:
|
||||
bucketName: rancher-backups
|
||||
folder: ecm1
|
||||
region: us-west-2
|
||||
endpoint: s3.us-west-2.amazonaws.com
|
||||
resourceSetName: rancher-resource-set
|
||||
encryptionConfigSecretName: encryptionconfig
|
||||
```
|
||||
|
||||
## 还原
|
||||
|
||||
本节包含 Restore 自定义资源的示例。
|
||||
|
||||
> **注意**:有关配置以下选项的更多信息,请参阅[恢复配置参考页面](./restore-configuration.md)。
|
||||
|
||||
### 使用默认备份文件位置还原
|
||||
|
||||
```yaml
|
||||
apiVersion: resources.cattle.io/v1
|
||||
kind: Restore
|
||||
metadata:
|
||||
name: restore-default
|
||||
spec:
|
||||
backupFilename: default-location-recurring-backup-752ecd87-d958-4d20-8350-072f8d090045-2020-09-26T12-29-54-07-00.tar.gz
|
||||
# encryptionConfigSecretName: test-encryptionconfig
|
||||
```
|
||||
|
||||
### 为 Rancher 迁移进行还原
|
||||
```yaml
|
||||
apiVersion: resources.cattle.io/v1
|
||||
kind: Restore
|
||||
metadata:
|
||||
name: restore-migration
|
||||
spec:
|
||||
backupFilename: backup-b0450532-cee1-4aa1-a881-f5f48a007b1c-2020-09-15T07-27-09Z.tar.gz
|
||||
prune: false
|
||||
storageLocation:
|
||||
s3:
|
||||
credentialSecretName: s3-creds
|
||||
credentialSecretNamespace: default
|
||||
bucketName: rancher-backups
|
||||
folder: ecm1
|
||||
region: us-west-2
|
||||
endpoint: s3.us-west-2.amazonaws.com
|
||||
```
|
||||
|
||||
### 使用加密的备份还原
|
||||
|
||||
```yaml
|
||||
apiVersion: resources.cattle.io/v1
|
||||
kind: Restore
|
||||
metadata:
|
||||
name: restore-encrypted
|
||||
spec:
|
||||
backupFilename: default-test-s3-def-backup-c583d8f2-6daf-4648-8ead-ed826c591471-2020-08-24T20-47-05Z.tar.gz
|
||||
encryptionConfigSecretName: encryptionconfig
|
||||
```
|
||||
|
||||
### 从 Minio 还原加密的备份
|
||||
|
||||
```yaml
|
||||
apiVersion: resources.cattle.io/v1
|
||||
kind: Restore
|
||||
metadata:
|
||||
name: restore-minio
|
||||
spec:
|
||||
backupFilename: default-minio-backup-demo-aa5c04b7-4dba-4c48-9ac4-ab7916812eaa-2020-08-30T13-18-17-07-00.tar.gz
|
||||
storageLocation:
|
||||
s3:
|
||||
credentialSecretName: minio-creds
|
||||
credentialSecretNamespace: default
|
||||
bucketName: rancherbackups
|
||||
endpoint: minio.xip.io
|
||||
endpointCA: <base64-encoded-cert>
|
||||
encryptionConfigSecretName: test-encryptionconfig
|
||||
```
|
||||
|
||||
### 使用 AWS 凭证密文访问 S3 从备份中还原
|
||||
|
||||
```yaml
|
||||
apiVersion: resources.cattle.io/v1
|
||||
kind: Restore
|
||||
metadata:
|
||||
name: restore-s3-demo
|
||||
spec:
|
||||
backupFilename: test-s3-recurring-backup-752ecd87-d958-4d20-8350-072f8d090045-2020-09-26T12-49-34-07-00.tar.gz.enc
|
||||
storageLocation:
|
||||
s3:
|
||||
credentialSecretName: s3-creds
|
||||
credentialSecretNamespace: default
|
||||
bucketName: rancher-backups
|
||||
folder: ecm1
|
||||
region: us-west-2
|
||||
endpoint: s3.us-west-2.amazonaws.com
|
||||
encryptionConfigSecretName: test-encryptionconfig
|
||||
```
|
||||
|
||||
### 从具有访问 S3 的 IAM 权限的 EC2 节点进行还原
|
||||
|
||||
这个例子表明,如果运行 `rancher-backup` 的节点拥有这些[访问 S3 的权限](backup-configuration.md#ec2-节点访问-s3-的-iam-权限),就不必提供 AWS 的凭证密文来从备份中还原。
|
||||
|
||||
```yaml
|
||||
apiVersion: resources.cattle.io/v1
|
||||
kind: Restore
|
||||
metadata:
|
||||
name: restore-s3-demo
|
||||
spec:
|
||||
backupFilename: default-test-s3-recurring-backup-84bf8dd8-0ef3-4240-8ad1-fc7ec308e216-2020-08-24T10#52#44-07#00.tar.gz
|
||||
storageLocation:
|
||||
s3:
|
||||
bucketName: rajashree-backup-test
|
||||
folder: ecm1
|
||||
region: us-west-2
|
||||
endpoint: s3.us-west-2.amazonaws.com
|
||||
encryptionConfigSecretName: test-encryptionconfig
|
||||
```
|
||||
|
||||
## 在 S3 中存储备份的凭证密文示例
|
||||
|
||||
```yaml
|
||||
apiVersion: v1
|
||||
kind: Secret
|
||||
metadata:
|
||||
name: creds
|
||||
type: Opaque
|
||||
data:
|
||||
accessKey: <Enter your base64-encoded access key>
|
||||
secretKey: <Enter your base64-encoded secret key>
|
||||
```
|
||||
|
||||
## EncryptionConfiguration 示例
|
||||
|
||||
以下代码片段演示了两种不同类型的密文及其与自定义资源的备份和还原的相关性。
|
||||
|
||||
第一个示例是用于加密备份文件的密钥。在这种情况下,Backup operator 将无法读取密文加密文件。它只使用密文的内容。
|
||||
|
||||
第二个示例是 Kubernetes 密文加密配置文件,用于加密存储在 etcd 中的密文。**备份 etcd 数据存储时,请务必同时备份 EncryptionConfiguration**。如果你没有这样做,而且备份数据时正在使用密文加密,你将无法使用恢复的数据。
|
||||
|
||||
|
||||
```yaml
|
||||
apiVersion: apiserver.config.k8s.io/v1
|
||||
kind: EncryptionConfiguration
|
||||
resources:
|
||||
- resources:
|
||||
- secrets
|
||||
providers:
|
||||
- aesgcm:
|
||||
keys:
|
||||
- name: key1
|
||||
secret: c2VjcmV0IGlzIHNlY3VyZQ==
|
||||
- name: key2
|
||||
secret: dGhpcyBpcyBwYXNzd29yZA==
|
||||
- aescbc:
|
||||
keys:
|
||||
- name: key1
|
||||
secret: c2VjcmV0IGlzIHNlY3VyZQ==
|
||||
- name: key2
|
||||
secret: dGhpcyBpcyBwYXNzd29yZA==
|
||||
- secretbox:
|
||||
keys:
|
||||
- name: key1
|
||||
secret: YWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXoxMjM0NTY=
|
||||
```
|
||||
|
||||
|
||||
|
||||
+81
@@ -0,0 +1,81 @@
|
||||
---
|
||||
title: 还原配置
|
||||
---
|
||||
|
||||
你可以在还原创建页面提供还原备份的详细信息。
|
||||
|
||||

|
||||
|
||||
|
||||
## 备份源
|
||||
你需要提供备份文件和备份文件存储位置的详细信息,operator 会使用这些信息执行还原。选择以下其中一个选项来提供这些详细信息。
|
||||
|
||||
|
||||
|
||||
|
||||
### 使用已有的备份配置恢复
|
||||
|
||||
如果你选择这个选项,**目标备份**下拉菜单中会出现集群中可用的备份。从下拉菜单中选择 Backup,选择后**备份文件名**字段会自动填写,而且所选 Backup 的信息会传递给 operator
|
||||
|
||||

|
||||
|
||||
如果 Backup 自定义资源在集群中不存在,你需要获取准确的文件名,并使用默认存储目标或与 S3 兼容的对象存储来提供备份源的详细信息。
|
||||
|
||||
|
||||
### 使用默认存储目标恢复
|
||||
|
||||
如果你要从 operator 级别配置的默认存储位置中的备份文件进行恢复,请选择此选项。operator 级别的配置是指安装或升级 `rancher-backup` operator 时配置的存储位置。在**备份文件名**字段中提供准确的文件名。
|
||||
|
||||

|
||||
|
||||
### 使用与 S3 兼容的对象存储恢复
|
||||
|
||||
如果在 operator 级别没有配置默认存储位置,或者备份文件所在的存储桶与配置的默认存储位置不一样时,请选择此选项。在**备份文件名**字段中提供准确的文件名。请参见[本节](#从-s3-获取备份文件名)了解从 S3 获取备份文件名的具体步骤。填写 S3 兼容对象存储的所有详细信息。它的字段与 [Backup 自定义资源](backup-configuration.md#存储位置)中 `backup.StorageLocation` 配置的字段一样。
|
||||
|
||||

|
||||
|
||||
## 加密
|
||||
|
||||
如果备份是在启用加密的情况下创建的,备份文件的后缀为 `.enc`。如果你选择这类的 Backup,或者提供后缀为 `.enc` 的备份文件名,则会显示另一个名为 **Encryption Config Secret** 的下拉菜单。
|
||||
|
||||

|
||||
|
||||
从该下拉菜单中选择的密文必须与执行备份时用于 Backup 自定义资源的密文内容相同。如果加密配置不匹配,还原将会失败。
|
||||
|
||||
`Encryption Config Secret` 下拉菜单将过滤并仅列出拥有这个 key 的密文。
|
||||
|
||||
| YAML 指令名称 | 描述 |
|
||||
| ---------------- | ---------------- |
|
||||
| `encryptionConfigSecretName` | 提供 `cattle-resources-system` 命名空间中包含加密配置文件的密文的名称。 |
|
||||
|
||||
:::note 重要提示:
|
||||
|
||||
此字段仅在备份创建的过程中启用了加密功能时才需要设置。提供错误的加密配置将导致还原失败。
|
||||
|
||||
:::
|
||||
|
||||
## 还原过程中修剪
|
||||
|
||||
* **Prune**:为了从备份中完全恢复 Rancher,并回到备份时的确切状态,我们需要删除 Rancher 在备份后创建的所有额外资源。如果 **Prune** 标志被启用,operator 就会删除这些资源。Prune 是默认启用的,建议保持启用状态。
|
||||
* **删除超时**:在删除资源的时候,operator 编辑资源以删除 Finalizers,并试图再次删除前将等待的时间。
|
||||
|
||||
| YAML 指令名称 | 描述 |
|
||||
| ---------------- | ---------------- |
|
||||
| `prune` | 删除备份中不存在的由 Rancher 管理的资源(推荐)。 |
|
||||
| `deleteTimeoutSeconds` | 在删除资源的时候,operator 编辑资源以删除 Finalizers,并试图再次删除前将等待的时间。 |
|
||||
|
||||
## 从 S3 获取备份文件名
|
||||
|
||||
这是 `rancher-backup` operator 用来执行还原的备份文件的名称。
|
||||
|
||||
要从 S3 获取这个文件名,请进入你的 S3 存储桶(或在执行备份时指定的文件夹)。
|
||||
|
||||
复制文件名并将其存储在你的 Restore 自定义资源中。假设你的备份文件的名字是 `backupfile`:
|
||||
|
||||
- 如果你的存储桶名称是 `s3bucket`,而且你没有指定文件夹,那么要使用的 `backupFilename` 会是 `backupfile`。
|
||||
- 如果你的存储桶名称是 `s3bucket`,而且基础文件夹是 `s3folder`,那么要使用的 `backupFilename` 会是 `backupfile`。
|
||||
- 如果 `s3Folder` 中有一个名为 `s3sub` 的子文件夹,而且你的备份文件存放在该文件夹中,那么要使用的`backupFilename` 会是 `s3sub/backupfile`。
|
||||
|
||||
| YAML 指令名称 | 描述 |
|
||||
| ---------------- | ---------------- |
|
||||
| `backupFilename` | 这是 `rancher-backup` operator 用来执行还原的备份文件的名称。 |
|
||||
+56
@@ -0,0 +1,56 @@
|
||||
---
|
||||
title: 备份存储位置配置
|
||||
---
|
||||
|
||||
配置一个用于保存所有备份的默认存储位置。你可以选择对每个备份进行覆盖,但仅限于使用 S3 对象存储。
|
||||
|
||||
在 operator 级别只能配置一个存储位置。
|
||||
|
||||
|
||||
## 存储位置配置
|
||||
|
||||
### 无默认存储位置
|
||||
|
||||
你可以选择不配置 operator 级别的存储位置。如果选择此选项,你必须配置一个与 S3 兼容的对象存储作为每个备份的存储位置。
|
||||
|
||||
### S3 兼容的对象存储
|
||||
|
||||
| 参数 | 描述 |
|
||||
| -------------- | -------------- |
|
||||
| 凭证密文 | 从 Rancher 的密文中选择 S3 的凭证。[示例](examples.md#在-s3-中存储备份的凭证密文示例)。 |
|
||||
| 存储桶名称 | 存储备份的 [S3 存储桶](https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingBucket.html)的名称。默认值:`rancherbackups`。 |
|
||||
| 区域 | S3 存储桶所在的 [AWS 区域](https://aws.amazon.com/about-aws/global-infrastructure/regions_az/)。 |
|
||||
| 文件夹 | 存储备份的 [S3 存储桶中的文件夹](https://docs.aws.amazon.com/AmazonS3/latest/user-guide/using-folders.html)。如果此字段留空,则默认将备份文件存储在 S3 存储桶的根文件夹中。 |
|
||||
| 端点 | [S3 端点](https://docs.aws.amazon.com/general/latest/gr/s3.html),例如 `s3.us-west-2.amazonaws.com`。 |
|
||||
| Endpoint CA | 用于 S3 端点的 CA 证书。默认值:base64 编码的 CA 证书。 |
|
||||
| insecureTLSSkipVerify | 如果你不使用 TLS,则设置为 `true`。 |
|
||||
|
||||
### 使用现有的 StorageClass
|
||||
|
||||
如果你通过选择 StorageClass 选项来安装 `rancher-backup` Chart,将会创建一个持久卷说明(Persistent Volume Claim,PVC),而且 Kubernetes 会动态配置一个持久卷(Persistent Volume,PV),所有备份都会默认保存到该持久卷中。
|
||||
|
||||
关于创建存储类的信息,请参见[本章节](../../how-to-guides/new-user-guides/manage-clusters/create-kubernetes-persistent-storage/manage-persistent-storage/dynamically-provision-new-storage.md)。
|
||||
|
||||
:::note 重要提示:
|
||||
|
||||
强烈建议使用回收策略为 "Retain" 的 StorageClass。否则,如果 `rancher-backup` Chart 创建的 PVC 在应用升级期间或意外被删除后,PV 也会被删除,也就是说所有保存在其中的备份都会被删除。
|
||||
如果没有这样的 StorageClass 可用,在配置 PV 后,请确保先将其回收策略设置为 "Retain",然后再存储备份。
|
||||
|
||||
:::
|
||||
|
||||
### 使用现有的持久卷
|
||||
|
||||
选择一个用于存储备份的现有持久卷。有关在 Rancher 中创建 PersistentVolumes 的更多信息,请参见[本节](../../how-to-guides/new-user-guides/manage-clusters/create-kubernetes-persistent-storage/manage-persistent-storage/set-up-existing-storage.md#2-添加一个引用持久存储的-persistentvolume)。
|
||||
|
||||
:::note 重要提示:
|
||||
|
||||
强烈建议使用回收策略为 "Retain" 的 Persistent Volume。否则,如果 `rancher-backup` Chart 创建的 PVC 在应用升级期间或意外被删除后,PV 也会被删除,也就是说所有保存在其中的备份都会被删除。
|
||||
|
||||
:::
|
||||
|
||||
## rancher-backup Helm Chart 的示例 values.yaml
|
||||
|
||||
使用 Helm CLI 时,可用于配置 `rancher-backup` operator 的 `values.yaml` 可以在 [backup-restore-operator](https://github.com/rancher/backup-restore-operator/blob/master/charts/rancher-backup/values.yaml) 仓库中找到。
|
||||
|
||||
有关 `values.yaml` 文件和在安装时配置 Helm Charts 的更多信息,请参见 [Helm 文档](https://helm.sh/docs/intro/using_helm/#customizing-the-chart-before-installing)。
|
||||
|
||||
Reference in New Issue
Block a user