Sauvegarder et restaurer
Aperçu
Le processus de sauvegarde ThingPark Enterprise permet de créer et d'archiver un instantané de toutes les données de la plateforme. Les données des séries temporelles sont exclues de la sauvegarde : les statistiques des capteurs et des passerelles, ainsi que les paquets wlogger ne sont pas sauvegardés. La sauvegarde et la restauration sont des opérations manuelles déclenchées via les commandes exec de l'API Kubernetes. Une sauvegarde planifiée peut également être configurée.
- L'archive peut uniquement être restaurée sur la même version de ThingPark Enterprise.
- La sauvegarde de la personnalisation de configuration ne fait pas partie de ce processus
- Si la sauvegarde est restaurée après un désastre du plan de contrôle Kubernetes, une nouvelle installation doit d'abord être effectuée.
Sauvegarde
Sauvegarder les données manuellement
Une sauvegarde manuelle peut être déclenchée en exécutant le script de sauvegarde dans le contexte de déploiement tp-backup-controller.
-
Exécuter le script de sauvegarde à l'aide du point de terminaison exec de l'API Kubernetes
kubectl exec -it -n $NAMESPACE deploy/tp-backup-controller -- tp-backup -o backup -
Archive de sauvegarde poussée avec succès vers le stockage en nuage
2024-07-25T09:16:57.205Z INFO tp-backup/main.go:52 Backup succeed
Planification des sauvegardes
Scheduled backup can be enabled after initial deployment by updating configuration
of the Helm thingpark-enterprise release.
-
Add a
schedulekey in backup block with appropriate cron expression:backup:
schedule: "30 2 * * *" -
Mettre à jour la version du graphique :
helm upgrade -i tpe -n $NAMESPACE \
actility/thingpark-enterprise --version $THINGPARK_ENTERPRISE_VERSION \
-f $CONFIG_REPO_BASEURL/configs/$HOSTING/values-$SEGMENT-segment.yaml \
-f custom-values.yaml -
La rétention des sauvegardes doit être configurée en utilisant les fonctionnalités de stockage en nuage :
Restaurer les données
L'action de restauration doit être effectuée sur une instance TPE déjà installée et configurée.
-
Identifiez une sauvegarde que vous voulez restaurer en listant celles disponibles :
kubectl exec -it -n $NAMESPACE deploy/tp-backup-controller -- tp-backup -o list -
Déclenchez la restauration des données (la commande demandera confirmation) :
kubectl exec -it -n $NAMESPACE deploy/tp-backup-controller -- tp-backup -o restore -b %backup name%
Revenir en arrière
Cette procédure s'applique à un retour en arrière pour toute raison après une mise à jour :
-
Identifier la dernière sauvegarde déclenchée automatiquement lors de la mise à jour :
kubectl exec -it -n $NAMESPACE deploy/tp-backup-controller -- tp-backup -o list -
Retour à la révision précédente de Helm :
helm rollback -n $NAMESPACE tpe -
After all
Deployment/Statefulsetback to anAvailablestate, start the restoration procedure using identified backup:$ kubectl exec -it -n $NAMESPACE deploy/tp-backup-controller -- tp-backup -o restore -b <backup name>
2024-07-25T09:20:20.918Z INFO logger/logger.go:52 Logger construction succeeded
2024-07-25T09:20:20.920Z INFO tp-backup/main.go:39 Initialize controller with Loaded Configuration
2024-07-25T09:20:20.921Z INFO storage/azureblob.go:60 Azure Blob storage initialized
2024-07-25T09:20:20.937Z INFO datasource/mariadb.go:49 Wireless datasource Initialized
2024-07-25T09:20:20.988Z INFO datasource/mongodb.go:82 Wireless datasource Initialized
2024/07/25 09:20:20 connected to 10.240.32.71:2181
2024/07/25 09:20:21 authenticated: id=144132615539458050, timeout=4000
2024/07/25 09:20:21 re-submitting `0` credentials after reconnect
2024-07-25T09:20:22.090Z INFO datasource/core.go:80 Core datasource Initialized
2024-07-25T09:20:22.091Z INFO datasource/kubernetes.go:68 Kubernetes datasource Initialized
WARNING: Destructive Operation !!!
This Operation will restore a previous state of your TPE instance.
Are you sure you want to delete current datas? (yes/no)
If you have already retried helm upgrade, the rollback can be done to a previous
Helm Release Revision:
-
Identifier la révision de la version que vous souhaitez restaurer :
$ helm history -n $NAMESPACE tpe
REVISION UPDATED STATUS CHART APP VERSION DESCRIPTION
...
8 Thu Jan 20 10:24:54 2022 superseded thingpark-enterprise-1.0.2 7.1.0 Upgrade complete
... -
Déclencher le retour en arrière de la révision Helm :
helm rollback -n $NAMESPACE tpe <revision>
Revenir à une révision de configuration de ThingPark-Enterprise
Cette procédure permet de restaurer une révision précédente de Helm avec restauration de données :
-
Identify the release revision you want to rollback to and take a note of
APP VERSION:$ helm history -n $NAMESPACE tpe
REVISION UPDATED STATUS CHART APP VERSION DESCRIPTION
...
8 Thu Jan 20 10:24:54 2022 superseded thingpark-enterprise-1.0.2 7.1.0 Upgrade complete
... -
Lister les sauvegardes disponibles pour récupérer celle que vous souhaitez restaurer
kubectl exec -it -n $NAMESPACE deploy/tp-backup-controller -- tp-backup -o list -
Déclencher le retour en arrière de la révision Helm :
helm rollback -n $NAMESPACE tpe <revision> -
After all
Deployment/Statefulsetback to anAvailablestate, start the restoration procedure using identified backup:$ kubectl exec -it -n $NAMESPACE deploy/tp-backup-controller -- tp-backup -o restore -b <backup name>
2024-07-25T09:20:20.918Z INFO logger/logger.go:52 Logger construction succeeded
2024-07-25T09:20:20.920Z INFO tp-backup/main.go:39 Initialize controller with Loaded Configuration
2024-07-25T09:20:20.921Z INFO storage/azureblob.go:60 Azure Blob storage initialized
2024-07-25T09:20:20.937Z INFO datasource/mariadb.go:49 Wireless datasource Initialized
2024-07-25T09:20:20.988Z INFO datasource/mongodb.go:82 Wireless datasource Initialized
2024/07/25 09:20:20 connected to 10.240.32.71:2181
2024/07/25 09:20:21 authenticated: id=144132615539458050, timeout=4000
2024/07/25 09:20:21 re-submitting `0` credentials after reconnect
2024-07-25T09:20:22.090Z INFO datasource/core.go:80 Core datasource Initialized
2024-07-25T09:20:22.091Z INFO datasource/kubernetes.go:68 Kubernetes datasource Initialized
WARNING: Destructive Operation !!!
This Operation will restore a previous state of your TPE instance.
Are you sure you want to delete current datas? (yes/no)