Skip to main content
Version: 25.1

Internal KVDB for Portworx CSI

The built-in internal KVDB is enabled by default when you install Portworx CSI through Portworx Central. Portworx CSI automatically deploys the internal KVDB cluster and manages the internal key-value store cluster. The internal KVDB is installed on a set of three nodes in your cluster, and it removes the requirement for an external KVDB.

Prerequisites​

Internal KVDB requires a dedicated drive to store its data. You can choose to have either a KVDB drive or a metadata drive.

KVDB drive:

  • For FlashArray installations, a 32G KVDB drive will be automatically created on the FlashArray across the three KVDB nodes.

For FlashBlade only installations, you must manually provision a drive on each of the three nodes designated for KVDB. Ensure that each drive delivers a minimum of 450 IOPS.

(Optional) Label the nodes before installing Portworx CSI​

If you want to control where KVDB is placed, you can use the following command to label nodes in Kubernetes. This command will designate them for the internal KVDB cluster:

kubectl label nodes <list-of-node-names> px/metadata-node=true

Here are a few scenarios based on the labels and their values:

  • If a node is labeled px/metadata-node=true, it becomes part of the internal KVDB cluster.
  • If a node is labeled px/metadata-node=false, it will not be part of the internal KVDB cluster.
  • If no node labels are found, all storage nodes have the potential to run the internal KVDB
  • If an incorrect label is present on the node, such as px/metadata-node=blah, Portworx will not start KVDB on that node.
  • If no node is labeled as px/metadata-node=true, but one node is labeled as px/metadata-node=false, that specific node will never be part of the KVDB cluster, whereas the remaining nodes are potential internal KVDB nodes.
In this topic: