Configure Storage in Fleet

Objective

This guide provides instructions on how to set storage for your applications using the F5® Distributed Cloud Services fleet of sites. Storage configuration set using fleet gets applied to all the sites that are part of the fleet and will be accessible to the workloads on those sites. For more information on Distributed Cloud fleet concept, see Fleet.

Using the instructions provided in the document, you can define the following storage configuration using fleet:

  • Storage devices - configuration for a specific hardware appliance.
  • Storage classes - class to which the appliance belongs to and this is dependent on the appliance provider. For example, a class can be a fast pool or slow pool of devices.
  • Storage interfaces - interfaces for storage devices.

Note: This guide provides instructions on setting storage for an existing fleet by editing the fleet object configuration. However, you can also define the storage configuration in a similar manner while creating a fleet. For information on how to create a fleet, see Create Fleet guide.


Prerequisites

Note: In case you do not have an account, see Create an Account.

  • F5 Distributed Cloud site.

  • Storage devices (cloud or on-premise data centers).


Configuration

Use the following steps to configure storage for your applications.

Note: By default, a Distributed Cloud site deployed in AWS will support Elastic Block Store (EBC), GCP supports Google Cloud Storage, and Azure supports Azure Disk Storage.

Step 1: Navigate to the Fleets page.
  • Select the Cloud and Edge Sites service.
  • Navigate to Manage -> Site Management -> Fleets.

fleets
Figure: Fleet list

Step 2: Edit fleet set interfaces for storage.
  • Select ... -> Manage for the fleet object for which you want to define storage configuration. The click Edit Configuration in the upper right corner.
  • Navigate to Storage Configuration section and select List of Storage Interface for the Select Storage Interface Configuration field.
  • Select an interface from the displayed list or click Create new network interface for the List of Interface field. You can add multiple interfaces using the Add item option.

storage intf
Figure: Interfaces for Storage Devices

Note: See Interfaces for instructions on creating network interfaces. See Multi Node Site Network Setup Using Fleet for instructions on how to configure networking using fleet for multi node sites.

Step 3: Configure storage devices.
  • Select List of Storage Devices for the Select Storage Device Configuration field.

storage dev option
Figure: Storage Devices Option

  • Click Add Item under the List of Storage Devices field. This opens storage devices configuration.

storage dev params
Figure: Storage Devices Parameters

  • Enter a name for the Storage Device field. Ensure that this name corresponds to the class in which the storage device falls. The classes are used by vK8s for storage related actions.
  • Select an option for the Select Storage Device to Configure field and perform one of the following based on the option you chose:
NetApp Trident

netapp dev 1
Figure: NetApp Device Backend LIFs

  • Select an option for the Select NetApp Trident Backend field. The ONTAP NAS is selected by default.

  • Select an option for the Backend Management LIF field. The Backend Management LIF IP Address is selected by default. Enter an IP address for the backend management logical interface in the Backend Management LIF IP Address field. In case you select the name option, enter the backend management interface name.

  • Select an option for the Backend Data LIF field. The Backend Data LIF IP Address is selected by default. Enter an IP address for the backend data interface in the Backend Data LIF IP Address field. In case you select the name option, enter the backend data interface name.

netapp dev 2
Figure: NetApp Device Password and Certificates

  • Enter a username in the Username field. Click Configure for the Password field. Enter your password in the Secret page and click Blindfold. Wait for the Blindfold to complete encrypting your password and click Apply.

  • Enter a certificate in the Client Certificate field. Click Configure for the Client Certificate field. Enter your the text for your secret in the Secret page and click Blindfold. Wait for the Blindfold to complete encrypting your password and click Apply.

  • Enter a certificate in the Trusted CA Certificate field. Click Configure for the Trusted CA Certificate field. Enter your the text for your secret in the Secret page and click Blindfold. Wait for the Blindfold to complete encrypting your password and click Apply.

netapp dev 3
Figure: NetApp Device AutoExport CIDRs

  • Enter CIDR for your K8s nodes in the Auto Export CIDRs field in case auto export policy is enabled for your storage device.

  • If you are configuring virtual storage, then in the Virtual Storage Pools section, enter a label and region for the for the storage, and click Add Item one or more times to add pool labels and pool zones.

  • Click Apply.

Pure Storage Service Orchestrator

pure device
Figure: Pure Storage Orchestrator Device

  • Enter a cluster identifier in the Cluster ID field. This is used to identify the volumes used by the datastore. Alphanumeric characters and underscores are allowed.

    Note: Unique cluster ID is required for multiple K8s cluster using the same storage device.

  • Click Configure under the Flash Arrays field.

flash array
Figure: Pure Storage Flash Arrays

  • Click Add Item to add a flash array endpoint.

    flash array endpoint
    Figure: Pure Storage Flash Array endpoint

    • Enter an IP address in the Management Endpoint IP Address field.
    • Click Configure under the API Token field. Enter the token in the secret field and click Blindfold. Click Apply after the Blindfold encryption is completed.
    • Optionally select labels for this endpoint.
    • Click Add Item.
  • Click Configure under the Flash Blade field.

flash blade
Figure: Pure Storage Flash Blade

  • Click Add Item to add a flash blade endpoint.

flash blade endpoint
Figure: Pure Storage Flash Blade endpoint

  • Enter the IP address in the Management Endpoint IP Address field.
  • Click Configure under the API Token field. Enter the token in the secret field and click Blindfold. Click Apply after the Blindfold encryption is completed.
  • Enter the IP address in the NFS IP Address field.
  • Optionally add labels for this endpoint.
  • Click Add Item.

Note: You can change the management or NFS endpoints to specify management endpoint name or NFS DNS name.

  • Click Apply.
Custom Storage

The custom storage classes option is used for storage devices or external storages, which are deployed outside of F5 Distributed Cloud Services. For instance, the option allows you to configure custom storage classes for AWS, GCP, etc.

custom storage device
Figure: Custom storage device

  • Select Custom Storage for the Select Storage Device to Configure field.
  • Click Add Item.

Note: You can add multiple devices using the Add item option.

Step 4: Configure storage classes.

You can use default storage classes supported in K8s or you can customize the classes. In case you are using default classes, ensure that the storage device names correspond to the K8s classes.

NetApp Trident

netapp class
Figure: NetApp Class

  • Click Add Item.
Pure Storage Service Orchestrator

pure class
Figure: Pure Storage Orchestrator Class

  • Select an option for the Backend field. The block option is selected by default.
  • Optionally enter IOPS and bandwidth limits in their respective fields.
  • Click Add Item.
Custom Storage Class

storage class parameters
Figure: Storage class parameters

  • Select Add Custom Storage Class for the Select Configuration for Storage Classes field.

  • Click Add Item under the List of Storage Classes field. This opens the Storage Class Parameters page.

  • Enter a name for the Storage Class Name field. This name will appear in K8s.

  • Enter a name in the Storage Device field. This is the storage device that will be used by this class, as entered ini Step 3.

  • Optionally enter a storage class description.

  • Optionally check the Default Storage Class box to make this storage class the default for the K8s cluster.

  • Select Custom Storage for the Select Storage Class Configuration field.

  • Enter the storage class YAML. It must have the configuration of

    apiVersion: storage.k8s.io/v1
    kind: StorageClass
    ...
    
  • Enter a Reclaim Policy.

  • Optionally check the Allow Volume Expansion box.

  • Optionally enter generic/advanced parameters.

  • Click Add Item.

Note: You can add multiple classes using the Add item option.

Step 5: Complete applying storage configuration to fleet.

Click Save and Exit to apply the storage configuration fleet.

Note: You can add the sites to fleet by adding the fleet label to the site configuration. See Create Fleet guide for more information.


Concepts


API References