Both HostPath and Local volumes are local storage volumes. However, the Restic tool integrated in Velero cannot back up the PVs of the HostPath type and supports only the Local type. Therefore, you need to replace the storage volumes of the HostPath type with the Local type in the source cluster.
It is recommended that Local volumes be used in Kubernetes v1.10 or later and can only be statically created. For details, see local.
apiVersion: storage.k8s.io/v1 kind: StorageClass metadata: name: local provisioner: kubernetes.io/no-provisioner volumeBindingMode: WaitForFirstConsumer
apiVersion: v1 kind: PersistentVolume metadata: name: mysql-pv labels: app: mysql spec: accessModes: - ReadWriteOnce capacity: storage: 5Gi storageClassName: local # Storage class created in the previous step persistentVolumeReclaimPolicy: Delete local: path: "/mnt/data" # Path of the attached local disk nodeAffinity: required: nodeSelectorTerms: - matchExpressions: - key: kubernetes.io/hostname operator: Exists
kubectl get pv
Information similar to the following is displayed:
NAME CAPACITY ACCESS MODES RECLAIM POLICY STATUS CLAIM STORAGECLASS REASON AGE mysql-pv 5Gi RWO Delete Available local 3s
In the production environment, if there are many backup resources, for example, the default resource size of the backup tool is used, the resources may be insufficient. In this case, perform the following steps to adjust the CPU and memory size allocated to the Velero and Restic:
Before installing Velero:
You can specify the size of resources used by Velero and Restic when installing Velero.
The following is an example of installation parameters:
velero install \ --velero-pod-cpu-request 500m \ --velero-pod-mem-request 1Gi \ --velero-pod-cpu-limit 1000m \ --velero-pod-mem-limit 1Gi \ --use-node-agent \ --node-agent-pod-cpu-request 500m \ --node-agent-pod-mem-request 1Gi \ --node-agent-pod-cpu-limit 1000m \ --node-agent-pod-mem-limit 1Gi
After Velero is installed:
kubectl edit deploy velero -n velero kubectl edit ds node-agent -n velero
resources: limits: cpu: "1" memory: 1Gi requests: cpu: 500m memory: 1Gi