Skip to main content
Version: 3.4

Prepare FlashBlade Environment for Direct Access Storage Provisioning with Portworx

This page includes detailed system requirements that are specific to FlashBlade to ensure a seamless deployment and optimal performance of Portworx Enterprise in your Kubernetes environment.

Before you begin preparing your environment, ensure that all system requirements for installing Portworx are met.

The following collection of tasks describe how to prepare your environment for Portworx installation.

Complete all the tasks to prepare your environment for installation.

Software requirements

Physical network requirements

  • Ensure FlashBlade is accessible as a shared resource from all cluster nodes.
  • Verify that both the NFS endpoint (NFSEndPoint) and management endpoint (MgmtEndPoint) IP addresses are reachable from all nodes.

Set up user access in FlashBlade

To establish secure communication between Portworx and FlashBlade, you need a user account with an API token. The token serves as a key for Portworx to authenticate with FlashBlade and perform storage operations on behalf of an authorized user. This section provides the steps to generate an API token, which encapsulates your authorization within the FlashBlade environment.

  1. Create a user:

    1. In your FlashBlade dashboard, select Settings in the left pane.
    2. On the Settings page, select Users.
    3. In the Users section, click the vertical ellipsis in the top-right corner and select Create User: FlashBlade create user
    4. In the Create User window, enter your details and set the Access Policies to Storage Admin.
    5. Select Create to add the new user.
  2. Generate an API token:

    1. To create a token for the user you created, select the user from the Users list, click the vertical ellipsis in the right-hand corner of the username, and select Create API Token:
    2. In the API Token window, leave the Expires in field blank if you want to create a token that never expires, and click Create.
    3. Save this information to avoid the need to recreate the token.

Create pure.json file

To integrate Portworx with FlashBlade, create a JSON configuration file (named pure.json) containing essential information about the FlashBlade environment. This file should include the management endpoints and the API token you generated.

  • Management endpoints: These are URLs or IP addresses that Portworx uses to communicate with FlashBlade through API calls. To locate these, go to Settings > Subnets & Interfaces in your FlashBlade dashboard. Note the IP addresses or hostnames of your management interfaces, prefixed with vir, indicating virtual interfaces.
  • API token: Generated in the previous section.
  • NFSEndPoint NFS endpoint of FlashBlade.

Add the FlashBlade configuration to the Kubernetes secret by following these steps:

Use the above information to create a JSON file. Below is a template for the configuration content, which you should populate with your specific information:

note

If you are configuring both FlashArray and FlashBlade, you can add FlashArray configuration information in the same file. Refer to the JSON file for more information.

  {
"FlashBlades": [
{
"MgmtEndPoint": "FB end point 1",
"APIToken": "<api-token-for-fb-management-endpoint1>",
"NFSEndPoint": "<fb-nfs-endpoint>",
},
{
"MgmtEndPoint": "FB end point 2",
"APIToken": "<api-token-for-fb-management-endpoint2>",
"NFSEndPoint": "<fb-nfs-endpoint2>",
}
]
}

Add FlashBlade configuration to a kubernetes secret

To enable Portworx to access the FlashBlade configuration, add the pure.json file to a Kubernetes secret by running the following command to create a secret named px-pure-secret:

oc create secret generic px-pure-secret --namespace <stc-namespace> --from-file=pure.json=<file path>
secret/px-pure-secret created
important

The specific name px-pure-secret is required so that Portworx can correctly identify and access the Kubernetes secret upon startup. This secret securely stores the FlashBlade configuration details and allows Portworx to access this information within the Kubernetes environment.