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 Application Service. You can enable this errand during PAS 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, do the following:

  1. Navigate to the Ops Manager Installation Dashboard.

  2. Click the Pivotal Application Service tile.

  3. Click Application Containers.

  4. Under Enabling NFSv3 volume services, select Enable.

    Note: In a clean install, NFSv3 volume services are enabled by default. In an upgrade, NFSv3 volume services match the setting of the previous deployment.

    Er config app vol svc

  5. (Optional) To configure LDAP for NFSv3 volume services, perform the following steps:

    Note: If you already use an LDAP server with your network-attached storage (NAS) file server, enter its information below. This ensures that the indentities known to the file server match those checked by the PCF NFS driver.

    • For LDAP Service Account User, enter either the full domain name (DN) for the service account or the username of the service account that manages volume services, depending on how your LDAP server is configured. This value needs to be exactly what you would enter when binding the account to your LDAP server.
    • For LDAP Service Account Password, enter the password for the service account.
    • For LDAP Server Host, enter the hostname or IP address of the LDAP server.
    • For LDAP Server Port, enter the LDAP server port number. If you do not specify a port number, Ops Manager uses 389.
    • For LDAP Server Protocol, enter the server protocol. If you do not specify a protocol, Ops Manager uses TCP.
    • For LDAP User Search Base, enter the location in the LDAP directory tree from which any LDAP User search begins. The typical LDAP Search Base matches your domain name.
      For example, a domain named cloud.example.com typically uses the following LDAP User Search Base: ou=Users,dc=example,dc=com.
    • For LDAP Server CA Cert, you can optionally enter a certificate if your LDAP server supports TLS and you want to enable TLS connections from the NFS driver to your LDAP server. Paste in the root certificate from your CA certificate or your self-signed certificate.
  6. Click Save.

  7. Return to the Ops Manager Installation Dashboard, click Review Pending Changes, and click Apply Changes to redeploy.

  8. 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.

  9. (Optional) Enable access to the nfs-experimental service. See NFS Volume Service for details about the differences between the two nfs services.

    $ cf enable-service-access nfs-experimental

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