longhorn备份
约 480 字大约 2 分钟
前置准备
- 集群内安装minio,并上传文件,模拟业务应用
- 集群外搭建minio 作为longhorn 备份的存储服务
集群内安装minio
此minio用作模拟业务应用使用 安装参考: Bitnami Minio
集群外安装minio
此minio用以作为备份的存储使用
docker run -p 9000:9000 -p 9001:9001 \
--net=host \
--name minio \
-v $PWD/data:/data \
-v $PWD/config:/root/.minio \
-d --restart=always \
-e "MINIO_ACCESS_KEY=admin" \
-e "MINIO_SECRET_KEY=Passw0rd" \
minio/minio:RELEASE.2021-11-09T03-21-45Z \
server /data --console-address ":9001" -address ":9000"
添加secret
这个secret的ns需要和longhorn保持一致
kubectl create secret generic minio-secret \
--from-literal=AWS_ACCESS_KEY_ID=admin \
--from-literal=AWS_SECRET_ACCESS_KEY=Passw0rd \
--from-literal=AWS_ENDPOINTS=http://xxxxxx:9000 \
-n longhorn-system
备份
集群外minio,创建备份存放的bucket 如:
longhorn
longhorn 关联S3 服务
- 模拟业务使用,上传文件到 集群内minio 服务中
- 备份
恢复
- 删除集群内的minio服务,并清空volume。模拟数据丢失
- 将备份数据转换为 恢复卷
- 激活恢复卷
- 挂载volume
定时备份
入口一 为创建定时任务 入口二 可关联定时任务,也可创建定时任务
扩容
- 根据应用容器找到对应的PVC
- 将容器副本数设置为0,使PVC处于未分配模式
- 修改申请磁盘空间(限制只能扩容不能缩容)
- 恢复容器副本数,使PVC处于分配模式,重新挂载