Skip to main content
EARLY ACCESS

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

Enable Portworx Fusion Controller

This topic provides instructions on how to enable Portworx Fusion Controller.

After you enable Portworx Fusion Controller:

  • The Fusion Controller uses the secret that contains the Fusion Coordinator endpoint and required LDAP credentials to connect to the Fusion Coordinator.
  • The Fusion Controller automatically synchronizes Fusion presets and exposes them as Kubernetes StorageClass objects in your Portworx cluster.
  • You can reference these storage classes when provisioning volumes or creating virtual machines.
note

When you enable Portworx Fusion Controller, it automatically discovers FlashArray systems from the Fusion fleet and synchronizes presets into the Kubernetes cluster as FusionPreset resources. This allows you to reference preset configurations locally without using the Fusion console. If an array is configured both manually (for example, through pure.json) and discovered from the Fusion endpoint, Portworx replaces the manual entry with a token generated by the Fusion Controller. If the arrays are different, both configurations remain unchanged and are managed independently.

Add Fusion Coordinator access details as a secret

To enable Fusion integration, create a secret that contains the Fusion Coordinator endpoint and required LDAP credentials. Use either the Kubernetes or Vault tab below based on your configured secret store in the Secrets store type for Cloud Provider Credentials dropdown menu in Portworx Central.
For information on how to configure a secret provider, see Configure multiple secrets providers.

Updating the secrets provider

When you integrate Portworx with Fusion and update the secrets provider from Kubernetes Secrets to Vault, the behavior of backend storage credentials depends on whether the storage systems are part of the Fusion Fleet:

  • If the storage systems are part of the Fusion Fleet, Fusion automatically manages the credentials and creates the Vault pure.Json secret with all required backend configurations. No manual action is required.
  • If some storage systems are not part of the Fusion Fleet and were manually configured, Fusion does not include them in the Vault pure.Json secret during updation. In this case, you must manually add those backend configurations to the Vault pure.Json secret to ensure continued access.

To avoid missing configurations, verify that all required storage systems are registered in the Fusion Fleet before updating the secrets provider.

  1. Create a Kubernetes secret in the same namespace where you deploy Portworx Operator.
    This secret must include the Fusion Coordinator endpoint and the required LDAP credentials for authentication. Portworx Fusion Controller uses this secret to authenticate with the Fusion Coordinator and synchronize storage presets as Kubernetes StorageClass objects.

    apiVersion: v1
    kind: Secret
    metadata:
    name: <fusion-auth-secret>
    namespace: <namespace>
    type: Opaque
    data:
    endpoint: <Fleet-coordinator-endpoint (base64 encoded)>
    username: <LDAP Username (base64 encoded)>
    password: <LDAP Password (base64 encoded)>

    Replace:

    • <fusion-auth-secret> with the name of the Kubernetes secret containing LDAP credentials for Fusion authentication. The default value is pure-fusion-cred.
    • <namespace> with the name of the namespace where you installed Portworx.
    • <Fleet-coordinator-endpoint (base64 encoded)> with the Fusion coordinator endpoint.
    • <LDAP Username (base64 encoded)> with the username used to access the Fusion Coordinator.
    • <LDAP Password (base64 encoded)> with the password used to access the Fusion Coordinator.
  2. Apply the secret created in the previous step in your cluster.

    kubectl apply -f <fusion-auth-secret> -n <namespace>
  3. Verify the secret to confirm that the secret exists in the Portworx namespace and contains the required fields.
    Portworx reads this secret during deployment to initialize the Fusion Controller.

    kubectl get secret <fusion-auth-secret> -n <namespace>
    ...
    "endpoint": "aHR0cHM6XXXXXX==",
    "password": "UGFXXXXXXXX",
    "username": "cXXXXXXXXXXXI="

Enable Fusion Controller

You can enable Fusion Controller by using one of the following methods:

To enable the Fusion Controller during Portworx installation, select the Enable Fusion Controller checkbox when generating the Kubernetes manifests in Portworx Central.
For more information, see Installation of Portworx with FlashArray using Portworx Central.

What to do next

Create a Fusion preset that you want to use for your StorageClass. For more information, see Create a Fusion Preset.