Skip to content

Latest commit

 

History

History
88 lines (70 loc) · 7 KB

File metadata and controls

88 lines (70 loc) · 7 KB

Terraform Module for Azure NFS

This module contains resource files and example variable definition files for creation of the Azure NFS File Share required for Cloudera Machine Learning (CML) Public Cloud.

  • Provisions a storage account with Premium Tier and Disabled Https traffic only.
  • Creates a NFS file share of 100 GB in the storage account
  • Creates a private dns zone of type privatelink.file.core.windows.net
  • Creates a VNET link between CDP workload VNET and private DNS zone
  • Creates a private endpoint for NFS Storage Account (File sub-resource) for the specified subnets in the CDP VNET.
  • Creates a public IP , security group allowing port 22 from everywhere
  • Creates a ubuntu VM with public IP, security group in the CDP Subnets to which private endpoint was created.

Usage

The examples directory has example Azure Cloud Service Provider deployments for different scenarios:

  • ex01-nfs_fileshare uses a set of inputs for the module.

In each directory an example terraform.tfvars.sample values file is included to show input variable values.

Requirements

Name Version
terraform >= 1.3.0
azurerm >= 4.0.0

Providers

Name Version
azurerm >= 4.0.0

Modules

No modules.

Resources

Name Type
azurerm_linux_virtual_machine.nfs_vm resource
azurerm_network_interface.nfsvm_nic resource
azurerm_network_interface_security_group_association.nfsvm_nic_sg resource
azurerm_network_security_group.nfsvm_sg resource
azurerm_network_security_rule.nfsvm_sg_rule resource
azurerm_private_dns_zone.nfs_privatednszone resource
azurerm_private_dns_zone_virtual_network_link.nfs_vnet_link resource
azurerm_private_endpoint.nfs_private_endpoint resource
azurerm_public_ip.nfsvm_public_ip resource
azurerm_storage_account.nfs_storage_account resource
azurerm_storage_share.nfs_storage_share resource
azurerm_subnet.nfs_subnets data source
azurerm_virtual_network.nfs_vnet data source

Inputs

Name Description Type Default Required
azure_region Region for CDP string n/a yes
nfs_file_share_name nfs file share name string n/a yes
nfs_private_endpoint_target_subnet_names Subnet to which private endpoints are created list(string) n/a yes
nfs_storage_account_name NFS Storage account name string n/a yes
nfs_vnet_link_name Name for NFS VNET Link string n/a yes
private_endpoint_prefix Shorthand name for the environment. Used in resource descriptions string n/a yes
resourcegroup_name Resource Group Name string n/a yes
vnet_name Vnet name string n/a yes
create_vm_mounting_nfs Whether to create a VM which mounts this NFS bool true no
nfs_file_share_size NFS File Share size number 100 no
nfsvm_name Name for NFS VM string null no
nfsvm_nic_name Name for NFS VM NIC string null no
nfsvm_public_ip_name Name for NFS VM Public IP string null no
nfsvm_sg_name Name for NFS VM Security Group string null no
public_key_text SSH Public key string for the nodes of the CDP environment string null no
source_address_prefixes Source address prefixes for VM ssh access list(string) null no

Outputs

Name Description
nfs_file_share_nfs_domain_url NFS File Share domain with nfs protocol prefix
nfs_file_share_url NFS File Share url
nfs_storage_account_name NFS Storage Account Name
nfs_vm_mount_path Path where NFS is mounted on the VM
nfs_vm_public_ip NFS VM public IP address
nfs_vm_username NFS VM Admin Username