# backup-operator **Repository Path**: knightXun/backup-operator ## Basic Information - **Project Name**: backup-operator - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2020-11-14 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 说明 ### 编译 #### 编译dumper 1. make dumper 2. make dumper-push #### 编译operator 1. git clone --recursive https://gitee.com/knightXun/backup-operator.git 2. go mod vendor: 下载vendor包 3. bash hack/update-codegen.sh: 生成client-go等 4. bash hack/update-openapi.sh 5. make operator: 编译 6. push operator镜像: make operator-push ### 运行 #### operator模式 1. 创建crd: kubectl apply -f manifests/backup.yaml 2. 创建namespace: kubectl create namespace test 3. 运行operator: kubectl apply -f deploy/backup-operator.yaml 4. 运行backup作业: kubectl apply -f example/backup.yaml #### 二进制模式 1. 编译: go build -o mydumper cmd/dumper/cmd.go 2. 运行backup: mydumper backup -c example/mydumper.ini 3. 运行restore: mydumper restore -c example/restore.ini ### 代码说明 #### dumper 基于go-mydumper修改,主要代码参见pkg/dumper目录。原有的mydumper只支持备份恢复到本地文件; 在go-mydumper的基础上增加了一个storage层,代码参见pkg/storage, pkg/storage用于抽象存储接口, 这部分实现参考了pingcap/br。 mydumper运行是先fetch数据到内存,然后写到磁盘上。如果上传s3就没有必要先写到本地文件然后上传s3,可以直接 将bytes上传到s3.这样可以节省云盘资源。 ### 后续计划 1. 在operator层增加restore-controller 2. operator br支持更多的配置项:比如cpu/memory 3. 目前mydumper只支持mysql 5.7,高版本运行有问题,需要fix 4. 支持更多的对象存储,目前只测试了minio. 而且对象存储有很多测配置项,参考pingcap/br.