1. 前置:
1.1 思路:
针对单个namespace进行应用备份,保存到后端对象存储服务中。供可连接该对象存储的velero服务进行服务恢复
1.2 准备:
1. k8s集群
2. velero服务二进制包:
2.1 包地址:
2.2 本地配置minio密钥:
cat credentials-velero
aws_access_key_id = minio
aws_secret_access_key = minio123
3. 拷贝二进制velero工具:
cp velero /usr/bin/
3. 部署minio服务镜像
4. 部署velero服务镜像
2. 部署:
2.1 部署minio:
kubectl apply -f examples/minio/pvc.yaml
kubectl apply -f examples/minio/00-minio-deployment.yaml
2.2 部署velero服务:
# 集群内通过svc连接minio,集群外连接换成nodeport:s3Url=http://192.168.1.155:19000
velero install \
2.3 查询服务状态:
1. kubectl get po -n velero
2. kubectl get svc -n velero


3. 备份:
# 除了某个(些)namespace
velero backup create all-namespace-bak
# 备份某个namespace
velero backup create nginx-backup
4. 恢复:
velero restore create --from-backup nginx-backup --wait
velero restore create --from-backup all-namespace-bak --wait
5. 其他辅助命令:
# 对备份的操作
velero backup *
# 如创建,查询,详情
velero restore create
velero restore get
velero restore describe xxx
# 对恢复的操作
velero restore *
6. 卸载velero:
kubectl delete ns velero
kubectl delete clusterrolebinding velero
kubectl delete crds -l component=velero