使用Velero进行Azure AKS备份

问题描述 投票:0回答:1

[我注意到,如果Veloke是磁盘而不是Azure文件共享,那么Velero只能备份AKS PVC。为了解决这个问题,我尝试使用Restic通过文件共享本身进行备份,但是我给了我一个奇怪的日志:

这是我实际的吊舱外观

apiVersion: extensions/v1beta1
kind: Deployment
metadata:
  annotations:
    backup.velero.io/backup-volumes: app-upload
    deployment.kubernetes.io/revision: "17"

以及我的备份日志:

time="2020-05-20T02:01:09Z" level=info msg="Adding pvc upload to additionalItems" backup=velero/lbkomas-rocmondriaan-production-20200520020055 cmd=/velero logSource="pkg/backup/pod_action.go:67" pluginName=velero
time="2020-05-20T02:01:09Z" level=info msg="Backing up item" backup=velero/lbkomas-rocmondriaan-production-20200520020055 group=v1 logSource="pkg/backup/item_backupper.go:169" name=upload namespace=lbkompas-prod resource=persistentvolumeclaims
time="2020-05-20T02:01:09Z" level=info msg="Executing custom action" backup=velero/lbkomas-rocmondriaan-production-20200520020055 group=v1 logSource="pkg/backup/item_backupper.go:330" name=upload namespace=lbkompas-prod resource=persistentvolumeclaims
time="2020-05-20T02:01:20Z" level=info msg="Skipping item because it's already been backed up." backup=velero/lbkomas-rocmondriaan-production-20200520020055 group=v1 logSource="pkg/backup/item_backupper.go:163" name=upload namespace=lbkompas-prod resource=persistentvolumeclaims

如您所见,它没有备份upload卷,因为它说它已经在备份中(实际上不是)。

编辑:我实际上试图更新storageclass本身,但这似乎不起作用:

➜  ~ kubectl get storageclass
NAME                PROVISIONER                AGE
azurefile           kubernetes.io/azure-file   3d
azurefile-grafana   kubernetes.io/azure-file   2d22h
azurefile-premium   kubernetes.io/azure-file   3d
default (default)   kubernetes.io/azure-disk   20h
managed-premium     kubernetes.io/azure-disk   20h

# Not working
➜  ~ kubectl patch storageclass/azurefile \                           
  --type json \
  --patch '[{"op":"add","path":"/mountOptions/-","value":"nouser_xattr"}]'
The request is invalid

# Also not working
➜  ~ kubectl patch storageclass/azurefile \                           
  --type merge \
  --patch 'mountOptions:\n  - nouser_xattr'
Error from server: Invalid JSON Patch

最好,Pim

kubernetes backup azure-aks velero
1个回答
0
投票

您是否已将nouser_xattr添加到StorageClass mountOptions列表中?

此要求记录在GitHub issue 1800中。

[在restic integration page上也提到过(请在Azure部分下检查),他们在其中提供此代码片段来修补StorageClass资源:

kubectl patch storageclass/<YOUR_AZURE_FILE_STORAGE_CLASS_NAME> \
  --type json \
  --patch '[{"op":"add","path":"/mountOptions/-","value":"nouser_xattr"}]'

如果没有现有的mountOptions列表,则可以尝试:

kubectl patch storageclass/<YOUR_AZURE_FILE_STORAGE_CLASS_NAME> \
  --type merge \
  --patch 'mountOptions:\n  - nouser_xattr'
© www.soinside.com 2019 - 2024. All rights reserved.