Enabling NFS Volume Services

This topic describes how Pivotal Cloud Foundry (PCF) operators can deploy NFS volume services.

Overview

A volume service gives apps access to a persistent filesystem, such as NFS. By performing the procedures in this topic, operators can add a volume service to the Marketplace that provides an NFSv3 filesystem.

Developers can then use the Cloud Foundry Command Line Interface (cf CLI) to create service instances of the volume service and bind them to their apps. For more information, see the Using an External File System (Volume Services) topic.

Note: You must have an NFS server running to enable NFS volume services. If you want to use NFS and do not currently have a server available, you can deploy the test NFS server bundled with the NFS Volume release or enable NFS volume services with the NFS Broker Errand for Pivotal Elastic Runtime. You can enable this errand during ERT tile configuration.

Security

When it comes to securing your NFS server against traffic apps running on PCF, you can use ASGs and LDAP:

  • Application Security Groups (ASGs)
    Use Application Security Groups (ASGs) to prevent apps from sending traffic directly to your NFS ports. Apps should never need to use NFS ports directly. Pivotal recommends defining an ASG that blocks direct access to your NFS server IP, especially ports 111 and 2049. For more information on setting up ASGs, see Understanding Application Security Groups.
  • LDAP
    In addition to ASGs, LDAP secures the NFS volume service so that app developers cannot bind to the service using an arbitrary UID and gain access to sensitive data. With LDAP support enabled, app developers must provide credentials for any user they wish to bind as.

The Diego cells running on PCF must be able to reach your LDAP server on the port you use for connections, which are typically 389 or 636. You cannot limit which Diego cells have access to your NFS or LDAP servers.

Enable Volume Services

To enable NFS volume services in PCF, perform the following steps:

  1. Navigate to the Ops Manager Installation Dashboard.
  2. Click the Elastic Runtime tile.
  3. Click Application Containers.
  4. Under Enabling NFSv3 volume services, select Enable. Enable nfs

    Note: In a clean install, NFSv3 volume services will be enabled by default. In an upgrade, NFSv3 volume services will be set to the same setting as it was in the previous deployment.

  5. Click Save.
  6. Return to the Ops Manager Installation Dashboard and click Apply Changes to redeploy.
  7. Using the cf CLI, enable access to the service:
    $ cf enable-service-access nfs
    To limit access to a specific org, use the -o flag, followed by the name of the org where you want to enable access. For more information, see the Access Control topic.

After completing these steps, developers can use the cf CLI to create service instances of the nfs service and bind them to their apps.

Create a pull request or raise an issue on the source for this page in GitHub