Skip to main content
EARLY ACCESS

This feature is available as Early Access (EA) and should not be used in production.

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.

note

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.json configuration 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) and StorageClass objects 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.

note

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.