您可以启用etcd-snapshot服务,使用相关的配置参数,开启定时备份 etcd 节点快照功能。

etcd-snapshotetcd容器之外的服务容器中运行。默认设置下,etcd-snapshot服务会为每一个具有etcd角色的节点创建快照,然后将这些快照储存在本地的/opt/rke/etcd-snapshots路径下。如果您配置了 AWS S3 相关的参数,RKE 会将快照上传到 S3 Backend。

可配置的参数在下文的表格中有详细的描述。

Etcd-Snapshot 服务的可配置参数

创建定时快照时,可配置的参数如下表所示。

备份快照可以被存储在自定义S3备份机器,如minio上。如果 S3 Backend 使用的是自签名证书或自定义证书,需要使用--s3-endpoint-ca将自定义证书验证并连接到 S3 Backend。

使用 IAM 认证 S3 并储存节点快照

  • 集群的 etcd 节点必须分配有 IAM 角色,并且这个角色需要有读写 S3 存储节点快照的桶的权限。
  • 节点必须有权限访问 S3 端点。

以下是IAM 策略示例代码,给节点开放了在 S3 上读取和写入备份快照的权限。

关于如何为应用开放访问 S3 的权限,请查看 AWS 的文档。

您可以启用etcd-snapshot服务和相关的配置参数,以开启定时备份 etcd 节点快照功能。etcd-snapshotetcd容器之外的服务容器中运行。默认设置下,服务会为每一个具有etcd角色的节点创建快照,然后将这些快照储存在本地的/opt/rke/etcd-snapshots路径下。

快照服务日志

运行已经启用etcd-snapshot的集群时,您可以在命令行工具中输入docker logs etcd-rolling-snapshots,查看etcd-rolling-snapshots日志,确认集群是否开启定时快照功能。输入该命令后,返回的消息包含了创建时间、创建信息、快照名称和 runtime,与下方代码示例相似。

参数描述
snapshot布尔值,默认为false,不启动定时备份功能。将它设置为true时,会启动定时备份功能。
creation创建快照的间隔时间,默认间隔是5m0s,即 5 分钟。
retention保存快照的时间,默认值为,即 24 小时。当快照存活的时间超过这个限制后,会自动删除快照。

配置快照服务的 YAML 示例