创建一次性快照
#
概述v0.2.0 或以上的版本和 v0.2.0 之前的版本创建一次性快照的方式不同,请阅读下文对应的章节获取创建一次性快照的信息。
#
RKE v0.2.0 或以上的版本打开命令行工具,输入rke etcd snapshot-save
命令,运行后即可保存 cluster config 文件内每个 etcd 节点的快照。RKE 会将节点快照保存在/opt/rke/etcd-snapshots
路径下。运行上述命令时,RKE 会创建一个用于备份快照的容器。完成备份后,RKE 会删除该容器。您可以将一次性快照适配 S3 的后端主机。具体过程如下:
首先,运行以下命令,在本地创建一个一次性快照:
结果: 创建了一个快照,保存在
/opt/rke/etcd-snapshots
路径下。然后,运行以下命令,将这个快照保存到 S3。
结果: 保存在
/opt/rke/etcd-snapshots
路径下的快照已经上传至 S3。
#
rke etcd snapshot-save 命令的可配置参数创建一次性快照时,可配置的参数如下表所示:
参数 | 描述 | S3 相关参数 |
---|---|---|
--name | 指定快照名称 | |
--config | 指定 YAML 文件名称,如果不指定,则会使用cluster.yml 文件 | |
--s3 | 启用 S3 存储服务备份节点快照 | * |
--s3-endpoint | 指定 S3 端点 URL 地址,默认值为 s3.amazonaws.com | * |
--s3-endpoint-ca | 指定 CA 证书文件的路径连接自定义 S3 端点(可选), RKE v0.2.5 及以上版本可用 | * |
--access-key | S3 的 accessKey | * |
--secret-key | S3 的 secretKey | * |
--bucket-name | S3 的 桶名称(bucket name) | * |
--folder | 指定 S3 存储节点快照的文件夹(可选), RKE v0.3.0 及以上版本可用 | * |
--region | S3 的 桶所在的区域(可选) | * |
--ssh-agent-auth | 使用 SSH_AUTH_SOCK 定义的 SSH Agent Auth | |
--ignore-docker-version | 禁用 Docker 版本检查 |
说明:
- 如果 AWS EC2 示例配置了 IAM 认证,则
--access-key
和--secret-key
不是必填项。- 表格第三列标记为"* "的参数,是 S3 相关的参数。
#
使用自定义 CA 证书认证 S3v0.2.0 或以上的版本可用
备份快照可以被存储在自定义S3
备份机器,如minio上。如果 S3 Backend 使用的是自签名证书或自定义证书,需要使用--s3-endpoint-ca
将自定义证书验证并连接到 S3 Backend。
#
使用 IAM 认证 S3 并储存节点快照RKE 支持使用 IAM 角色权限管理进行 S3 认证。集群的 etcd 节点必须分配有 IAM 角色,并且这个角色需要有读写 S3 存储节点快照的桶的权限。节点必须有权限访问 S3 端点。
以下是IAM 策略示例代码,给节点开放了在 S3 上读取和写入备份快照的权限。
关于如何为应用开放访问 S3 的权限,请查看 AWS 的文档使用 IAM 角色向在 Amazon EC2 实例上运行的应用程序授予权限。
#
RKE v0.2.0 之前的版本打开命令行工具,输入rke etcd snapshot-save
命令,运行后即可保存 cluster config 文件内每个 etcd 节点的快照。
运行上述命令时,RKE 会创建一个用于备份快照的容器。完成备份后,RKE 会删除该容器。
RKE 会为证书生成备份,在同一路径下将证书保存为pki.bundle.tar.gz
文件。恢复集群时,会用到快照和 pki 文件。
运行以下命令,在本地创建一次性快照:
结果: RKE 会将节点快照保存在/opt/rke/etcd-snapshots
路径下。
#
rke etcd snapshot-save 命令的可参数参数 | 描述 |
---|---|
--name | 指定快照名称 |
--config | 指定 YAML 文件名称,如果不指定,则会使用cluster.yml 文件 [$RKE_CONFIG] |
--ssh-agent-auth | 使用 SSH_AUTH_SOCK 定义的 SSH Agent Auth |
--ignore-docker-version | 禁用 Docker 版本检查 |