Cohesity Cloud Scale Technology Deployment Guide Using Terraform for Microsoft Azure
- Introduction
- Getting started steps for deployment
- Prerequisites for setting up Azure environment
- Prerequisities for Terraform scripts
- Deploying Cloud Scale Technology using Terraform scripts
- Accessing the Cloud Scale environment
- Troubleshooting and cleanup environment steps
Parameters for base stage
Refer to the following tables and provide the configuration details depending on the type of installation you want to perform.
Note:
Refer the sample.tfvars
file which is placed in the base directory which has a format for passing the input parameters. Ensure you follow the parameter order.
Note:
Cloud Scale Technology deployment is supported on hybrid DNS environment.
Table: Parameters for base stage
Parameters | Description |
---|---|
Networking parameters that already exists | |
vnet_rg_name | Resource group name that contains the Virtual Network. |
vnet_name | Virtual Network name where to provision cloud scale resources. |
subnet_name_cluster | Subnet name where to provision cloud scale in AKS cluster. |
subnet_name_loadbalancer | Subnet name where to provision cloud scale AKS load balancer. |
Cloud Scale resources created by Terraform | |
cpdata_node_pool_scaling | Scaling configuration block for the cpdata pool nodes. See default value for example. desired_size: Desired number of nodes in cpdata pool. max_size: Maximum number of nodes in the cpdata pool when autoscaling is enabled. min_size: Minimum number of nodes in the cpdata pool when autoscaling is enabled. |
custom_tags | Additional tags to be added to resources. |
zone | Specify an availability zone in which AKS cluster should be located. |
cloudscale_instance_id | A unique identifier to be used in tags and names to identify the Cloud Scale Technology resources specific to this deployment. |
new_rg_name | Name of new resource group to be provisioned. |
new_user_identity_name | Name of new User Managed Identity to be provisioned. |
location | Location region to provision resources. |
aks_name | Name of the Cloud Scale Technology AKS cluster. |
enable_role_based_access_control_for_aks | false |
new_acr_name | Name of new container registry to be provisioned. |
use_existing_private_dns_zone | Option to use an existing private DNS zone. |
private_dns_zone_rg_name | The resource group name where the private DNS zone resides. |
dns_to_vnet_link_name | Name for the DNS zone virtual network link used for Cloud Scale Technology cluster. Required if creating a new private DNS zone. |
use_existing_nbsm_role | Option to use existing role or to create new NetBackup Snapshot Manager (NBSM) role. Default is set to false If this role is set to false, provisioning will automatically create the required roles needed for deployment. If this role is set to true, provide nbsm_role_name values. Refer to See Permissions attached to nbsm_role. in case if you use the Terraform to create an new nbsm_role. |
nbsm_role_name | This role is set if the use_existing_nbsm_role is set to true. This value is the name of an existing role to be used for NetBackup Snapshot Manager to work with Azure assets. This property cannot be changed after the cluster is created. |
aks_network_profile | The network profile for the cluster. See the modules/cloudscale-aks/REAMDE.md for defaults. See documentation for options. |
use_existing_storage_acc | Set it to true only if you want to use existing storage account to create NFS PVC. |
storage_acc_id | This is required in case of use_existing_storage_acc is set to true. Mention resource id of storage account name |
storage_acc_rg_name | This is required in case of use_existing_storage_acc is set to true. Mention storage account resource group name |
aks_private_dns_zone_id | Mention resource id of custom private DNS zone |
ACR private DNS zone values created by Terraform When the use_existing_acr_private_dns_zone = false | |
use_existing_acr_private_dns_zone | Option to use an existing private DNS zone for ACR |
acr_dns_to_vnet_link_name | This parameter is required only while creating new Azure Container Registry (ACR) private DNS zone. The virtual network link name is used to link the ACR private DNS to the ACR virtual network. |
acr_private_dns_zone_rg_name | For existing private DNS zone: This is the resource group name where it exists. For creating a new private DNS zone: This is the resource group name where to provision the zone. |
When the use_existing_acr_private_dns_zone = true | |
acr_private_endpoint_name | Name of the private endpoint when provisioning a private ACR. |
acr_rg_name | The Resource Group name where the ACR resides. |
acr_public_network_access_enabled | Option to enable public access on a new ACR. |
acr_private_service_connection_name | Name of the private service connection when provisioning a private ACR. |
cloud_environment | Specify which cloud environment to use. Default value is public and possible values are public, usgovernment, german, and china. |
kubernetes_version | Specify which Kubernetes version to use. The default used is the latest Kubernetes version available in the region |
acr_private_dns_zone_group_name | Name of the private DNS zone group when provisioning a private ACR. |
node_instance_size_primary_pool | The node virtual machine size of the primary nodes. Use Azure virtual machine skus |
node_instance_size_media_pool | The node virtual machine size of the media nodes. Use Azure virtual machine skus. |
node_instance_size_msdp_pool | The node virtual machine size of the msdp nodes. Use Azure virtual machine skus. |
node_instance_size_cpdata_pool | The node virtual machine size of the cpdata nodes. Use Azure virtual machine skus. |
primary_node_pool_scaling | Scaling configuration block for the Primary pool nodes. See default value for example. desired_size: 1 Desired number of nodes in primary pool. max_size: 2 Maximum number of nodes in the primary pool when autoscaling is enabled. min_size: 1 Minimum number of nodes in the primary pool when autoscaling is enabled. |
msdp_node_pool_scaling | Scaling configuration block for the storage pool nodes. See default value for example. desired_size:1 Desired number of nodes in msdp pool. max_size: 1 Maximum number of nodes in the msdp pool when autoscaling is enabled. min_size: 1 Minimum number of nodes in the msdp pool when autoscaling is enabled. |
media_node_pool_scaling | Scaling configuration block for the media pool nodes. See default value for example. desired_size:1 Desired number of nodes in media pool. max_size:1 Maximum number of nodes in the media pool when autoscaling is enabled. min_size:1 Minimum number of nodes in the media pool when autoscaling is enabled. |
cpdata_node_pool_scaling | Scaling configuration block for the cpdata pool nodes. See default value for example. desired_size:1 Desired number of nodes in cpdata pool. max_size:1 Maximum number of nodes in the cpdata pool when autoscaling is enabled. min_size:1 Minimum number of nodes in the cpdata pool when autoscaling is enabled. |
private_dns_zone_name | The name of the private DNS Zone resource used for cloud scale. Needs to be a unique name in the Azure Subscription. This is not required in case of Hybrid DNS environment. |
DBaaS configuration. The db_* variables are not required while using internal database (db_create = false) | |
db_create | Specifies whether to create Azure Flexible Server PostgreSQL |
db_subnet_name | The name of the subnet to create the PostgreSQL Flexible Server. (Should not have any resource deployed in) This parameter is optional and only required if db_create is set to true. |
db_username | Username for the master DB user. This parameter is optional and only required if db_create is set to true. |
db_compute_tier | Tier for PostgreSQL Flexible server sku : Compute and storage options in Azure database. Possible values are: GeneralPurpose, Burstable, MemoryOptimized. This parameter is optional and only required if db_create is set to true. |
db_compute_size | Size for PostgreSQL Flexible server sku : Compute and storage options in Azure database for PostgreSQL This parameter is optional and only required if db_create is set to true. |
db_zone | Specify availability-zone for PostgreSQL flexible main server. This parameter is optional and only required if db_create is set to true. |
db_standby_zone | Specify availability-zone to enable high_availability and create standby PostgreSQL Flexible Server. (Null to disable high-availability) This parameter is optional and only required if db_create is set to true. |
db_backup_retention_days | The days to retain backups for. Must be between 1 and 35. This parameter is optional and only required if db_create is set to true. |
db_maintenance_day | The day of week for maintenance window. i.e. Sunday = 0, Monday = 1. Defaults to 0. This parameter is optional and only required if db_create is set to true. |
db_maintenance_hour | The start hour for maintenance window. Defaults to 0. This parameter is optional and only required if db_create is set to true. |
db_maintenance_minute | The start minute for maintenance window. Defaults to 0. This parameter is optional and only required if db_create is set to true. |
db_parameters | PostgreSQL configurations to enable. This parameter is optional and only required if db_create is set to true. |
db_geo_redundant_backup_enabled | Enable Geo Redundant Backup for the PostgreSQL Flexible Server. This parameter is optional and only required if db_create is set to true. |
db_postgresql_version | Version of PostgreSQL Flexible Server. Possible values are: Version of PostgreSQL Flexible Server This parameter is optional and only required if db_create is set to true. |
db_server_name | The name of PostgreSQL Flexible Server instance. This parameter is optional and only required if db_create is set to true. |
db_standby_zone | Specify availability-zone to enable high_availability and create standby PostgreSQL Flexible Server. This parameter is optional and only required if db_create is set to true. |
db_storage_mb | Storage allowed for PostgresSQL Flexible server. Possible values : azurerm_postgresql_flexible_server This parameter is optional and only required if db_create is set to true. |
Optional parameters to support external container registry Note: Applicable only when ext_container_registry is set to true. | |
ext_container_registry_url | Specifies the URL for the external container registry. |
ext_container_registry_secret_name | Name of the secret containing credentials for the external container registry. |
ext_container_registry_username | Username to authenticate with the external container registry. |
ext_container_registry_password | Password to authenticate with the external container registry. |
Note the following:
|
There are no parameters required for addons stage.