Use the netapp-storage-pool module to provision a storage pool for
Google Cloud NetApp Volumes.
NetApp Volumes is a managed Google Cloud service that provides Network File System (NFS) and Server Message Block (SMB) shared file systems to virtual machine (VM) instances. The service provides advanced data management capabilities and highly scalable capacity and performance.
To support NetApp Volumes, Cluster Toolkit uses two modules:
netapp-storage-pool: Provisions a storage pool. Storage pools are pre-provisioned storage capacity containers that host volumes. A pool also defines fundamental properties for all its volumes, such as:- Region
- Attached network
- Service level
- Customer-managed encryption key (CMEK) encryption
- Active Directory or Lightweight Directory Access Protocol (LDAP) settings
netapp-volume: Provisions a volume inside an existing storage pool. A volume is a file-system container that you share by using NFS or SMB.
For the complete list of inputs and outputs for this module, see the
netapp-storage-pool
module
page in the Cluster Toolkit GitHub repository.
Before you begin
Before you begin, verify that you meet the following requirements:
- You have installed and configured Cluster Toolkit. For installation instructions, see Set up Cluster Toolkit.
- You have an existing cluster blueprint. You can use and modify an existing
blueprint or create one from scratch. To view a working example of a blueprint
configured for the
netapp-storage-poolmodule, go to the Cluster blueprint catalog page, click the Select storage type menu and then select NetApp Volumes. For more information about creating and customizing blueprints, see Cluster blueprint. - The
netapp-storage-poolmodule does not create a continuous long-running workload or a full cluster. It provisions a storage pool for Google Cloud NetApp Volumes. - Verify that your project has unused quota for NetApp Volumes in your target region. Standard service levels have separate quota limits from Premium and Extreme service levels. For more information, see Quotas and limits.
- Verify that your network is configured for private service access. NetApp Volumes uses private service access to connect volumes to your network.
Required roles
To get the permissions that you need to create and manage NetApp Volumes storage pools, ask your administrator to grant you the following IAM roles on your project:
- NetApp Volumes Admin (
roles/netapp.admin) - Compute Network Admin (
roles/compute.networkAdmin)
For more information about granting roles, see Manage access to projects, folders, and organizations.
You might also be able to get the required permissions through custom roles or other predefined roles.
NetApp Volumes service levels
The netapp-storage-pool module supports the following NetApp Volumes service levels:
- Standard: 16 KiBps throughput per provisioned GiB of volume capacity.
- Premium: 64 KiBps throughput per provisioned GiB of volume capacity. You can optionally use auto-tiering with this service level.
- Extreme: 128 KiBps throughput per provisioned GiB of volume capacity. You can optionally use auto-tiering with this service level.
For more information about capability differences, see Google Cloud NetApp Volumes service levels.
Configure the network
To provision a NetApp Volumes storage pool, add the netapp-storage-pool module
to your blueprint. You must connect the storage pool to a VPC
network that has private service access configured. For more information, see
Configure private services
access.
Use a new VPC network
The following example creates a new VPC network and configures
private service access. Both resources are passed to the netapp_pool module to
help ensure the correct build order and network configuration.
deployment_groups:
- group: primary
modules:
- id: network
source: modules/network/vpc
settings:
region: REGION
- id: private_service_access
source: modules/network/private-service-access
use: [network]
settings:
prefix_length: 24
service_name: "netapp.servicenetworking.goog"
deletion_policy: "ABANDON"
- id: netapp_pool
source: modules/file-system/netapp-storage-pool
use: [network, private_service_access]
settings:
pool_name: POOL_NAME
capacity_gib: 20000
service_level: "EXTREME"
region: REGION
Replace the following:
REGION: the Google Cloud region for your network and storage poolPOOL_NAME: the name for your storage pool
Use an existing VPC network
The following example creates a storage pool by using an existing network that is already configured with private service access for NetApp Volumes.
deployment_groups:
- group: primary
modules:
- id: network
source: modules/network/pre-existing-vpc
settings:
project_id: PROJECT_ID
region: REGION
network_name: NETWORK_NAME
- id: netapp_pool
source: modules/file-system/netapp-storage-pool
use: [network]
settings:
pool_name: POOL_NAME
capacity_gib: 20000
service_level: "EXTREME"
region: REGION
Replace the following:
PROJECT_ID: the ID of your Google Cloud project.REGION: the Google Cloud region where your network is located.NETWORK_NAME: the name of your existing VPC network.POOL_NAME: the name for your storage pool.
Storage pool example
The following example demonstrates a storage pool configuration that defines all available settings.
- id: netapp_pool
source: modules/file-system/netapp-storage-pool
use: [network, private_service_access]
settings:
pool_name: "mypool"
region: "us-west4"
capacity_gib: 2048
service_level: "EXTREME"
active_directory_policy: "projects/PROJECT_ID/locations/us-east4/activeDirectories/my-ad"
cmek_policy: "projects/PROJECT_ID/locations/us-east4/kmsConfigs/my-cmek-policy"
ldap_enabled: false
allow_auto_tiering: false
description: "Demo storage pool"
labels:
owner: bob
What's next
- For the complete list of inputs and outputs for this module, see the
netapp-storage-poolmodule page in the Cluster Toolkit GitHub repository. - For a complete list of supported modules, see the compatibility matrix on GitHub.