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.
  • 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.
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

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:
  1. Launch the VMware Telco Cloud Automation and navigate to Inventory > Network Function.
  2. Click TCSA CNF and select Reconfigure.
  3. 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
  4. Click Next > Finish.
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

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.
  1. Launch the VMware Telco Cloud Automation and navigate to Inventory > Network Function.
  2. Click TCSA CNF and select Reconfigure.
  3. 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.
  4. Click Next > Finish.
  5. 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.