Skip to main content
Version: v4.4 Stable

Platform Database

info
This feature is available from the Platform version v4.4.0

The platform database is a local postgres database server that is used and managed by vCluster Platform.

Configure​

By default, platform database will leverage the default StorageClass. If you would like to specify a different StorageClass, you can navigate to Admin > Config and edit the platformDB.storageClass field. The value can instead be configured using the vCluster Platform values yaml during install or upgrade by adding the following yaml:

platformDB:
storageClass: <storage-class>

Troubleshoot​

The PersistentVolumeClaim that backs the platform database should never be deleted. It is named platform-db. In the case that it is deleted, the following steps can be followed to return the platform database to a working state.

  1. Set $PLATFORM_NS and $PLATFORM_NAME, based on the name and namespace of the vCluster Platform Deployment.
Modify the following with your specific values to generate a copyable command:
export PLATFORM_NS=vcluster-platform --namespace vcluster-demo
export PLATFORM_NAME=vcluster-platform
export CLUSTER_NAME=my-platform-cluster
  1. Get current vCluster Platform replicas.
export DESIRED_REPLICAS=$(kubectl get deployment -n $PLATFORM_NS $PLATFORM_NAME -o json | jq -r '.spec.replicas')
  1. Scale down vCluster Platform Deployment to 0.
kubectl scale deployment -n $PLATFORM_NS $PLATFORM_NAME --replicas 0
  1. Edit the cluster that vCluster Platform is installed in and change the label loft.sh/platform-db-applied-hash to a different value, e.g. add a random letter to the string. Deleting the label will also work.
kubectl edit cluster.storage.loft.sh $CLUSTER_NAME
  1. Scale up the loft Deployment to its original replica count.
kubectl scale deployment -n $PLATFORM_NS $PLATFORM_NAME --replicas $DESIRED_REPLICAS
  1. Confirm that vCluster Platform database becomes available.
kubectl rollout status deployment/$PLATFORM_NAME -n $PLATFORM_NS