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.
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.
Name | Version |
---|---|
terraform | >= 1.3.0 |
azurerm | >= 4.0.0 |
Name | Version |
---|---|
azurerm | >= 4.0.0 |
No modules.
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 |
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 |
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 |