容器化|在 S3 备份恢复 RadonDB MySQL 集群数据

作者:程润科、钱芬

视频:钱芬

上一篇文章我们演示了如何快速实现 MySQL 高可用集群部署,以及部署集群的校验和卸载方式。本文将演示如何对集群进行备份和恢复。

部署版本为 RadonDB MySQL Kubernetes 2.1.3。

环境准备

首先准备一套 Kubernetes 集群,过程略。然后创建一套 RadonDB MySQL 集群。

步骤 1:下载源码

$ git clone https://github.com/radondb/radondb-mysql-kubernetes.git

步骤 2:安装 Operator

以下指定 release 名为 test , 创建一个名为 test-mysql-operator 的 Deployment。。

$ helm install test charts/mysql-operator

步骤 3:配置备份信息

Kubernetes Secret 资源信息需提前准备。文章及操作视频中的资源环境为青云云平台的 qingstor 对象存储。其他平台的密钥及 S3 存储服务创建过程类似,请另行参考。

创建 API 密钥

登录青云云平台官网,点击 产品与服务 -> API 密钥;进入入 API 密钥页面,点击 创建 API 密钥,输入名称后下载 s3-access-keys3-secret-key 明文信息。

创建 s3-bucket

点击 产品与服务 -> 对象存储;进入对象存储页面,点击 创建 Bucket,输入 bucket 名称后即可获得 bucket 明文信息:

  • s3-endpoint: http://s3.sh1a.qingstor.com
  • s3-access-key:VNXYHYHQUXZKUVZFGFRY
  • s3-secret-key:0zw7JKkbAAdlQKHPjTHWtoFGGQRvnQ5SJRc5P69r
  • s3-bucket: radondb-mysql-bucket s3-xxxx 的值是使用 base64 算法加密的
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
好的,以下是输出植树地图的完整代码: ```python tree_data = [ ['A', 14.8, 23.8, 18500, 8.0], ['G', 18.8, 28.1, 20800, 7.0], ['F', 24.1, 22.2, 31000, 6.2], ['C', 35.3, 19.9, 28000, 7.3], ['E', 16.5, 10.5, 15000, 4.2] ] # 计算每个树在地图上应该显示的半径 max_radius = max([t[4] for t in tree_data]) for t in tree_data: t.append(int(t[4] / max_radius * 10)) # 构建地图二维数组 map_data = [[' ' for i in range(71)] for j in range(21)] for t in tree_data: x, y, water, radius, display_radius = t[1:] row = int(y / 2) col = int(x * 2) for i in range(-display_radius, display_radius+1): for j in range(-display_radius, display_radius+1): if i**2 + j**2 <= radius**2: map_data[row+i][col+j] = t[0] # 输出地图 for i in range(20, -1, -1): row_str = 'S3: {:>2} + '.format(i*10) for j in range(71): row_str += map_data[i][j] + ' ' if j == 29: row_str += '+ ' print(row_str) col_str = 'S3: 0 ' for i in range(7): col_str += '{:>8}{:<8}'.format(i*10, i*10+10) print(col_str) ``` 解释一下代码: 1. 将树的数据设置为二维数组 `tree_data`,其中每个元素表示一棵树的信息,包括编号、x 坐标、y 坐标、所需水量和半径。 2. 计算每个树在地图上应该显示的半径,将其存储在 `display_radius` 中,并将所有 `display_radius` 中的最大值除以 10。 3. 构建地图二维数组 `map_data`,其中每个元素表示地图上对应位置的树的编号,如果该位置没有树则为空格。 4. 输出地图,首先输出每一行的坐标,并在第 30 列后加上一个 `+`,然后逐行输出地图上的树的位置。注意,由于 Python 中的二维数组是行优先存储的,因此在循环中对行和列的访问要倒过来。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值