Skip to main content
Version: 3.1

Disaggregated installation on bare metal

In a disaggregated deployment of Portworx, the storage nodes are separate from the compute (or storageless) nodes. Based on the environment in which you are deploying Portworx, the installation instructions for disaggregated mode change.

In an on-premises environment, you can use a disaggregated deployment model when you have a heterogeneous cluster configuration, where some of your nodes have storage disks while the rest of the nodes are compute only with no disks configured.

Preparing your nodes

Before you deploy Portworx, you need to designate your nodes as storage and storageless (compute). Portworx looks for the following labels on the Kubernetes nodes to identify them as a part the storage node group or the compute (storageless) node group:

portworx.io/node-type: storage
portworx.io/node-type: storageless

Installing Portworx

Follow the installation instructions for your on-premises environment.

Once you have generated the StorageCluster spec, you will need to create two separate node sections in it to define the device settings for the storage and storageless (compute) nodes.

Here is a sample StorageCluster spec that uses node-specific overrides:

apiVersion: core.libopenstorage.org/v1
kind: StorageCluster
metadata:
name: portworx
namespace: <px-namespace>
spec:
image: portworx/oci-monitor:2.10.1
storage:
devices:
- /dev/sda
- /dev/sdb
nodes:
- selector:
labelSelector:
matchLabels:
portworx.io/node-type: "storage"
storage:
devices:
- /dev/nvme1
- /dev/nvme2
- selector:
labelSelector:
matchLabels:
portworx.io/node-type: "storageless"
storage:
devices: []

In this example, Portworx on the nodes labeled as portworx.io/node-type=storage expects two disks, /dev/nvme1 and /dev/nvme2, and it will run them as storage nodes. On the other hand, Portworx on the nodes labeled as portworx.io/node-type=storageless will ignore any disks that might be found on the node and run as storageless nodes.

Was this page helpful?