通过 Terraform 实现云卷自动化
该解决方案记录了使用 Terraform 模块在 AWS(CVO 单节点、CVO HA 和 FSX ONTAP)和 Azure(CVO 单节点、CVO HA 和 ANF)上自动部署 Cloud Volumes 的过程。代码可以在以下位置找到 https://github.com/NetApp/na_cloud_volumes_automation
先决条件
-
Terraform >= 0.13
-
云管理器帐户
-
云提供商帐户 – AWS、Azure
-
主机(Terraform 支持的任何操作系统)
提供商文档
Cloud Manager 的 Terraform 提供程序文档可在以下位置找到:"https://registry.terraform.io/providers/NetApp/netapp-cloudmanager/latest/docs"
控制提供程序版本
请注意,您还可以控制提供程序版本。这由 Terraform 配置中的 required_providers 块控制。
语法如下:
terraform {
required_providers {
netapp-cloudmanager = {
source = "NetApp/netapp-cloudmanager"
version = ">= 23.0.0"
}
}
}
阅读有关提供商版本控制的更多信息。
运行特定模块
AWS
本节包含各种 Terraform 配置文件,用于在 AWS(Amazon Web Services)上部署/配置单节点NetApp CVO(Cloud Volumes ONTAP)。
为了运行模板:
-
克隆存储库。
git clone https://github.com/NetApp/na_cloud_volumes_automation.git
-
导航到所需的文件夹
cd na_cloud_volumes_automation/
-
从 CLI 配置 AWS 凭证。
aws configure
-
AWS 访问密钥 ID [无]:accesskey
-
AWS 秘密访问密钥 [无]:secretkey
-
默认区域名称 [无]:us-west-2
-
默认输出格式[无]: json
-
-
更新变量值
vars/aws_cvo_single_node_deployment.tfvar
您可以通过将变量“aws_connector_deploy_bool”值设置为 true/false 来选择部署连接器。 -
初始化 Terraform 存储库以安装所有先决条件并准备部署。
terraform init
-
使用 terraform verify 命令验证 terraform 文件。
terraform validate
-
对配置进行试运行,以预览部署预期的所有更改。
terraform plan -target="module.aws_sn" -var-file="vars/aws_cvo_single_node_deployment.tfvars"
-
运行部署
terraform apply -target="module.aws_sn" -var-file="vars/aws_cvo_single_node_deployment.tfvars"
删除部署
terraform destroy
Connector
用于 CVO 部署的NetApp AWS 连接器实例的 Terraform 变量。
姓名 | 类型 | 描述 |
---|---|---|
aws_connector_deploy_bool |
布尔值 |
(必需)检查连接器部署。 |
aws_connector_name |
字符串 |
(必需)云管理器连接器的名称。 |
aws_connector_region |
字符串 |
(必需)将创建 Cloud Manager Connector 的区域。 |
aws_connector_key_name |
字符串 |
(必需)用于连接器实例的密钥对的名称。 |
aws_connector_company |
字符串 |
(必填)用户的公司名称。 |
aws_connector_instance_type |
字符串 |
(必需)实例的类型(例如,t3.xlarge)。至少需要 4 个 CPU 和 16 GB 内存。 |
aws_connector_subnet_id |
字符串 |
(必需)实例的子网 ID。 |
aws_connector_security_group_id |
字符串 |
(必填)实例的安全组ID,多个安全组可以用“,”分隔。 |
aws_connector_iam_instance_profile_name |
字符串 |
(必需)连接器的实例配置文件的名称。 |
aws_connector_account_id |
字符串 |
(可选)连接器将与之关联的NetApp帐户 ID。如果未提供,Cloud Manager 将使用第一个帐户。如果不存在帐户,Cloud Manager 会创建一个新帐户。您可以在 Cloud Manager 的帐户选项卡中找到帐户 ID,网址为 https://cloudmanager.netapp.com。 |
aws_connector_public_ip_bool |
布尔值 |
(可选)指示是否将公共 IP 地址与实例关联。如果未提供,则关联将根据子网的配置完成。 |
Single Node Instance
单个NetApp CVO 实例的 Terraform 变量。
姓名 | 类型 | 描述 |
---|---|---|
cvo_名称 |
字符串 |
(必需) Cloud Volumes ONTAP工作环境的名称。 |
cvo_区域 |
字符串 |
(必需)将创建工作环境的区域。 |
cvo_子网ID |
字符串 |
(必需)将创建工作环境的子网 ID。 |
cvo_vpc_id |
字符串 |
(可选)将创建工作环境的 VPC ID。如果未提供此参数,则将使用提供的子网 ID 来计算 VPC。 |
cvo_svm_密码 |
字符串 |
(必需) Cloud Volumes ONTAP的管理员密码。 |
cvo_writing_speed_state |
字符串 |
(可选) Cloud Volumes ONTAP的写入速度设置:['NORMAL','HIGH']。默认值为“正常”。 |
本节包含各种 Terraform 配置文件,用于在 AWS(Amazon Web Services)上以高可用性对形式部署/配置NetApp CVO(Cloud Volumes ONTAP)。
为了运行模板:
-
克隆存储库。
git clone https://github.com/NetApp/na_cloud_volumes_automation.git
-
导航到所需的文件夹
cd na_cloud_volumes_automation/
-
从 CLI 配置 AWS 凭证。
aws configure
-
AWS 访问密钥 ID [无]:accesskey
-
AWS 秘密访问密钥 [无]:secretkey
-
默认区域名称 [无]:us-west-2
-
默认输出格式[无]: json
-
-
更新变量值
vars/aws_cvo_ha_deployment.tfvars
。您可以通过将变量“aws_connector_deploy_bool”值设置为 true/false 来选择部署连接器。 -
初始化 Terraform 存储库以安装所有先决条件并准备部署。
terraform init
-
使用 terraform verify 命令验证 terraform 文件。
terraform validate
-
对配置进行试运行,以预览部署预期的所有更改。
terraform plan -target="module.aws_ha" -var-file="vars/aws_cvo_ha_deployment.tfvars"
-
运行部署
terraform apply -target="module.aws_ha" -var-file="vars/aws_cvo_ha_deployment.tfvars"
删除部署
terraform destroy
Connector
用于 CVO 部署的NetApp AWS 连接器实例的 Terraform 变量。
姓名 | 类型 | 描述 |
---|---|---|
aws_connector_deploy_bool |
布尔值 |
(必需)检查连接器部署。 |
aws_connector_name |
字符串 |
(必需)云管理器连接器的名称。 |
aws_connector_region |
字符串 |
(必需)将创建 Cloud Manager Connector 的区域。 |
aws_connector_key_name |
字符串 |
(必需)用于连接器实例的密钥对的名称。 |
aws_connector_company |
字符串 |
(必填)用户的公司名称。 |
aws_connector_instance_type |
字符串 |
(必需)实例的类型(例如,t3.xlarge)。至少需要 4 个 CPU 和 16 GB 内存。 |
aws_connector_subnet_id |
字符串 |
(必需)实例的子网 ID。 |
aws_connector_security_group_id |
字符串 |
(必填)实例的安全组ID,多个安全组可以用“,”分隔。 |
aws_connector_iam_instance_profile_name |
字符串 |
(必需)连接器的实例配置文件的名称。 |
aws_connector_account_id |
字符串 |
(可选)连接器将与之关联的NetApp帐户 ID。如果未提供,Cloud Manager 将使用第一个帐户。如果不存在帐户,Cloud Manager 会创建一个新帐户。您可以在 Cloud Manager 的帐户选项卡中找到帐户 ID,网址为 https://cloudmanager.netapp.com。 |
aws_connector_public_ip_bool |
布尔值 |
(可选)指示是否将公共 IP 地址与实例关联。如果未提供,则关联将根据子网的配置完成。 |
HA Pair
HA 对中NetApp CVO 实例的 Terraform 变量。
姓名 | 类型 | 描述 |
---|---|---|
cvo_is_ha |
布尔值 |
(可选)指示工作环境是否为 HA 对 [true,false]。默认值为 false。 |
cvo_名称 |
字符串 |
(必需) Cloud Volumes ONTAP工作环境的名称。 |
cvo_区域 |
字符串 |
(必需)将创建工作环境的区域。 |
cvo_node1_subnet_id |
字符串 |
(必需)将创建第一个节点的子网 ID。 |
cvo_node2_subnet_id |
字符串 |
(必需)将创建第二个节点的子网 ID。 |
cvo_vpc_id |
字符串 |
(可选)将创建工作环境的 VPC ID。如果未提供此参数,则将使用提供的子网 ID 来计算 VPC。 |
cvo_svm_密码 |
字符串 |
(必需) Cloud Volumes ONTAP的管理员密码。 |
cvo_failover_mode |
字符串 |
(可选)对于 HA,HA 对的故障转移模式:['PrivateIP','FloatingIP']。 “PrivateIP”适用于单个可用区域,“FloatingIP”适用于多个可用区域。 |
cvo_mediator_subnet_id |
字符串 |
(可选)对于 HA,这是中介的子网 ID。 |
cvo_mediator_key_pair_name |
字符串 |
(可选)对于 HA,这是中介实例的密钥对名称。 |
cvo_cluster_floating_ip |
字符串 |
(可选)对于 HA FloatingIP,集群管理浮动 IP 地址。 |
cvo_data_floating_ip |
字符串 |
(可选)对于 HA FloatingIP,数据浮动 IP 地址。 |
cvo_data_floating_ip2 |
字符串 |
(可选)对于 HA FloatingIP,数据浮动 IP 地址。 |
cvo_svm_floating_ip |
字符串 |
(可选)对于 HA FloatingIP,SVM 管理浮动 IP 地址。 |
cvo_route_table_ids |
列表 |
(可选)对于 HA FloatingIP,将使用浮动 IP 更新的路由表 ID 列表。 |
本节包含用于在 AWS(Amazon Web Services)上部署/配置NetApp ONTAP FSx 的各种 Terraform 配置文件。
为了运行模板:
-
克隆存储库。
git clone https://github.com/NetApp/na_cloud_volumes_automation.git
-
导航到所需的文件夹
cd na_cloud_volumes_automation/
-
从 CLI 配置 AWS 凭证。
aws configure
-
AWS 访问密钥 ID [无]:accesskey
-
AWS 秘密访问密钥 [无]:secretkey
-
默认区域名称 [无]:us-west-2
-
默认输出格式[无]:
-
-
更新变量值
vars/aws_fsx_deployment.tfvars
您可以通过将变量“aws_connector_deploy_bool”值设置为 true/false 来选择部署连接器。 -
初始化 Terraform 存储库以安装所有先决条件并准备部署。
terraform init
-
使用 terraform verify 命令验证 terraform 文件。
terraform validate
-
对配置进行试运行,以预览部署预期的所有更改。
terraform plan -target="module.aws_fsx" -var-file="vars/aws_fsx_deployment.tfvars"
-
运行部署
terraform apply -target="module.aws_fsx" -var-file="vars/aws_fsx_deployment.tfvars"
删除部署
terraform destroy
Connector
NetApp AWS 连接器实例的 Terraform 变量。
姓名 | 类型 | 描述 |
---|---|---|
aws_connector_deploy_bool |
布尔值 |
(必需)检查连接器部署。 |
aws_connector_name |
字符串 |
(必需)云管理器连接器的名称。 |
aws_connector_region |
字符串 |
(必需)将创建 Cloud Manager Connector 的区域。 |
aws_connector_key_name |
字符串 |
(必需)用于连接器实例的密钥对的名称。 |
aws_connector_company |
字符串 |
(必填)用户的公司名称。 |
aws_connector_instance_type |
字符串 |
(必需)实例的类型(例如,t3.xlarge)。至少需要 4 个 CPU 和 16 GB 内存。 |
aws_connector_subnet_id |
字符串 |
(必需)实例的子网 ID。 |
aws_connector_security_group_id |
字符串 |
(必填)实例的安全组ID,多个安全组可以用“,”分隔。 |
aws_connector_iam_instance_profile_name |
字符串 |
(必需)连接器的实例配置文件的名称。 |
aws_connector_account_id |
字符串 |
(可选)连接器将与之关联的NetApp帐户 ID。如果未提供,Cloud Manager 将使用第一个帐户。如果不存在帐户,Cloud Manager 会创建一个新帐户。您可以在 Cloud Manager 的帐户选项卡中找到帐户 ID,网址为 https://cloudmanager.netapp.com。 |
aws_connector_public_ip_bool |
布尔值 |
(可选)指示是否将公共 IP 地址与实例关联。如果未提供,则关联将根据子网的配置完成。 |
FSx Instance
NetApp ONTAP FSx 实例的 Terraform 变量。
姓名 | 类型 | 描述 |
---|---|---|
fsx_名称 |
字符串 |
(必需) Cloud Volumes ONTAP工作环境的名称。 |
fsx_区域 |
字符串 |
(必需)将创建工作环境的区域。 |
fsx_primary_subnet_id |
字符串 |
(必需)将创建工作环境的主子网 ID。 |
fsx_secondary_subnet_id |
字符串 |
(必需)将创建工作环境的辅助子网 ID。 |
fsx_account_id |
字符串 |
(必需)FSx 实例将与之关联的NetApp帐户 ID。如果未提供,Cloud Manager 将使用第一个帐户。如果不存在帐户,Cloud Manager 会创建一个新帐户。您可以在 Cloud Manager 的帐户选项卡中找到帐户 ID,网址为 https://cloudmanager.netapp.com。 |
fsx_workspace_id |
字符串 |
(必填)工作环境的云管理器工作区的 ID。 |
fsx_admin_密码 |
字符串 |
(必需) Cloud Volumes ONTAP的管理员密码。 |
fsx_throughput_capacity |
字符串 |
(可选)吞吐量的能力。 |
fsx_storage_capacity_size |
字符串 |
(可选)第一个数据聚合的 EBS 卷大小。对于 GB,单位可以是:[100 或 500]。对于 TB,单位可以是:[1,2,4,8,16]。默认值为“1” |
fsx_storage_capacity_size_unit(fsx_storage_capacity_size_unit) |
字符串 |
(可选)['GB' 或 'TB']。默认值为“TB”。 |
fsx_cloudmanager_aws_credential_name |
字符串 |
(必需)AWS Credentials 帐户名称。 |
Azure
本节包含用于在 Azure 上部署/配置 ANF(Azure Netapp 文件)卷的各种 Terraform 配置文件。
为了运行模板:
-
克隆存储库。
git clone https://github.com/NetApp/na_cloud_volumes_automation.git
-
导航到所需的文件夹
cd na_cloud_volumes_automation
-
登录到您的 Azure CLI(必须安装 Azure CLI)。
az login
-
更新变量值
vars/azure_anf.tfvars
。您可以选择使用现有的 vnet 和子网部署 ANF 卷,方法是将变量“vnet_creation_bool”和“subnet_creation_bool”值设置为 false 并提供“subnet_id_for_anf_vol”。您还可以将这些值设置为 true 并创建新的 vnet 和子网,在这种情况下,子网 ID 将自动从新创建的子网中获取。 -
初始化 Terraform 存储库以安装所有先决条件并准备部署。
terraform init
-
使用 terraform verify 命令验证 terraform 文件。
terraform validate
-
对配置进行试运行,以预览部署预期的所有更改。
terraform plan -target="module.anf" -var-file="vars/azure_anf.tfvars"
-
运行部署
terraform apply -target="module.anf" -var-file="vars/azure_anf.tfvars"
删除部署
terraform destroy
Single Node Instance
单个NetApp ANF 卷的 Terraform 变量。
姓名 | 类型 | 描述 |
---|---|---|
az_location |
字符串 |
(必需)指定资源所在的受支持的 Azure 位置。改变这一点会强制创建新的资源。 |
az_前缀 |
字符串 |
(必需)应创建NetApp卷的资源组的名称。改变这一点会强制创建新的资源。 |
az_vnet_address_space |
字符串 |
(必需)新创建的 vnet 用于 ANF 卷部署的地址空间。 |
az_subnet_address_prefix |
字符串 |
(必需)新创建的 vnet 用于 ANF 卷部署的子网地址前缀。 |
az_volume_path |
字符串 |
(必需)卷的唯一文件路径。创建挂载目标时使用。改变这一点会强制创建新的资源。 |
az_capacity_pool_size |
整型 |
(必填)容量池大小(以 TB 为单位)。 |
az_vnet_creation_bool |
布尔型 |
(必需)将此布尔值设置为 `true`如果您想创建一个新的虚拟网络。将其设置为 `false`使用现有的虚拟网络。 |
az_subnet_creation_bool |
布尔型 |
(必需)将此布尔值设置为 `true`创建新的子网。将其设置为 `false`使用现有子网。 |
az_subnet_id_for_anf_vol |
字符串 |
(必需)如果您决定使用现有子网,请通过设置来提及子网 ID `subnet_creation_bool`为真。如果设置为 false,则保留其默认值。 |
az_netapp_pool_service_level |
字符串 |
(必需)文件系统的目标性能。有效值包括 |
az_netapp_vol_service_level |
字符串 |
(必需)文件系统的目标性能。有效值包括 |
az_netapp_vol_协议 |
字符串 |
(可选)以列表形式表示的目标卷协议。支持的单值包括 |
az_netapp_vol_security_style |
字符串 |
(可选)卷安全样式,可接受的值为 |
az_netapp_vol_storage_quota |
字符串 |
(必填)文件系统允许的最大存储配额(以 GB 为单位)。 |
|
根据建议,此脚本使用 `prevent_destroy`生命周期参数来减轻配置文件中意外丢失数据的可能性。有关 `prevent_destroy`生命周期参数请参阅 Terraform 文档: https://developer.hashicorp.com/terraform/tutorials/state/resource-lifecycle#prevent-resource-deletion 。 |
本节包含各种 Terraform 配置文件,用于在 Azure 上部署/配置具有数据保护的 ANF(Azure Netapp 文件)卷。
为了运行模板:
-
克隆存储库。
git clone https://github.com/NetApp/na_cloud_volumes_automation.git
-
导航到所需的文件夹
cd na_cloud_volumes_automation
-
登录到您的 Azure CLI(必须安装 Azure CLI)。
az login
-
更新变量值
vars/azure_anf_data_protection.tfvars
。您可以选择使用现有的 vnet 和子网部署 ANF 卷,方法是将变量“vnet_creation_bool”和“subnet_creation_bool”值设置为 false 并提供“subnet_id_for_anf_vol”。您还可以将这些值设置为 true 并创建新的 vnet 和子网,在这种情况下,子网 ID 将自动从新创建的子网中获取。 -
初始化 Terraform 存储库以安装所有先决条件并准备部署。
terraform init
-
使用 terraform verify 命令验证 terraform 文件。
terraform validate
-
对配置进行试运行,以预览部署预期的所有更改。
terraform plan -target="module.anf_data_protection" -var-file="vars/azure_anf_data_protection.tfvars"
-
运行部署
terraform apply -target="module.anf_data_protection" -var-file="vars/azure_anf_data_protection.tfvars
删除部署
terraform destroy
ANF Data Protection
启用数据保护的单个 ANF 卷的 Terraform 变量。
姓名 | 类型 | 描述 |
---|---|---|
az_location |
字符串 |
(必需)指定资源所在的受支持的 Azure 位置。改变这一点会强制创建新的资源。 |
az_alt_location |
字符串 |
(必需)将创建辅助卷的 Azure 位置 |
az_前缀 |
字符串 |
(必需)应创建NetApp卷的资源组的名称。改变这一点会强制创建新的资源。 |
az_vnet_primary_address_space |
字符串 |
(必需)新创建的 vnet 用于 ANF 主卷部署的地址空间。 |
az_vnet_secondary_address_space |
字符串 |
(必需)新创建的 vnet 用于 ANF 辅助卷部署的地址空间。 |
az_subnet_primary_address_prefix |
字符串 |
(必需)新创建的 vnet 用于 ANF 主卷部署的子网地址前缀。 |
az_subnet_secondary_address_prefix |
字符串 |
(必需)新创建的 vnet 用于 ANF 辅助卷部署的子网地址前缀。 |
az_volume_path_primary |
字符串 |
(必需)主卷的唯一文件路径。创建挂载目标时使用。改变这一点会强制创建新的资源。 |
az_volume_path_secondary |
字符串 |
(必需)辅助卷的唯一文件路径。创建挂载目标时使用。改变这一点会强制创建新的资源。 |
az_capacity_pool_size_primary |
整型 |
(必填)容量池大小(以 TB 为单位)。 |
az_capacity_pool_size_secondary |
整型 |
(必填)容量池大小(以 TB 为单位)。 |
az_vnet_primary_creation_bool |
布尔型 |
(必需)将此布尔值设置为 `true`如果您想为主卷创建一个新的 vnet。将其设置为 `false`使用现有的虚拟网络。 |
az_vnet_secondary_creation_bool |
布尔型 |
(必需)将此布尔值设置为 `true`如果您想为辅助卷创建一个新的 vnet。将其设置为 `false`使用现有的虚拟网络。 |
az_subnet_primary_creation_bool |
布尔型 |
(必需)将此布尔值设置为 `true`为主卷创建新的子网。将其设置为 `false`使用现有子网。 |
az_subnet_secondary_creation_bool |
布尔型 |
(必需)将此布尔值设置为 `true`为辅助卷创建新的子网。将其设置为 `false`使用现有子网。 |
az_primary_subnet_id_for_anf_vol* |
字符串 |
(必需)如果您决定使用现有子网,请通过设置来提及子网 ID `subnet_primary_creation_bool`为真。如果设置为 false,则保留其默认值。 |
az_secondary_subnet_id_for_anf_vol* |
字符串 |
(必需)如果您决定使用现有子网,请通过设置来提及子网 ID `subnet_secondary_creation_bool`为真。如果设置为 false,则保留其默认值。 |
az_netapp_pool_service_level_primary |
字符串 |
(必需)文件系统的目标性能。有效值包括 |
az_netapp_pool_service_level_secondary |
字符串 |
(必需)文件系统的目标性能。有效值包括 |
az_netapp_vol_service_level_primary |
字符串 |
(必需)文件系统的目标性能。有效值包括 |
az_netapp_vol_service_level_secondary |
字符串 |
(必需)文件系统的目标性能。有效值包括 |
az_netapp_vol_protocol_primary |
字符串 |
(可选)以列表形式表示的目标卷协议。支持的单值包括 |
az_netapp_vol_protocol_secondary |
字符串 |
(可选)以列表形式表示的目标卷协议。支持的单值包括 |
az_netapp_vol_storage_quota_primary |
字符串 |
(必填)文件系统允许的最大存储配额(以 GB 为单位)。 |
az_netapp_vol_storage_quota_secondary |
字符串 |
(必填)文件系统允许的最大存储配额(以 GB 为单位)。 |
az_dp_replication_频率 |
字符串 |
(必填)复制频率,支持的值为 |
|
根据建议,此脚本使用 `prevent_destroy`生命周期参数来减轻配置文件中意外丢失数据的可能性。有关 `prevent_destroy`生命周期参数请参阅 Terraform 文档: https://developer.hashicorp.com/terraform/tutorials/state/resource-lifecycle#prevent-resource-deletion 。 |
本节包含各种 Terraform 配置文件,用于在 Azure 上部署/配置启用双协议的 ANF(Azure Netapp 文件)卷。
为了运行模板:
-
克隆存储库。
git clone https://github.com/NetApp/na_cloud_volumes_automation.git
-
导航到所需的文件夹
cd na_cloud_volumes_automation
-
登录到您的 Azure CLI(必须安装 Azure CLI)。
az login
-
更新变量值
vars/azure_anf_dual_protocol.tfvars
。您可以选择使用现有的 vnet 和子网部署 ANF 卷,方法是将变量“vnet_creation_bool”和“subnet_creation_bool”值设置为 false 并提供“subnet_id_for_anf_vol”。您还可以将这些值设置为 true 并创建新的 vnet 和子网,在这种情况下,子网 ID 将自动从新创建的子网中获取。 -
初始化 Terraform 存储库以安装所有先决条件并准备部署。
terraform init
-
使用 terraform verify 命令验证 terraform 文件。
terraform validate
-
对配置进行试运行,以预览部署预期的所有更改。
terraform plan -target="module.anf_dual_protocol" -var-file="vars/azure_anf_dual_protocol.tfvars"
-
运行部署
terraform apply -target="module.anf_dual_protocol" -var-file="vars/azure_anf_dual_protocol.tfvars"
删除部署
terraform destroy
Single Node Instance
启用双协议的单个 ANF 卷的 Terraform 变量。
姓名 | 类型 | 描述 |
---|---|---|
az_location |
字符串 |
(必需)指定资源所在的受支持的 Azure 位置。改变这一点会强制创建新的资源。 |
az_前缀 |
字符串 |
(必需)应创建NetApp卷的资源组的名称。改变这一点会强制创建新的资源。 |
az_vnet_address_space |
字符串 |
(必需)新创建的 vnet 用于 ANF 卷部署的地址空间。 |
az_subnet_address_prefix |
字符串 |
(必需)新创建的 vnet 用于 ANF 卷部署的子网地址前缀。 |
az_volume_path |
字符串 |
(必需)卷的唯一文件路径。创建挂载目标时使用。改变这一点会强制创建新的资源。 |
az_capacity_pool_size |
整型 |
(必填)容量池大小(以 TB 为单位)。 |
az_vnet_creation_bool |
布尔型 |
(必需)将此布尔值设置为 `true`如果您想创建一个新的虚拟网络。将其设置为 `false`使用现有的虚拟网络。 |
az_subnet_creation_bool |
布尔型 |
(必需)将此布尔值设置为 `true`创建新的子网。将其设置为 `false`使用现有子网。 |
az_subnet_id_for_anf_vol |
字符串 |
(必需)如果您决定使用现有子网,请通过设置来提及子网 ID `subnet_creation_bool`为真。如果设置为 false,则保留其默认值。 |
az_netapp_pool_service_level |
字符串 |
(必需)文件系统的目标性能。有效值包括 |
az_netapp_vol_service_level |
字符串 |
(必需)文件系统的目标性能。有效值包括 |
az_netapp_vol_protocol1 |
字符串 |
(必需)以列表形式表示的目标卷协议。支持的单值包括 |
az_netapp_vol_protocol2 |
字符串 |
(必需)以列表形式表示的目标卷协议。支持的单值包括 |
az_netapp_vol_storage_quota |
字符串 |
(必填)文件系统允许的最大存储配额(以 GB 为单位)。 |
az_smb_server_用户名 |
字符串 |
(必需)用于创建 ActiveDirectory 对象的用户名。 |
az_smb_server_password |
字符串 |
(必需)用于创建 ActiveDirectory 对象的用户密码。 |
az_smb_服务器名称 |
字符串 |
(必需)用于创建 ActiveDirectory 对象的服务器名称。 |
az_smb_dns_服务器 |
字符串 |
(必需)用于创建 ActiveDirectory 对象的 DNS 服务器 IP。 |
|
根据建议,此脚本使用 `prevent_destroy`生命周期参数来减轻配置文件中意外丢失数据的可能性。有关 `prevent_destroy`生命周期参数请参阅 Terraform 文档: https://developer.hashicorp.com/terraform/tutorials/state/resource-lifecycle#prevent-resource-deletion 。 |
本节包含各种 Terraform 配置文件,用于从 Azure 上的快照部署/配置 ANF(Azure Netapp 文件)卷。
为了运行模板:
-
克隆存储库。
git clone https://github.com/NetApp/na_cloud_volumes_automation.git
-
导航到所需的文件夹
cd na_cloud_volumes_automation
-
登录到您的 Azure CLI(必须安装 Azure CLI)。
az login
-
更新变量值
vars/azure_anf_volume_from_snapshot.tfvars
。
|
您可以选择使用现有的 vnet 和子网部署 ANF 卷,方法是将变量“vnet_creation_bool”和“subnet_creation_bool”值设置为 false 并提供“subnet_id_for_anf_vol”。您还可以将这些值设置为 true 并创建新的 vnet 和子网,在这种情况下,子网 ID 将自动从新创建的子网中获取。 |
-
初始化 Terraform 存储库以安装所有先决条件并准备部署。
terraform init
-
使用 terraform verify 命令验证 terraform 文件。
terraform validate
-
对配置进行试运行,以预览部署预期的所有更改。
terraform plan -target="module.anf_volume_from_snapshot" -var-file="vars/azure_anf_volume_from_snapshot.tfvars"
-
运行部署
terraform apply -target="module.anf_volume_from_snapshot" -var-file="vars/azure_anf_volume_from_snapshot.tfvars"
删除部署
terraform destroy
Single Node Instance
使用快照的单个 ANF 卷的 Terraform 变量。
姓名 | 类型 | 描述 |
---|---|---|
az_location |
字符串 |
(必需)指定资源所在的受支持的 Azure 位置。改变这一点会强制创建新的资源。 |
az_前缀 |
字符串 |
(必需)应创建NetApp卷的资源组的名称。改变这一点会强制创建新的资源。 |
az_vnet_address_space |
字符串 |
(必需)新创建的 vnet 用于 ANF 卷部署的地址空间。 |
az_subnet_address_prefix |
字符串 |
(必需)新创建的 vnet 用于 ANF 卷部署的子网地址前缀。 |
az_volume_path |
字符串 |
(必需)卷的唯一文件路径。创建挂载目标时使用。改变这一点会强制创建新的资源。 |
az_capacity_pool_size |
整型 |
(必填)容量池大小(以 TB 为单位)。 |
az_vnet_creation_bool |
布尔型 |
(必需)将此布尔值设置为 `true`如果您想创建一个新的虚拟网络。将其设置为 `false`使用现有的虚拟网络。 |
az_subnet_creation_bool |
布尔型 |
(必需)将此布尔值设置为 `true`创建新的子网。将其设置为 `false`使用现有子网。 |
az_subnet_id_for_anf_vol |
字符串 |
(必需)如果您决定使用现有子网,请通过设置来提及子网 ID `subnet_creation_bool`为真。如果设置为 false,则保留其默认值。 |
az_netapp_pool_service_level |
字符串 |
(必需)文件系统的目标性能。有效值包括 |
az_netapp_vol_service_level |
字符串 |
(必需)文件系统的目标性能。有效值包括 |
az_netapp_vol_协议 |
字符串 |
(可选)以列表形式表示的目标卷协议。支持的单值包括 |
az_netapp_vol_storage_quota |
字符串 |
(必填)文件系统允许的最大存储配额(以 GB 为单位)。 |
az_snapshot_id |
字符串 |
(必需)将使用其创建新 ANF 卷的快照 ID。 |
|
根据建议,此脚本使用 `prevent_destroy`生命周期参数来减轻配置文件中意外丢失数据的可能性。有关 `prevent_destroy`生命周期参数请参阅 Terraform 文档: https://developer.hashicorp.com/terraform/tutorials/state/resource-lifecycle#prevent-resource-deletion 。 |
本节包含用于在 Azure 上部署/配置单节点 CVO(Cloud Volumes ONTAP)的各种 Terraform 配置文件。
为了运行模板:
-
克隆存储库。
git clone https://github.com/NetApp/na_cloud_volumes_automation.git
-
导航到所需的文件夹
cd na_cloud_volumes_automation
-
登录到您的 Azure CLI(必须安装 Azure CLI)。
az login
-
更新变量
vars\azure_cvo_single_node_deployment.tfvars
。 -
初始化 Terraform 存储库以安装所有先决条件并准备部署。
terraform init
-
使用 terraform verify 命令验证 terraform 文件。
terraform validate
-
对配置进行试运行,以预览部署预期的所有更改。
terraform plan -target="module.az_cvo_single_node_deployment" -var-file="vars\azure_cvo_single_node_deployment.tfvars"
-
运行部署
terraform apply -target="module.az_cvo_single_node_deployment" -var-file="vars\azure_cvo_single_node_deployment.tfvars"
删除部署
terraform destroy
Single Node Instance
单节点Cloud Volumes ONTAP (CVO) 的 Terraform 变量。
姓名 | 类型 | 描述 |
---|---|---|
刷新令牌 |
字符串 |
(必需) NetApp云管理器的刷新令牌。这可以从 netapp Cloud Central 生成。 |
az_connector_name |
字符串 |
(必需)云管理器连接器的名称。 |
az_connector_location |
字符串 |
(必需)将创建云管理器连接器的位置。 |
az_connector_subscription_id |
字符串 |
(必需)Azure 订阅的 ID。 |
az_connector_company |
字符串 |
(必填)用户的公司名称。 |
az_connector_resource_group |
整型 |
(必需)Azure 中将创建资源的资源组。 |
az_connector_subnet_id |
字符串 |
(必需)虚拟机子网的名称。 |
az_connector_vnet_id |
字符串 |
(必填)虚拟网络的名称。 |
az_connector_network_security_group_name |
字符串 |
(必需)实例的安全组的名称。 |
az_connector_associate_public_ip_address |
字符串 |
(必填)指示是否将公共 IP 地址与虚拟机关联。 |
az_connector_account_id |
字符串 |
(必需)连接器将与之关联的NetApp帐户 ID。如果未提供,Cloud Manager 将使用第一个帐户。如果不存在帐户,Cloud Manager 会创建一个新帐户。您可以在 Cloud Manager 的帐户选项卡中找到帐户 ID,网址为 https://cloudmanager.netapp.com。 |
az_connector_admin_密码 |
字符串 |
(必需)连接器的密码。 |
az_connector_admin_用户名 |
字符串 |
(必需)连接器的用户名。 |
az_cvo_名称 |
字符串 |
(必需) Cloud Volumes ONTAP工作环境的名称。 |
az_cvo_location |
字符串 |
(必填)将创建工作环境的位置。 |
az_cvo_子网ID |
字符串 |
(必需) Cloud Volumes ONTAP系统的子网名称。 |
az_cvo_vnet_id |
字符串 |
(必填)虚拟网络的名称。 |
az_cvo_vnet_resource_group |
字符串 |
(必需)Azure 中与虚拟网络关联的资源组。 |
az_cvo_data_encryption_type |
字符串 |
(必需)工作环境使用的加密类型: |
az_cvo_storage_type |
字符串 |
(必需)第一个数据聚合的存储类型: |
az_cvo_svm_密码 |
字符串 |
(必需) Cloud Volumes ONTAP的管理员密码。 |
az_cvo_workspace_id |
字符串 |
(必需)您要部署Cloud Volumes ONTAP 的Cloud Manager 工作区的 ID。如果未提供,Cloud Manager 将使用第一个工作区。您可以从“工作区”选项卡中找到该 ID https://cloudmanager.netapp.com 。 |
az_cvo_容量层 |
字符串 |
(必需)是否为第一个数据聚合启用数据分层:[ |
az_cvo_writing_speed_state |
字符串 |
(必需) Cloud Volumes ONTAP的写入速度设置: |
az_cvo_ontap_version |
字符串 |
(必需)所需的ONTAP版本。如果“use_latest_version”设置为 true,则忽略。默认使用最新版本。 |
az_cvo_实例类型 |
字符串 |
(必需)要使用的实例类型取决于您选择的许可证类型:探索:[ |
az_cvo_许可证类型 |
字符串 |
(必填)要使用的许可证类型。对于单节点:[ |
az_cvo_nss_account |
字符串 |
(必需)与此Cloud Volumes ONTAP系统一起使用的NetApp支持站点帐户 ID。如果许可证类型为 BYOL 且未提供 NSS 帐户,则 Cloud Manager 将尝试使用第一个现有的 NSS 帐户。 |
az_tenant_id |
字符串 |
(必需)在 Azure 中注册的应用程序/服务主体的租户 ID。 |
az_application_id |
字符串 |
(必需)在 Azure 中注册的应用程序/服务主体的应用程序 ID。 |
az_application_key |
字符串 |
(必需)在 Azure 中注册的应用程序/服务主体的应用程序密钥。 |
本节包含用于在 Azure 上部署/配置 CVO(Cloud Volumes ONTAP)HA(高可用性)的各种 Terraform 配置文件。
为了运行模板:
-
克隆存储库。
git clone https://github.com/NetApp/na_cloud_volumes_automation.git
-
导航到所需的文件夹
cd na_cloud_volumes_automation
-
登录到您的 Azure CLI(必须安装 Azure CLI)。
az login
-
更新变量
vars\azure_cvo_ha_deployment.tfvars
。 -
初始化 Terraform 存储库以安装所有先决条件并准备部署。
terraform init
-
使用 terraform verify 命令验证 terraform 文件。
terraform validate
-
对配置进行试运行,以预览部署预期的所有更改。
terraform plan -target="module.az_cvo_ha_deployment" -var-file="vars\azure_cvo_ha_deployment.tfvars"
-
运行部署
terraform apply -target="module.az_cvo_ha_deployment" -var-file="vars\azure_cvo_ha_deployment.tfvars"
删除部署
terraform destroy
HA Pair Instance
HA 对Cloud Volumes ONTAP (CVO) 的 Terraform 变量。
姓名 | 类型 | 描述 |
---|---|---|
刷新令牌 |
字符串 |
(必需) NetApp云管理器的刷新令牌。这可以从 netapp Cloud Central 生成。 |
az_connector_name |
字符串 |
(必需)云管理器连接器的名称。 |
az_connector_location |
字符串 |
(必需)将创建云管理器连接器的位置。 |
az_connector_subscription_id |
字符串 |
(必需)Azure 订阅的 ID。 |
az_connector_company |
字符串 |
(必填)用户的公司名称。 |
az_connector_resource_group |
整型 |
(必需)Azure 中将创建资源的资源组。 |
az_connector_subnet_id |
字符串 |
(必需)虚拟机子网的名称。 |
az_connector_vnet_id |
字符串 |
(必填)虚拟网络的名称。 |
az_connector_network_security_group_name |
字符串 |
(必需)实例的安全组的名称。 |
az_connector_associate_public_ip_address |
字符串 |
(必填)指示是否将公共 IP 地址与虚拟机关联。 |
az_connector_account_id |
字符串 |
(必需)连接器将与之关联的NetApp帐户 ID。如果未提供,Cloud Manager 将使用第一个帐户。如果不存在帐户,Cloud Manager 会创建一个新帐户。您可以在 Cloud Manager 的帐户选项卡中找到帐户 ID,网址为 https://cloudmanager.netapp.com。 |
az_connector_admin_密码 |
字符串 |
(必需)连接器的密码。 |
az_connector_admin_用户名 |
字符串 |
(必需)连接器的用户名。 |
az_cvo_名称 |
字符串 |
(必需) Cloud Volumes ONTAP工作环境的名称。 |
az_cvo_location |
字符串 |
(必填)将创建工作环境的位置。 |
az_cvo_子网ID |
字符串 |
(必需) Cloud Volumes ONTAP系统的子网名称。 |
az_cvo_vnet_id |
字符串 |
(必填)虚拟网络的名称。 |
az_cvo_vnet_resource_group |
字符串 |
(必需)Azure 中与虚拟网络关联的资源组。 |
az_cvo_data_encryption_type |
字符串 |
(必需)工作环境使用的加密类型: |
az_cvo_storage_type |
字符串 |
(必需)第一个数据聚合的存储类型: |
az_cvo_svm_密码 |
字符串 |
(必需) Cloud Volumes ONTAP的管理员密码。 |
az_cvo_workspace_id |
字符串 |
(必需)您要部署Cloud Volumes ONTAP 的Cloud Manager 工作区的 ID。如果未提供,Cloud Manager 将使用第一个工作区。您可以从“工作区”选项卡中找到该 ID https://cloudmanager.netapp.com 。 |
az_cvo_容量层 |
字符串 |
(必需)是否为第一个数据聚合启用数据分层:[ |
az_cvo_writing_speed_state |
字符串 |
(必需) Cloud Volumes ONTAP的写入速度设置: |
az_cvo_ontap_version |
字符串 |
(必需)所需的ONTAP版本。如果“use_latest_version”设置为 true,则忽略。默认使用最新版本。 |
az_cvo_实例类型 |
字符串 |
(必需)要使用的实例类型取决于您选择的许可证类型:探索:[ |
az_cvo_许可证类型 |
字符串 |
(必填)要使用的许可证类型。对于单节点:[ |
az_cvo_nss_account |
字符串 |
(必需)与此Cloud Volumes ONTAP系统一起使用的NetApp支持站点帐户 ID。如果许可证类型为 BYOL 且未提供 NSS 帐户,则 Cloud Manager 将尝试使用第一个现有的 NSS 帐户。 |
az_tenant_id |
字符串 |
(必需)在 Azure 中注册的应用程序/服务主体的租户 ID。 |
az_application_id |
字符串 |
(必需)在 Azure 中注册的应用程序/服务主体的应用程序 ID。 |
az_application_key |
字符串 |
(必需)在 Azure 中注册的应用程序/服务主体的应用程序密钥。 |
GCP
本节包含各种 Terraform 配置文件,用于在 GCP(Google Cloud Platform)上部署/配置单节点NetApp CVO(Cloud Volumes ONTAP)。
为了运行模板:
-
克隆存储库。
git clone https://github.com/NetApp/na_cloud_volumes_automation.git
-
导航到所需的文件夹
cd na_cloud_volumes_automation/
-
将 GCP 身份验证密钥 JSON 文件保存在目录中。
-
更新变量值
vars/gcp_cvo_single_node_deployment.tfvar
您可以通过将变量“gcp_connector_deploy_bool”值设置为 true/false 来选择部署连接器。 -
初始化 Terraform 存储库以安装所有先决条件并准备部署。
terraform init
-
使用 terraform verify 命令验证 terraform 文件。
terraform validate
-
对配置进行试运行,以预览部署预期的所有更改。
terraform plan -target="module.gco_single_node" -var-file="vars/gcp_cvo_single_node_deployment.tfvars"
-
运行部署
terraform apply -target="module.gcp_single_node" -var-file="vars/gcp_cvo_single_node_deployment.tfvars"
删除部署
terraform destroy
Connector
用于 CVO 部署的NetApp GCP 连接器实例的 Terraform 变量。
姓名 | 类型 | 描述 |
---|---|---|
gcp_connector_deploy_bool |
布尔值 |
(必需)检查连接器部署。 |
gcp_connector_name |
字符串 |
(必需)云管理器连接器的名称。 |
gcp_connector_project_id |
字符串 |
(必需)将创建连接器的 GCP project_id。 |
gcp_connector_zone |
字符串 |
(必需)将创建连接器的 GCP 区域。 |
gcp_connector_company |
字符串 |
(必填)用户的公司名称。 |
gcp_connector_service_account_email |
字符串 |
(必需)连接器实例的 service_account 的电子邮件。此服务帐户用于允许连接器创建 Cloud Volume ONTAP。 |
gcp_connector_service_account_path |
字符串 |
(必需)用于 GCP 授权目的的 service_account JSON 文件的本地路径。此服务帐户用于在 GCP 中创建连接器。 |
gcp_connector_account_id |
字符串 |
(可选)连接器将与之关联的NetApp帐户 ID。如果未提供,Cloud Manager 将使用第一个帐户。如果不存在帐户,Cloud Manager 会创建一个新帐户。您可以在 Cloud Manager 的帐户选项卡中找到帐户 ID,网址为 https://cloudmanager.netapp.com。 |
Single Node Instance
GCP 上单个NetApp CVO 实例的 Terraform 变量。
姓名 | 类型 | 描述 |
---|---|---|
gcp_cvo_名称 |
字符串 |
(必需) Cloud Volumes ONTAP工作环境的名称。 |
gcp_cvo_项目ID |
字符串 |
(必填)GCP 项目的 ID。 |
gcp_cvo_zone |
字符串 |
(必填)将创建工作环境的区域的区域。 |
gcp_cvo_gcp_service_account |
字符串 |
(必需)gcp_service_account 电子邮件,以便将冷数据分层到 Google Cloud Storage。 |
gcp_cvo_svm_密码 |
字符串 |
(必需) Cloud Volumes ONTAP的管理员密码。 |
gcp_cvo_workspace_id |
字符串 |
(可选)您要部署Cloud Volumes ONTAP 的Cloud Manager 工作区的 ID。如果未提供,Cloud Manager 将使用第一个工作区。您可以从“工作区”选项卡中找到该 ID https://cloudmanager.netapp.com 。 |
gcp_cvo_许可证类型 |
字符串 |
(可选)要使用的许可证类型。对于单节点:['capacity-paygo', 'gcp-cot-explore-paygo', 'gcp-cot-standard-paygo', 'gcp-cot-premium-paygo', 'gcp-cot-premium-byol'],对于 HA:['ha-capacity-paygo', 'gcp-ha-cot-explore-paygo', 'gcp-ha-cot-standard-paygo', 'gcp-ha-cot-premium-paygo', 'gcp-ha-cot-premium-byol']。单节点默认为‘capacity-paygo’,HA默认为‘ha-capacity-paygo’。 |
gcp_cvo_capacity_package_name |
字符串 |
(可选)容量包名称:['Essential', 'Professional', 'Freemium']。默认为‘必需’。 |
本节包含各种 Terraform 配置文件,用于在 GCP(Google Cloud Platform)上以高可用性对形式部署/配置NetApp CVO(Cloud Volumes ONTAP)。
为了运行模板:
-
克隆存储库。
git clone https://github.com/NetApp/na_cloud_volumes_automation.git
-
导航到所需的文件夹
cd na_cloud_volumes_automation/
-
将 GCP 身份验证密钥 JSON 文件保存在目录中。
-
更新变量值
vars/gcp_cvo_ha_deployment.tfvars
。您可以通过将变量“gcp_connector_deploy_bool”值设置为 true/false 来选择部署连接器。 -
初始化 Terraform 存储库以安装所有先决条件并准备部署。
terraform init
-
使用 terraform verify 命令验证 terraform 文件。
terraform validate
-
对配置进行试运行,以预览部署预期的所有更改。
terraform plan -target="module.gcp_ha" -var-file="vars/gcp_cvo_ha_deployment.tfvars"
-
运行部署
terraform apply -target="module.gcp_ha" -var-file="vars/gcp_cvo_ha_deployment.tfvars"
删除部署
terraform destroy
Connector
用于 CVO 部署的NetApp GCP 连接器实例的 Terraform 变量。
姓名 | 类型 | 描述 |
---|---|---|
gcp_connector_deploy_bool |
布尔值 |
(必需)检查连接器部署。 |
gcp_connector_name |
字符串 |
(必需)云管理器连接器的名称。 |
gcp_connector_project_id |
字符串 |
(必需)将创建连接器的 GCP project_id。 |
gcp_connector_zone |
字符串 |
(必需)将创建连接器的 GCP 区域。 |
gcp_connector_company |
字符串 |
(必填)用户的公司名称。 |
gcp_connector_service_account_email |
字符串 |
(必需)连接器实例的 service_account 的电子邮件。此服务帐户用于允许连接器创建 Cloud Volume ONTAP。 |
gcp_connector_service_account_path |
字符串 |
(必需)用于 GCP 授权目的的 service_account JSON 文件的本地路径。此服务帐户用于在 GCP 中创建连接器。 |
gcp_connector_account_id |
字符串 |
(可选)连接器将与之关联的NetApp帐户 ID。如果未提供,Cloud Manager 将使用第一个帐户。如果不存在帐户,Cloud Manager 会创建一个新帐户。您可以在 Cloud Manager 的帐户选项卡中找到帐户 ID,网址为 https://cloudmanager.netapp.com。 |
HA Pair
GCP 上 HA 对中NetApp CVO 实例的 Terraform 变量。
姓名 | 类型 | 描述 |
---|---|---|
gcp_cvo_is_ha |
布尔值 |
(可选)指示工作环境是否为 HA 对 [true,false]。默认值为 false。 |
gcp_cvo_名称 |
字符串 |
(必需) Cloud Volumes ONTAP工作环境的名称。 |
gcp_cvo_项目ID |
字符串 |
(必填)GCP 项目的 ID。 |
gcp_cvo_zone |
字符串 |
(必填)将创建工作环境的区域的区域。 |
gcp_cvo_node1_zone |
字符串 |
(可选)节点 1 的区域。 |
gcp_cvo_node2_zone |
字符串 |
(可选)节点 2 的区域。 |
gcp_cvo_mediator_zone |
字符串 |
(可选)调解员区域。 |
gcp_cvo_vpc_id |
字符串 |
(可选)VPC 的名称。 |
gcp_cvo_subnet_id |
字符串 |
(可选) Cloud Volumes ONTAP子网的名称。默认值为:“默认”。 |
gcp_cvo_vpc0_node_and_data_connectivity |
字符串 |
(可选)nic1 的 VPC 路径,节点和数据连接所需。如果使用共享 VPC,则必须提供 netwrok_project_id。 |
gcp_cvo_vpc1_cluster_connectivity |
字符串 |
(可选)nic2 的 VPC 路径,集群连接所需。 |
gcp_cvo_vpc2_ha_连接 |
字符串 |
(可选)nic3 的 VPC 路径,HA 连接所需。 |
gcp_cvo_vpc3_数据复制 |
字符串 |
(可选)nic4 的 VPC 路径,数据复制所需。 |
gcp_cvo_subnet0_node_and_data_connectivity |
字符串 |
(可选)nic1 的子网路径,节点和数据连接所需。如果使用共享 VPC,则必须提供 netwrok_project_id。 |
gcp_cvo_subnet1_cluster_connectivity |
字符串 |
(可选)nic2 的子网路径,集群连接所需。 |
gcp_cvo_subnet2_ha_connectivity |
字符串 |
(可选)nic3 的子网路径,HA 连接所需。 |
gcp_cvo_subnet3_数据复制 |
字符串 |
(可选)nic4 的子网路径,数据复制所需。 |
gcp_cvo_gcp_service_account |
字符串 |
(必需)gcp_service_account 电子邮件,以便将冷数据分层到 Google Cloud Storage。 |
gcp_cvo_svm_密码 |
字符串 |
(必需) Cloud Volumes ONTAP的管理员密码。 |
gcp_cvo_workspace_id |
字符串 |
(可选)您要部署Cloud Volumes ONTAP 的Cloud Manager 工作区的 ID。如果未提供,Cloud Manager 将使用第一个工作区。您可以从“工作区”选项卡中找到该 ID https://cloudmanager.netapp.com 。 |
gcp_cvo_许可证类型 |
字符串 |
(可选)要使用的许可证类型。对于单节点:['capacity-paygo', 'gcp-cot-explore-paygo', 'gcp-cot-standard-paygo', 'gcp-cot-premium-paygo', 'gcp-cot-premium-byol'],对于 HA:['ha-capacity-paygo', 'gcp-ha-cot-explore-paygo', 'gcp-ha-cot-standard-paygo', 'gcp-ha-cot-premium-paygo', 'gcp-ha-cot-premium-byol']。单节点默认为‘capacity-paygo’,HA默认为‘ha-capacity-paygo’。 |
gcp_cvo_capacity_package_name |
字符串 |
(可选)容量包名称:['Essential', 'Professional', 'Freemium']。默认为‘必需’。 |
gcp_cvo_gcp_volume_size |
字符串 |
(可选)第一个数据聚合的 GCP 卷大小。对于 GB,单位可以是:[100 或 500]。对于 TB,单位可以是:[1,2,4,8]。默认值为 '1' 。 |
gcp_cvo_gcp_volume_size_unit |
字符串 |
(可选)['GB' 或 'TB']。默认值为“TB”。 |
本节包含各种 Terraform 配置文件,用于在 GCP(Google Cloud Platform)上部署/配置NetApp Volumes(Google Cloud NetApp Volumes)。
为了运行模板:
-
克隆存储库。
git clone https://github.com/NetApp/na_cloud_volumes_automation.git
-
导航到所需的文件夹
cd na_cloud_volumes_automation/
-
将 GCP 身份验证密钥 JSON 文件保存在目录中。
-
更新变量值
vars/gcp_cvs_volume.tfvars
。 -
初始化 Terraform 存储库以安装所有先决条件并准备部署。
terraform init
-
使用 terraform verify 命令验证 terraform 文件。
terraform validate
-
对配置进行试运行,以预览部署预期的所有更改。
terraform plan -target="module.gcp_cvs_volume" -var-file="vars/gcp_cvs_volume.tfvars"
-
运行部署
terraform apply -target="module.gcp_cvs_volume" -var-file="vars/gcp_cvs_volume.tfvars"
删除部署
terraform destroy
NetApp Volumes Volume
NetApp GCP NetApp Volumes 的 Terraform 变量。
姓名 | 类型 | 描述 |
---|---|---|
gcp_cvs_name |
字符串 |
(必需) NetApp Volumes 卷的名称。 |
gcp_cvs_项目 ID |
字符串 |
(必需)将创建NetApp Volumes 的 GCP project_id。 |
gcp_cvs_gcp_service_account_path |
字符串 |
(必需)用于 GCP 授权目的的 service_account JSON 文件的本地路径。此服务帐户用于在 GCP 中创建NetApp Volumes 卷。 |
gcp_cvs_region |
字符串 |
(必需)将创建NetApp Volumes 的 GCP 区域。 |
gcp_cvs_network |
字符串 |
(必需)卷的网络 VPC。 |
gcp_cvs_size |
整型 |
(必需)卷的大小介于 1024 到 102400 之间(以 GiB 为单位)。 |
gcp_cvs_volume_path |
字符串 |
(可选)卷的卷路径名称。 |
gcp_cvs_protocol_types |
字符串 |
(必需)卷的 protocol_type。对于 NFS 使用“NFSv3”或“NFSv4”,对于 SMB 使用“CIFS”或“SMB”。 |