使用Longhorn优雅地恢复运行中的容器应用
作者简介
鞠宏超 , Rancher研发工程师 。 4年云计算领域经验 , 2018年加入Rancher Labs , 先后参与了Longhorn产品研发 , Rancher2.x产品研发 , 目前主要致力于Rancher企业版产品的设计与研发工作 。
Longhorn是基于Kubernetes的轻量级分布式块存储系统 , 它完全开源 , 并且已经捐献给CNCF 。 随着云原生应用的普及 , 越来越多的服务提供容器运行时 , 数据的持久化存储问题渐渐显现出来 , 我们要做的不仅仅是数据的持久化 , 还要考虑备份的准确性 , 迁移的复杂性等 。
Longhorn提供的分布式块存储可以在Kubernetes中直接使用持久化存储 , 它可以为数据卷在不同主机提供多副本服务 , 以保证数据的可靠性 , 它提供简洁的UI可以直接管理存储节点、数据卷 , 轻松实现数据卷的备份/定时备份 , 您还可以使用容灾备份功能 , 在不同集群创建容灾备份卷 , 并在发生紧急情况时及时进行故障转移 。
在这篇文章中 , 我们将把MySQL作为Pod部署到集群A中 , 并使用Longhorn作为持久化存储卷 , 然后依托Rancher多集群管理的特性 , 结合Longhorn的容灾备份功能 , 演示一下如何优雅地将集群A中的MySQL应用及数据迁移到集群B中 。
本文插图
环境准备
- Rancher (HA部署) - v2.4.8
- Longhorn(通过Rancher UI Catalog部署) - v1.0.2
- MySQL - 8
- 私有S3 - minio部署
- 业务集群A、B
部署longhorn
在Rancher中 , 进入集群A的system项目 , 在应用商店中可以一键启动Longhorn 。
本文插图
本文插图
等待应用商店部署成功后 , 可以根据应用商店链接进入到Longhorn UI 。
本文插图
本文插图
接下来 , 我们在集群B中以同样方式启动Longhorn , 等待Longhorn正常运行 。
创建s3访问的secret(用于longhorn备份使用)
访问Rancher , 进入集群A的system项目 , 选择 资源 > 密文 菜单 , 在longhorn-system 命名空间中创建访问s3的secret , 需要增加的参数包括:
本文插图
访问Rancher , 进入集群B的system项目 , 选择资源 > 密文 菜单 , 在longhorn-system 命名空间中创建与上面相同的secret内容 。
本文插图
配置longhorn backup target
接下来我们需要在A和B两个集群的Longhorn中配置相同的backup target 。
从应用商店的链接跳转到longhorn UI , 点击Setting > General菜单 , 找到Backup分类 , 配置备份目标 。
本文插图
目前Longhorn支持NFS/S3两种备份方式 , 在本例中 , 我们使用minio搭建了一个私有S3服务 , 这里我们使用s3方式配置 。
PS: 如果使用NFS , 则需要保证NFS server支持NFSv4
- 新华网|中企承建的沙特基建项目交付使用
- 澎湃新闻|数字人民币红包交易额876万,试点结束后数字钱包仍可使用
- 北京晚报|接诉即办!通惠河沿线步道增设近50个垃圾桶,方便市民使用
- 电脑使用技巧Windows 10被曝在桌面上生成神秘文件 解决方案来了
- 上观新闻|一粒稻谷可以“卖”几百万元?上海市农科院已成功转让6个杂交粳稻品种使用权
- 央广网|文物中的抗美援朝丨英雄号手郑起使用过的军号
- 中国网客户端|中企承建吉赞阿美石油应急响应中心交付使用
- 文物中的抗美援朝丨英雄号手郑起使用过的军号
- 解放网|专家提醒:谨慎使用个人信用贷款,“免费整形模特”令整形者陷入贷款旋涡
- 步知公考|2021国考行测高分攻略,最全版本来了!1. 资料分析:注意使用运算技巧2. 判断推理:快速定位,不纠结