Portworx Fusion Controller Overview
Portworx Fusion Controller provides a unified, application-aware platform that combines Everpure Fusion’s fleet-level management with Portworx’s Kubernetes-native data services.
Portworx Fusion Controller is supported only on clusters deployed on the Pure FlashArray storage platform running OpenShift Container Platform (OCP).
Portworx Fusion Controller enables you to:
- Connect Kubernetes clusters to Fusion fleets to access storage presets and policy configurations.
- Automatically create and manage the
pure.jsonconfiguration and tokens for FlashArray and FlashBlade via the Fusion Coordinator. - Provision workloads and volumes using Fusion APIs with automated placement and policy enforcement.
- Use standard Kubernetes
PersistentVolumeClaim(PVC) andStorageClassobjects for dynamic, preset-based provisioning. - Apply Fusion-defined quality-of-service, replication, and snapshot policies to Kubernetes storage objects.
What is Everpure Fusion
Everpure Fusion enables centralized management of multiple FlashArray and FlashBlade endpoints by grouping them into a single fleet, accessible through a Fusion Coordinator. Traditionally, each array is managed individually with separate endpoints and credentials, making operations across multiple systems complex and manual. Fusion solves this by turning one endpoint into a coordinator, creating a unified fleet. Using a join token, you connect other endpoints to the coordinator, enabling centralized management through a single endpoint.
With Fusion, you can:
- Manage all arrays from one access point
- Eliminate the need for separate logins per array
- Scale storage operations like a cloud platform
For more information, see Everpure Fusion documentation.
Fusion Controller workflow
When you enable Portworx Fusion controller in Portworx Enterprise or Portworx CSI, the Portworx Operator deploys the Portworx Integration Operator. The Integration Operator installs the FusionPreset and FusionWorkload CRDs. Fusion Controller uses the Fusion Coordinator credentials you provided as a Kubernetes secret to authenticate and connect to the Fusion fleet.
After you create presets in the Fusion console, the Fusion Controller continuously monitors Fusion and synchronizes these presets into the Portworx cluster. For each preset, the Fusion Controller creates a corresponding FusionPreset custom resource (CR) and generates a StorageClass object. During this process, all preset-defined configurations such as size, QoS, and placement are automatically populated in the generated StorageClass. This allows you to view and reference preset configurations directly in the cluster without accessing the Fusion console.
The StorageClass name is derived from the preset created in the Fusion console.
When you create a KubeVirt VM or a PVC and reference a Fusion-backed StorageClass, the Fusion Webhook intercepts the request and passes it to the Fusion Controller. The Fusion Controller then creates a corresponding workload in Fusion and a FusionWorkload CR in the Portworx cluster to represent that workload. Fusion uses its placement APIs to select the appropriate FlashArray from the fleet and provisions volumes based on the preset configuration. These volumes are then attached to the VM or workload.
Throughout the lifecycle, the Fusion Controller maintains synchronization between Portworx cluster and Fusion. Fusion Controller tracks workload status, placement, and volume details through the FusionWorkload CR and ensures that provisioning, updates, and cleanup operations remain consistent. This workflow eliminates the need for manual pure.json configuration, manual storage class creation, or direct interaction with individual FlashArrays. Instead, Fusion acts as a centralized coordinator for a fleet of arrays, automating volume provisioning, placement, and lifecycle management through a single, policy-driven interface.