使用restic备份工具从k8s PVC备份/还原/迁移到S3/Minio/Ceph/NFS的操作者

447 阅读2分钟

运营商(horus-operator

一个使用restic备份工具的操作者,通过restic备份工具从k8s PVC备份/还原/迁移到S3/Minio/Ceph/NFS。

说明

有四个API:

  • GroupVersion: storage.hybfkuf.io/v1alpha1, Kind: Backup
  • GroupVersion: storage.hybfkuf.io/v1alpha1, Kind: Restore
  • GroupVersion: storage.hybfkuf.io/v1alpha1, Kind: Migration
  • GroupVersion: networking.hybfkuf.io/v1alpha1, Kind: Traffic

API描述。

开始使用

你需要一个Kubernetes集群来对抗运行。你可以使用KIND获得一个本地集群进行测试,或者针对一个远程集群运行。**注意:**你的控制器将自动使用你的kubeconfig文件中的当前上下文(即任何集群kubectl cluster-info 显示)。

在集群上运行

  1. 安装自定义资源的实例:
kubectl apply -f config/samples/
  1. 构建并推送你的镜像到IMG 指定的位置:
make docker-build docker-push IMG=<some-registry>/horus-operator:tag
  1. IMG 所指定的镜像将控制器部署到集群上:
make deploy IMG=<some-registry>/horus-operator:tag

卸载CRD

要从集群中删除CRD:

make uninstall

卸载控制器

卸载控制器到集群上:

make undeploy

贡献

// TODO(用户)。添加详细的信息,说明你希望别人如何为这个项目做贡献

它是如何工作的

本项目旨在遵循Kubernetes运营商的模式

它使用了控制器,提供了一个协调功能,负责同步资源,直到集群上达到所需的状态。

测试一下

  1. 在集群中安装CRD:
make install
  1. 运行你的控制器(这将在前台运行,所以如果你想让它运行,请切换到一个新的终端):
make run

注意:你也可以通过运行以下程序一步到位。make install run

修改API定义

如果你正在编辑API定义,请用以下方法生成清单,如CRs或CRD:

make manifests

注意:运行make --help ,了解所有潜在的make 目标的更多信息

更多信息可以在Kubebuilder文档中找到。