Azure AKS backup using Velero

voix
50

J'ai remarqué que Velero ne peut sauvegarder les PVC d'AKS que si ces PVC sont des disques et non des partages de fichiers Azure. Pour gérer cela, j'ai essayé d'utiliser le restic pour sauvegarder par fileshares lui-même mais je donne un étrange log :

Voici à quoi ressemble mon pod actuel

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

Et le journal de ma sauvegarde :

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

Comme vous pouvez le voir, il n'a pas sauvegardé le uploadvolume puisqu'il indique qu'il est déjà dans la sauvegarde (alors qu'il n'y est pas).

Mon azurefilevolume contient ces contenus :

allowVolumeExpansion: true
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
  annotations:
    kubectl.kubernetes.io/last-applied-configuration: |
      {allowVolumeExpansion:true,apiVersion:storage.k8s.io/v1beta1,kind:StorageClass,metadata:{annotations:{},labels:{kubernetes.io/cluster-service:true},name:azurefile},parameters:{skuName:Standard_LRS},provisioner:kubernetes.io/azure-file}
  creationTimestamp: 2020-05-18T15:18:18Z
  labels:
    kubernetes.io/cluster-service: true
  name: azurefile
  resourceVersion: 1421202
  selfLink: /apis/storage.k8s.io/v1/storageclasses/azurefile
  uid: e3cc4e52-c647-412a-bfad-81ab6eb222b1
mountOptions:
- nouser_xattr
parameters:
  skuName: Standard_LRS
provisioner: kubernetes.io/azure-file
reclaimPolicy: Delete
volumeBindingMode: Immediate

Comme vous pouvez le voir, j'ai en fait patché la classe de stockage pour qu'elle contienne l'option de nouser_xattrmontage qui a été suggérée plus tôt

Lorsque je consulte les logs du pod Restic, je vois les informations suivantes :

E0524 10:22:08.908190       1 reflector.go:156] github.com/vmware-tanzu/velero/pkg/generated/informers/externalversions/factory.go:117: Failed to list *v1.PodVolumeBackup: Get https://10.0.0.1:443/apis/velero.io/v1/namespaces/velero/podvolumebackups?limit=500&resourceVersion=1212830: dial tcp 10.0.0.1:443: i/o timeout
I0524 10:22:08.909577       1 trace.go:116] Trace[1946538740]: Reflector ListAndWatch name:github.com/vmware-tanzu/velero/pkg/generated/informers/externalversions/factory.go:117 (started: 2020-05-24 10:21:38.908988405 +0000 UTC m=+487217.942875118) (total time: 30.000554209s):
Trace[1946538740]: [30.000554209s] [30.000554209s] END

Le meilleur, Pim

Créé 20/05/2020 à 16:21
source utilisateur
Dans d'autres langues...                            


1 réponses

voix
0

Avez-vous ajouté nouser_xattrà votre liste de StorageClass mountOptions ?

Cette exigence est documentée dans le numéro 1800 de GitHub.

Également mentionné sur la page d'intégration restic (voir la section Azure), où ils fournissent cet extrait pour patcher votre ressource StorageClass :

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

Si vous n'avez pas de liste existantemountOptions, vous pouvez essayer :

kubectl patch storageclass azurefile \
  --type merge \
  --patch '{"mountOptions": ["nouser_xattr"]}'
Créé 20/05/2020 à 21:52
source utilisateur

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more