You can customize your backup and restore settings.
MinIO gateway mode
The backup and restore operator and MinIO are deployed with the default settings. The MinIO can be deployed as a statefulset or it can be deployed as a proxy (gateway) to the external datastore. The default behavior is to deploy the MinIO as the statefulset.
Note: When the MinIO is deployed as the statefulset, the backup are stored in MinIO Persistent Volumes (PV), and the backups are not externalized. Which means when the Kubernetes cluster or the MinIO PV is deleted the backups will be erased. To avoid this, you must deploy MinIO as a gateway.
Deploying MinIO as gateway using tcxctl CLI mode:
The following procedure is used to deploy MinIO as a gateway using
tcxctl
CLI mode:
Note: You must use this procedure if you want to update the backup and restore after the
VMware Telco Cloud Service Assurance deployment.
- If you are configuring MinIO as gateway using AWS S3 or NFS File Service, update the parameters in the values-user-overrides.yaml file available in $TCSA_WORK_SPACE/tcx-deployer/product-helm-charts/tcsa.
- For AWS S3 based backup, update minioDatastoreType=s3, bucketName, accesskey, and secretkey in the values-user-overrides.yaml file.
backupAndRestore: # (string) minioDatastoreType is the storage backend for minio. Valid options are "s3", "nas" or "local" minioDatastoreType: s3 # (string) the size of the minio storage. Set only if datastoreType is local or nas storageSize: <Leavy Empty> # (bool) Set to true if the storage backed is on NFS. Set only if datastoreType is local or nas nfsProvisionerEnabled: false # (string) The IP address/hostname of the NFS server. Set only if minioDatastoreType is set to nas nfsServer: <Leavy Empty> # (string) The NFS server path. Set only if minioDatastoreType is set to nas nfsPath: # (string) The S3 bucket name. bucketName: <BucketName> # The AWS Access key for S3 s3AccessKey: < AWS Accesskey> # The AWS Secret key for S3 s3SecretKey: < AWS secretkey>
- For NFS based backup, update minioDatastoreType=nas, nfsProvisionerEnabled: true, nfsPath, nfsServer, and bucketName in the values-user-overrides.yaml file.
backupAndRestore: # (string) minioDatastoreType is the storage backend for minio. Valid options are "s3", "nas" or "local" minioDatastoreType: nas # (string) the size of the minio storage. Set only if datastoreType is local or nas storageSize: 128Gi # (bool) Set to true if the storage backed is on NFS. Set only if datastoreType is local or nas nfsProvisionerEnabled: true # (string) The IP address/hostname of the NFS server. Set only if minioDatastoreType is set to nas nfsServer: <Your nfs server IP> # (string) The NFS server path. Set only if minioDatastoreType is set to nas nfsPath: <Your nfs path location> # (string) The bucket name. bucketName: <Your bucket name>
Note:- The backups taken on the previous StatefulSet MinIO are not available in the updated MinIO as a gateway.
- When the backup mode is moved from NFS to Local PV, you should not remove NFS server IP and NFS path from the above yaml file.
- For AWS S3 based backup, update minioDatastoreType=s3, bucketName, accesskey, and secretkey in the values-user-overrides.yaml file.
- The default value for the healthMonitoring.s3BucketName field is prometheus-metrics. You must change this default value if you are creating multiple VMware Telco Cloud Service Assurance instances while you are using NFS or AWS S3 bucket.
healthMonitoring: # (string) The bucket name s3BucketName: prometheus-metrics
- Trigger deployment using
tcxctl
CLI.root [ ~/base/tcx-deployer/clis ]# /tcxctl deploy product --name tcsa --kubeconfig <yourkubeconfig-location> -- path $TCSA_WORK_SPACE/tcx-deployer/product-helm-charts/tcsa --values<$TCSA_WORK_SPACE>/tcxdeployer/ product-helm-charts/tcsa/values-user-overrides.yaml --timeout <time-in-mins>
Note: You can specify 60 minutes for the timeout value. If there is any latency in the network, you can increase this value.
root [ ~/base/tcx-deployer/scripts ]# kubectl get tcxproduct -A NAME STATUS READY MESSAGE AGE tcsa updateCompleted True All App CRs reconciled successfully 12h tps-tcx-platform-services updateCompleted True All App CRs reconciled successfully 13h
Deploying MinIO as gateway using VMware Telco Cloud Automation UI:
The following procedure is used to deploy MinIO as a gateway using VMware Telco Cloud Automation mode:
- Launch the VMware Telco Cloud Automation and navigate to .
- Click TCSA CNF and select Reconfigure.
- Upload the values-user-overrides.yaml file in VMware Telco Cloud Automation and update the AWS S3 or NFS File Service storage parameters in the reconfigure edit section as shown in the screenshot.
- For AWS S3, update minioDatastoreType=s3, bucketName, accesskey, and secretkey in the values-user-override.yaml file.
Note: The accesskey and secretkey are specific to the AWS account details. The bucketName is the user-defined name in which the backup is stored.
backupAndRestore: # (string) minioDatastoreType is the storage backend for minio. Valid options are "s3", "nas" or "local" minioDatastoreType: s3 # (string) the size of the minio storage. Set only if datastoreType is local or nas storageSize: <Leavy Empty> # (bool) Set to true if the storage backed is on NFS. Set only if datastoreType is local or nas nfsProvisionerEnabled: false # (string) The IP address/hostname of the NFS server. Set only if minioDatastoreType is set to nas nfsServer: <Leavy Empty> # (string) The NFS server path. Set only if minioDatastoreType is set to nas nfsPath: # (string) The S3 bucket name. bucketName: <BucketName> # The AWS Access key for S3 s3AccessKey: < AWS Accesskey> # The AWS Secret key for S3 s3SecretKey: < AWS secretkey>
or
- For NFS, update minioDatastoreType=nas, nfsProvisionerEnabled: true, nfsPath, nfsServer, and bucketNamein the values-user-overrides.yaml file.
Note: For configuring the VMware vSAN file service, see Enabling VMware vSAN File Services topic. The details for obtaining the nfsServer and nfsPath are also mentioned in this section. The bucketName is the user-defined name in which the backup is stored.
backupAndRestore: # (string) minioDatastoreType is the storage backend for minio. Valid options are "s3", "nas" or "local" minioDatastoreType: nas # (string) the size of the minio storage. Set only if datastoreType is local or nas storageSize: 128Gi # (bool) Set to true if the storage backed is on NFS. Set only if datastoreType is local or nas nfsProvisionerEnabled: true # (string) The IP address/hostname of the NFS server. Set only if minioDatastoreType is set to nas nfsServer: <Your nfs server IP> # (string) The NFS server path. Set only if minioDatastoreType is set to nas nfsPath: <Your nfs path location> # (string) The bucket name. bucketName: <Your bucket name>
- The default value for the healthMonitoring.s3BucketName field is prometheus-metrics as shown in the previous screenshot. You must change this default value if you are creating multiple VMware Telco Cloud Service Assurance instances while you are using NFS or AWS S3 bucket.
healthMonitoring: # (string) The bucket name s3BucketName: prometheus-metrics
- For AWS S3, update minioDatastoreType=s3, bucketName, accesskey, and secretkey in the values-user-override.yaml file.
- Click .
root [ ~/base/tcx-deployer/scripts ]# kubectl get tcxproduct -A NAME STATUS READY MESSAGE AGE tcsa updateCompleted True All App CRs reconciled successfully 12h tps-tcx-platform-services updateCompleted True All App CRs reconciled successfully 13h
Changing the backup bucket
Procedure to override the bucket name using tcxctl CLI
The backup and restore is deployed with a default bucket
vmware-tcsa-backup. To override the bucket name, you must update the
bucketName in the
values-user-overrides.yaml file.
backupAndRestore: # (string) minioDatastoreType is the storage backend for minio. Valid options are "s3", "nas" or "local" minioDatastoreType: # (string) the size of the minio storage. Set only if datastoreType is local or nas storageSize: # (bool) Set to true if the storage backed is on NFS. Set only if datastoreType is local or nas nfsProvisionerEnabled: false # (string) The IP address/hostname of the NFS server. Set only if minioDatastoreType is set to nas nfsServer: # (string) The NFS server path. Set only if minioDatastoreType is set to nas nfsPath: # (string) The S3 bucket name. bucketName: # The AWS Access key for S3 s3AccessKey: # The AWS Secret key for S3 s3SecretKey:
Trigger deployment using
tcxctl
CLI.
root [ ~/base/tcx-deployer/clis]# /tcxctl deploy product --name tcsa --kubeconfig <yourkubeconfig-location> -- path $TCSA_WORK_SPACE/tcx-deployer/product-helm-charts/tcsa --values<$TCSA_WORK_SPACE>/tcxdeployer/ product-helm-charts/tcsa/values-user-overrides.yaml --timeout <time-in-mins>
Note: You can specify 60 minutes for the timeout value. If there is any latency in the network, you can increase this value.
After the deployment script exits, manually check the VMware Telco Cloud Service Assurance deployment status by running the following command from the deployment VM.
root [ ~/base/tcx-deployer/scripts ]# kubectl get tcxproduct -A NAME STATUS READY MESSAGE AGE tcsa updateCompleted True All App CRs reconciled successfully 12h tps-tcx-platform-services updateCompleted True All App CRs reconciled successfully 13h
Procedure to override the bucket name using VMware Telco Cloud Service Assurance UI
If you are configuring MinIO as gateway using AWS S3 or NFS File Service, update the required parameters for AWS S3 or NFS File Service and update the bucket name in the
values-user-overrides.yaml file.
backupAndRestore: # (string) minioDatastoreType is the storage backend for minio. Valid options are "s3", "nas" or "local" minioDatastoreType: # (string) the size of the minio storage. Set only if datastoreType is local or nas storageSize: # (bool) Set to true if the storage backed is on NFS. Set only if datastoreType is local or nas nfsProvisionerEnabled: false # (string) The IP address/hostname of the NFS server. Set only if minioDatastoreType is set to nas nfsServer: # (string) The NFS server path. Set only if minioDatastoreType is set to nas nfsPath: # (string) The S3 bucket name. bucketName: # The AWS Access key for S3 s3AccessKey: # The AWS Secret key for S3 s3SecretKey:
Note: The backups taken on the previous StatefulSet MinIO are not available after the mode change to AWS S3 or NFS File Service.
- Launch the VMware Telco Cloud Automation and navigate to .
- Click TCSA CNF and select Reconfigure.
- Upload the values-user-overrides.yaml file in VMware Telco Cloud Automation.
If you are configuring MinIO as gateway using AWS S3 or NFS File Service, update the required parameters for AWS S3 or NFS File Service and update the bucket name in the values-user-overrides.yaml file.
backupAndRestore: # (string) minioDatastoreType is the storage backend for minio. Valid options are "s3", "nas" or "local" minioDatastoreType: # (string) the size of the minio storage. Set only if datastoreType is local or nas storageSize: # (bool) Set to true if the storage backed is on NFS. Set only if datastoreType is local or nas nfsProvisionerEnabled: false # (string) The IP address/hostname of the NFS server. Set only if minioDatastoreType is set to nas nfsServer: # (string) The NFS server path. Set only if minioDatastoreType is set to nas nfsPath: # (string) The S3 bucket name. bucketName: # The AWS Access key for S3 s3AccessKey: # The AWS Secret key for S3 s3SecretKey:
Note: The backups taken on the previous StatefulSet MinIO are not available after the mode change to AWS S3 or NFS File Service. - Click .
- After succesful reconfiguration, manually check the VMware Telco Cloud Service Assurance deployment status by running the following command from the deployment VM.
root [ ~/base/tcx-deployer/scripts ]# kubectl get tcxproduct -A NAME STATUS READY MESSAGE AGE tcsa updateCompleted True All App CRs reconciled successfully 12h tps-tcx-platform-services updateCompleted True All App CRs reconciled successfully 13h
Note:
- The backups taken on the previous bucket will not be available in the new bucket.
- If you perform a backup while Elasticsearch is not running, the backup can fail, and deleting it can delete the CR. If Elasticsearch is unavailable at the time of deletion, the Elasticsearch snapshot data is not deleted, but the backup CR is deleted.