今天在进行学习测试velero时发现存在以下问题,目前并未找到解决办法,有相关解决方案,烦请告知,谢谢!
测试所使用的的资源来自于velero知道的Demo,错误问题只发生在具有挂载的examples/nginx-app/with-pv.yaml
,改资源清单还需要使用pv,下面有给出,想要测试的可以自行修改
1、问题现象
velero backup get
NAME STATUS ERRORS WARNINGS CREATED EXPIRES STORAGE LOCATION SELECTOR
nginx-pv-backup PartiallyFailed 2 0 2021-12-28 13:42:42 +0800 CST 29d default <none>
查看velero备份的信息,发现STATUS状态并不是comple状态,而是PartiallyFailed ,而且明显可以看出存在两个Error
1、错误日志信息
velero backup logs nginx-pv-backup | grep error
time="2021-12-28T05:42:44Z" level=error msg="Error executing hook" backup=velero/nginx-pv-backup error="command terminated with exit code 1" hookPhase=pre hookSource=annotation hookType=exec logSource="internal/hook/item_hook_handler.go:206" name=nginx-deployment-66689547d-9rsh9 namespace=nginx-example resource=pods
time="2021-12-28T05:42:44Z" level=error msg="Error backing up item" backup=velero/nginx-pv-backup error="command terminated with exit code 1" logSource="pkg/backup/backup.go:441" name=nginx-deployment-66689547d-9rsh9
2、环境安装及版本
ubuntu:20.04.3 LTS (GNU/Linux 5.4.0-91-generic x86_64)
velero:1.7.1
velero-plugin-for-aws:1.3.0
3、解决办法1:(未能解决)
连接:https://kb.vmware.com/s/article/83314
解决
此问题已在 Velero Plugin for vSphere 版本 1.1.1 或更高版本中得到解决。
解决方法
您可以通过在启动时将--feature-gates=RemoveSelfLink=false标志传递给 kube-apiserver 来解决此问题 。
4、解决办法2:(解决,但是需要手动删除pv)
在测试过程中,发现很有趣的现象;创建的pv回收策略使用Retain
时,velero可以成功备份nginx-example名称空间下的所有资源,当pv的回收策略使用Delete
时,则存在该错误
pv.yaml
apiVersion: v1
kind: PersistentVolume
metadata:
name: nginx-logs
spec:
capacity:
storage: 50Mi
accessModes:
- ReadWriteOnce
persistentVolumeReclaimPolicy: Delete # 回收策略
nfs:
server: 192.168.6.31
path: /root/velero/nginx/logs
有解决方案,烦请告知,谢谢!