Skip to main content
NetApp Solutions
本繁體中文版使用機器翻譯,譯文僅供參考,若與英文版本牴觸,應以英文版本為準。

透過Terraform實現雲端Volume自動化

貢獻者

本解決方案使用ONTAP Terraform模組、記錄AWS(CVO單一節點、CVO HA和FSX0)和Azure(CVO單一節點、CVO HA和ANF)上的雲端Volume自動化部署。您可以在找到該程式碼 https://github.com/NetApp/na_cloud_volumes_automation

先決條件

  1. Terraform >= 0.13

  2. Cloud Manager帳戶

  3. 雲端供應商帳戶:AWS、Azure

  4. 主機(Terraform支援的任何作業系統)

供應商文件

Terraform Cloud Manager供應商的文件可在下列網址取得: "https://registry.terraform.io/providers/NetApp/netapp-cloudmanager/latest/docs"

控制供應商版本

請注意、您也可以控制供應商版本。這是由Terraform組態中的必要供應商區塊所控制。

語法如下:

terraform {
  required_providers {
    netapp-cloudmanager = {
      source = "NetApp/netapp-cloudmanager"
      version = ">= 23.0.0"
    }
  }
}
Cli

深入瞭解供應商版本控制。

執行特定模組

AWS
Terraform組態檔案、可在AWS上部署NetApp CVO(單一節點執行個體)

本節包含各種Terraform組態檔案、可在Cloud Volumes ONTAP AWS(Amazon Web Services)上部署/設定單一節點NetApp CVO(英文)。

程序

若要執行範本:

  1. 複製儲存庫。

        git clone https://github.com/NetApp/na_cloud_volumes_automation.git
    Cli
  2. 瀏覽至所需的資料夾

        cd na_cloud_volumes_automation/
    Cli
  3. 從CLI設定AWS認證資料。

        aws configure
    Cli
    • AWS存取金鑰ID [無]:存取金鑰

    • AWS秘密存取金鑰[無]:秘密金鑰

    • 預設區域名稱[無]:us-west-2

    • 預設輸出格式[無]:JSON

  4. 更新「vars/AWS/CVO_sine_node_deployment.tfvars」中的變數值

    註 您可以將變數「AWs_connector部署布爾」值設為true/false、以選擇部署連接器。
  5. 初始化Terraform儲存庫、以安裝所有先決條件並準備部署。

        terraform init
    Cli
  6. 使用Terraform validate命令驗證Terraform檔案。

        terraform validate
    Cli
  7. 執行組態的乾燥執行、預覽部署所預期的所有變更。

        terraform plan -target="module.aws_sn" -var-file="vars/aws_cvo_single_node_deployment.tfvars"
    Cli
  8. 執行部署

        terraform apply -target="module.aws_sn" -var-file="vars/aws_cvo_single_node_deployment.tfvars"
    Cli

以刪除部署

    terraform destroy
Cli
收件者:

《Connector》(連接器)

NetApp AWS連接器執行個體的Terraform變數、適用於CVO部署。

名稱 類型 說明

* AWs_connector部署布爾*

布爾

(必填)檢查連接器部署。

* AWS連接器名稱*

字串

(必填)Cloud Manager Connector的名稱。

* AWS連接器區域*

字串

(必填)建立Cloud Manager Connector的區域。

* AWS連接器_key_name*

字串

(必填)連接器執行個體要使用的金鑰配對名稱。

* AWs_connector公司*

字串

(必填)使用者的公司名稱。

* AWs_connector執行個體類型*

字串

(必要)執行個體類型(例如T3.xLarge)。至少需要4個CPU和16 GB記憶體。

* AWs_connector子網路ID *

字串

(必要)執行個體的子網路ID。

* AWs_connector安全性群組ID *

字串

(必填)執行個體的安全性群組ID、可提供以'、'分隔的多個安全性群組。

* AWS連接器_iam_instance_profile名稱*

字串

(必填)Connector執行個體設定檔的名稱。

* AWS連接器帳戶ID *

字串

(可選)Connector將關聯的NetApp帳戶ID。如果未提供、Cloud Manager會使用第一個帳戶。如果沒有帳戶存在、Cloud Manager會建立新帳戶。您可以在Cloud Manager的帳戶索引標籤中找到帳戶ID、網址為 https://cloudmanager.netapp.com

* AWS連接器_public_ip_bool *

布爾

(選用)表示是否要將公用IP位址與執行個體建立關聯。如果未提供、則會根據子網路的組態來進行關聯。

單一節點執行個體

單一NetApp CVO執行個體的Terraform變數。

名稱 類型 說明

* CVO名稱*

字串

(必填)Cloud Volumes ONTAP 運作環境的名稱。

* CVO_region*

字串

(必填)將建立工作環境的區域。

* CVO_SUBNET_ID*

字串

(必填)要建立工作環境的子網路ID。

* CVO_VPC_id*

字串

(選用)將建立工作環境的VPC ID。如果未提供此引數、則會使用提供的子網路ID來計算VPC。

* CVO_SVM_Password*

字串

(必填)Cloud Volumes ONTAP 用於執行功能的管理員密碼。

* CVO寫入速度狀態*

字串

(選用)Cloud Volumes ONTAP 適用於下列項目的寫入速度設定:['正常'、'高速'。預設值為「正常」。

Azure
Terraform組態檔案、可在Azure上部署Anf Volume

本節包含各種Terraform組態檔案、可在Azure NetApp Files Azure上部署/設定anf(簡稱「還原」)Volume。

程序

若要執行範本:

  1. 複製儲存庫。

        git clone https://github.com/NetApp/na_cloud_volumes_automation.git
    Cli
  2. 瀏覽至所需的資料夾

        cd na_cloud_volumes_automation
    Cli
  3. 登入Azure CLI(必須安裝Azure CLI)。

        az login
    Cli
  4. 更新「vars/azure_anf.tfvars」中的變數值。

    註 您可以選擇使用現有的vnet和子網路來部署ANF磁碟區、方法是將變數「vnet_creation_bool」和「subnet_creation_bool」值設為假、並提供「subnet_id_for_anf_vol」。您也可以將這些值設為true、然後建立新的vnet和子網路、在這種情況下、子網路ID會自動取自新建立的子網路。
  5. 初始化Terraform儲存庫、以安裝所有先決條件並準備部署。

        terraform init
    Cli
  6. 使用Terraform validate命令驗證Terraform檔案。

        terraform validate
    Cli
  7. 執行組態的乾燥執行、預覽部署所預期的所有變更。

        terraform plan -target="module.anf" -var-file="vars/azure_anf.tfvars"
    Cli
  8. 執行部署

        terraform apply -target="module.anf" -var-file="vars/azure_anf.tfvars"
    Cli

以刪除部署

  terraform destroy
Cli
收件者:

單一節點執行個體

單一NetApp ANF Volume的Terraform變數。

名稱 類型 說明

* AZ位置*

字串

(必填)指定資源所在的受支援Azure位置。變更這項設定會強制建立新資源。

* AZ_prefix*

字串

(必填)應建立NetApp Volume的資源群組名稱。變更這項設定會強制建立新資源。

* AZ_vnet_address_space*

字串

(必要)新建立的vnet用於ANF Volume部署的位址空間。

* AZ_SUBNET_address_prefix*

字串

(必填)新建立的vnet用於anf Volume部署的子網路位址首碼。

* AZ Volume路徑*

字串

(必要)磁碟區的唯一檔案路徑。用於建立掛載目標。變更這項設定會強制建立新資源。

* AZ容量_Pool_Size*

整數

(必填)容量資源池大小、以TB為範圍。

* AZ vnet_creation_bbool *

布林值

(必填)如果您要建立新的vnet、請將此布林值設為「true」。將其設為「假」以使用現有的vnet。

* AZ子網路_建立_ bool *

布林值

(必填)將布林值設為「true」、以建立新的子網路。將其設為「假」以使用現有的子網路。

* AZ子網路_id_for_anf_vol*

字串

(必填)如果您決定使用現有子網路、請提及子網路ID、方法是將「shubnet_creation_bool」設為true。如果設為假、請保留預設值。

* AZ _NetApp_Pool_service_level *

字串

(必要)檔案系統的目標效能。有效值包括"Premium"、"tandard"或"Ultra"。

* AZ _NetApp_vol_service_level *

字串

(必要)檔案系統的目標效能。有效值包括"Premium"、"tandard"或"Ultra"。

* AZ_NetApp_vol_PROPON*

字串

(選用)以清單形式表示的目標Volume傳輸協定。支援的單一值包括「CIFS」、「NFSv3」或「NFSv4.1」。如果未定義參數、則預設為NFSv3。變更這項設定會強制建立新資源、而且資料將會遺失。

* AZ_NetApp_vol_SECID_風格*

字串

(選用)Volume安全型態、接受的值為「Unix」或「NTFS」。如果未提供、則會建立單一傳輸協定磁碟區、如果是「NFSv3」或「NFSv4.1」磁碟區、如果是「CIFS」、則預設為「NTFS」。如果未提供雙傳輸協定磁碟區、其值將為「NTFS」。

* AZ_NetApp_vol_storage儲存配額*

字串

(必填)檔案系統允許的最大儲存配額(GB)。

註 根據建議、此指令碼會使用 prevent_destroy 生命週期引數、以降低組態檔案中意外遺失資料的可能性。如需的詳細資訊、請參閱 prevent_destroy 生命週期引數請參閱 terraform 文件: https://developer.hashicorp.com/terraform/tutorials/state/resource-lifecycle#prevent-resource-deletion
GCP
Terraform組態檔案、可在GCP上部署NetApp CVO(單一節點執行個體)

本節包含各種Terraform組態檔案、可在Cloud Volumes ONTAP GCP(Google Cloud Platform)上部署/設定單一節點NetApp CVO(英文)。

程序

若要執行範本:

  1. 複製儲存庫。

        git clone https://github.com/NetApp/na_cloud_volumes_automation.git
    Cli
  2. 瀏覽至所需的資料夾

        cd na_cloud_volumes_automation/
    Cli
  3. 將GCP驗證金鑰Json檔案儲存在目錄中。

  4. 更新「vars/gcp_CVO_sine_node_deployment.tfvars」中的變數值

    註 您可以將變數「GCP_connector部署布爾」值設為true/false、以選擇部署連接器。
  5. 初始化Terraform儲存庫、以安裝所有先決條件並準備部署。

        terraform init
    Cli
  6. 使用Terraform validate命令驗證Terraform檔案。

        terraform validate
    Cli
  7. 執行組態的乾燥執行、預覽部署所預期的所有變更。

        terraform plan -target="module.gco_single_node" -var-file="vars/gcp_cvo_single_node_deployment.tfvars"
    Cli
  8. 執行部署

        terraform apply -target="module.gcp_single_node" -var-file="vars/gcp_cvo_single_node_deployment.tfvars"
    Cli

以刪除部署

    terraform destroy
Cli
收件者:

《Connector》(連接器)

NetApp GCP連接器執行個體的Terraform變數、適用於CVO部署。

名稱 類型 說明

* GCP_connector部署布爾*

布爾

(必填)檢查連接器部署。

* GCP_connector名稱*

字串

(必填)Cloud Manager Connector的名稱。

* GCP_connector專案_id*

字串

(必填)要建立連接器的GCP專案ID。

* GCP_connector區域*

字串

(必填)要建立連接器的GCP區域。

* GCP_connector公司*

字串

(必填)使用者的公司名稱。

* GCP_connector服務帳戶電子郵件*

字串

(必填)連接器執行個體的service_account電子郵件。此服務帳戶可讓Connector建立Cloud Volume ONTAP 。

* GCP_connector服務帳戶路徑*

字串

(必填)用於GCP授權的service_account Json檔案本機路徑。此服務帳戶用於在GCP中建立Connector。

* GCP_connector帳戶ID*

字串

(可選)Connector將關聯的NetApp帳戶ID。如果未提供、Cloud Manager會使用第一個帳戶。如果沒有帳戶存在、Cloud Manager會建立新帳戶。您可以在Cloud Manager的帳戶索引標籤中找到帳戶ID、網址為 https://cloudmanager.netapp.com

單一節點執行個體

GCP上單一NetApp CVO執行個體的Terraform變數。

名稱 類型 說明

* GCP_CVO_name*

字串

(必填)Cloud Volumes ONTAP 運作環境的名稱。

* GCP_CVO_PROPON_ID*

字串

(必填)GCP專案的ID。

* GCP_CVO_ZONE *

字串

(必填)將建立工作環境的區域。

* GCP_CVO_GCP_service_account*

字串

(必填)GCP_service_Account電子郵件、以便將冷資料分層至Google Cloud Storage。

* GCP_CVO_SVM_password*

字串

(必填)Cloud Volumes ONTAP 用於執行功能的管理員密碼。

* GCP_CVO_Workby_id*

字串

(選用)您要部署Cloud Volumes ONTAP 的Cloud Manager工作區ID。如果未提供、Cloud Manager會使用第一個工作區。您可以在的「工作區」索引標籤中找到ID https://cloudmanager.netapp.com

* GCP_CVO授權類型*

字串

(選用)要使用的授權類型。對於單一節點:['容量-付費'、'GCP-cot-explore-paygo '、'GCP-cot-Standard-paygo '、'GCP-cot-paygo、'GCP-cot-payol'、]、 HA:['ha-cape-payga'、'gcp-ha-cot-explore-payga'、'gcp-ha-cot-Standard-payga'、'gcp-ha-cot-payga'、'gcp-ha-cot-payol']。單一節點的預設值為「cape-paygo」、HA的預設值為「ha-cape-paygo」。

* GCP_CVO_capid_package_name*

字串

(選用)容量套件名稱:「Essential」、「Professional」、「Freemium」。預設為「Essential」。