Skip to main content
NetApp Solutions
O português é fornecido por meio de tradução automática para sua conveniência. O inglês precede o português em caso de inconsistências.

Automação do Cloud volumes via Terraform

Colaboradores

Essa solução documenta as implantações automatizadas do Cloud volumes na AWS (nó único do CVO, CVO HA e FSX ONTAP) e no Azure (nó único do CVO, CVO HA e ANF) usando módulos do Terraform. O código pode ser encontrado em https://github.com/NetApp/na_cloud_volumes_automation

Pré-requisitos

  1. Terraform > 0,13

  2. Conta do Cloud Manager

  3. Conta de provedor de nuvem – AWS, Azure

  4. Máquina host (qualquer sistema operacional suportado pelo Terraform)

Documentação do fornecedor

A documentação do fornecedor Terraform para Cloud Manager está disponível em:"https://registry.terraform.io/providers/NetApp/netapp-cloudmanager/latest/docs"

Controlar a versão do fornecedor

Observe que você também pode controlar a versão do provedor. Isso é controlado por um bloco required_providers na configuração do Terraform.

A sintaxe é a seguinte:

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

Leia mais sobre controle de versão do provedor.

Executando módulos específicos

AWS
Arquivos de configuração do Terraform para implantação do NetApp CVO (instância de nó único) na AWS

Esta seção contém vários arquivos de configuração do Terraform para implantar/configurar o NetApp CVO (Cloud Volumes ONTAP) de nó único na AWS (Amazon Web Services).

Procedimento

Para executar o modelo:

  1. Clone o repositório.

        git clone https://github.com/NetApp/na_cloud_volumes_automation.git
    Cli
  2. Navegue até a pasta desejada

        cd na_cloud_volumes_automation/
    Cli
  3. Configure as credenciais da AWS a partir da CLI.

        aws configure
    Cli
    • ID da chave de acesso da AWS [None]: Accesskey

    • Chave de acesso secreta da AWS [None]: secretkey

    • Nome da região padrão [nenhum]: US-West-2

    • Formato de saída padrão [None]: json

  4. Atualize os valores da variável em vars/aws_cvo_single_node_deployment.tfvar

    Observação Você pode optar por implantar o conetor definindo o valor da variável "aws_Connector_deploy_bool" como true/false.
  5. Inicialize o repositório do Terraform para instalar todos os pré-requisitos e se preparar para implantação.

        terraform init
    Cli
  6. Verifique os arquivos do Terraform usando o comando Terraform Validate.

        terraform validate
    Cli
  7. Faça uma execução seca da configuração para obter uma prévia de todas as alterações esperadas pela implantação.

        terraform plan -target="module.aws_sn" -var-file="vars/aws_cvo_single_node_deployment.tfvars"
    Cli
  8. Execute a implantação

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

Para excluir a implantação

    terraform destroy
Cli
Receitas:

Connector

Variáveis Terraform para instância do NetApp AWS Connector para implantação do CVO.

Nome Tipo Descrição

aws_connector_deploy_bool

Bool

(Necessário) Verifique se há ativação do conetor.

aws_connector_name

Cadeia de carateres

(Obrigatório) o nome do conetor do Cloud Manager.

aws_connector_region

Cadeia de carateres

(Obrigatório) a região onde o conetor do Cloud Manager será criado.

aws_connector_key_name

Cadeia de carateres

(Obrigatório) o nome do par de chaves a utilizar para a instância do conetor.

aws_connector_company

Cadeia de carateres

(Obrigatório) o nome da empresa do utilizador.

aws_connector_instance_type

Cadeia de carateres

(Obrigatório) o tipo de instância (por exemplo, T3.xlarge). Pelo menos 4 CPU e 16 GB de memória são necessários.

aws_connector_subnet_id

Cadeia de carateres

(Obrigatório) o ID da sub-rede para a instância.

aws_connector_security_group_id

Cadeia de carateres

(Obrigatório) o ID do grupo de segurança para a instância, vários grupos de segurança podem ser fornecidos separados por ','.

aws_connector_iam_instance_profile_name

Cadeia de carateres

(Obrigatório) o nome do perfil de instância para o conetor.

aws_connector_account_id

Cadeia de carateres

(Opcional) o ID da conta do NetApp ao qual o conetor será associado. Se não for fornecido, o Cloud Manager usará a primeira conta. Se nenhuma conta existir, o Cloud Manager criará uma nova conta. Você pode encontrar o ID da conta na guia conta do Cloud Manager em https://cloudmanager.netapp.com.

aws_connector_public_ip_bool

Bool

(Opcional) indica se deve associar um endereço IP público à instância. Se não for fornecida, a associação será feita com base na configuração da sub-rede.

Single Node Instance

Variáveis Terraform para instância única do NetApp CVO.

Nome Tipo Descrição

cvo_name

Cadeia de carateres

(Obrigatório) o nome do ambiente de trabalho Cloud Volumes ONTAP.

cvo_region

Cadeia de carateres

(Obrigatório) a região onde será criado o ambiente de trabalho.

cvo_subnet_id

Cadeia de carateres

(Obrigatório) o id de sub-rede onde o ambiente de trabalho será criado.

cvo_vpc_id

Cadeia de carateres

(Opcional) o ID da VPC onde o ambiente de trabalho será criado. Se esse argumento não for fornecido, a VPC será calculada usando o ID de sub-rede fornecido.

cvo_svm_password

Cadeia de carateres

(Obrigatório) a senha de administrador do Cloud Volumes ONTAP.

cvo_writing_speed_state

Cadeia de carateres

(Opcional) a definição de velocidade de escrita para Cloud Volumes ONTAP: ['NORMAL','ALTA']. A predefinição é "NORMAL".

Azure
Arquivos de configuração do Terraform para implantação do volume do ANF no Azure

Esta seção contém vários arquivos de configuração do Terraform para implantar/configurar o volume do ANF (Azure NetApp Files) no Azure.

Procedimento

Para executar o modelo:

  1. Clone o repositório.

        git clone https://github.com/NetApp/na_cloud_volumes_automation.git
    Cli
  2. Navegue até a pasta desejada

        cd na_cloud_volumes_automation
    Cli
  3. Faça login na sua CLI do Azure (a CLI do Azure deve estar instalada).

        az login
    Cli
  4. Atualize os valores da variável em vars/azure_anf.tfvars.

    Observação Você pode optar por implantar o volume do ANF usando um vnet e uma sub-rede existentes definindo a variável "vnet_creation_bool" e o valor "subnet_creation_bool" como false e fornecendo o valor "subnet_id_for_anf_vol". Você também pode definir esses valores como verdadeiro e criar um novo vnet e sub-rede. Nesse caso, o ID da sub-rede será automaticamente retirado da sub-rede recém-criada.
  5. Inicialize o repositório do Terraform para instalar todos os pré-requisitos e se preparar para implantação.

        terraform init
    Cli
  6. Verifique os arquivos do Terraform usando o comando Terraform Validate.

        terraform validate
    Cli
  7. Faça uma execução seca da configuração para obter uma prévia de todas as alterações esperadas pela implantação.

        terraform plan -target="module.anf" -var-file="vars/azure_anf.tfvars"
    Cli
  8. Execute a implantação

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

Para excluir a implantação

  terraform destroy
Cli
Receitas:

Single Node Instance

Variáveis Terraform para volume único do NetApp ANF.

Nome Tipo Descrição

az_location

Cadeia de carateres

(Obrigatório) especifica a localização do Azure suportada onde o recurso existe. Mudar isso força um novo recurso a ser criado.

az_prefix

Cadeia de carateres

(Obrigatório) o nome do grupo de recursos onde o volume NetApp deve ser criado. Mudar isso força um novo recurso a ser criado.

az_vnet_address_space

Cadeia de carateres

(Obrigatório) o espaço de endereço a ser usado pelo vnet recém-criado para implantação de volume do ANF.

az_subnet_address_prefix

Cadeia de carateres

(Obrigatório) o prefixo de endereço de sub-rede a ser usado pelo vnet recém-criado para implantação de volume do ANF.

az_volume_path

Cadeia de carateres

(Obrigatório) Um caminho de arquivo exclusivo para o volume. Usado ao criar destinos de montagem. Mudar isso força um novo recurso a ser criado.

az_capacity_pool_size

Número inteiro

(Obrigatório) tamanho do pool de capacidade mencionado em TB.

az_vnet_creation_bool

Booleano

(Obrigatório) defina este booleano para true se você quiser criar um novo vnet. Defina-o como false para usar um vnet existente.

az_subnet_creation_bool

Booleano

(Obrigatório) defina este booleano para true criar uma nova sub-rede. Defina-o false como para utilizar uma sub-rede existente.

az_subnet_id_for_anf_vol

Cadeia de carateres

(Obrigatório) mencione o ID da sub-rede caso decida usar uma sub-rede existente subnet_creation_bool definindo como verdadeiro. Se definido como false, deixe-o no valor padrão.

az_NetApp_pool_service_level

Cadeia de carateres

(Obrigatório) o desempenho de destino do sistema de arquivos. Os valores válidos incluem Premium , Standard , Ultra ou .

az_NetApp_vol_service_level

Cadeia de carateres

(Obrigatório) o desempenho de destino do sistema de arquivos. Os valores válidos incluem Premium , Standard , Ultra ou .

az_NetApp_vol_protocol

Cadeia de carateres

(Opcional) o protocolo de volume alvo expresso em uma lista. O valor único suportado inclui CIFS, NFSv3 NFSv4.1 ou . Se o argumento não estiver definido, ele será o padrão para NFSv3. Mudar isso força um novo recurso a ser criado e os dados serão perdidos.

az_NetApp_vol_security_style

Cadeia de carateres

(Opcional) estilo de segurança de volume, os valores aceitos são Unix ou Ntfs. Se não for fornecido, o volume de protocolo único será criado por padrão para Unix se for NFSv3 ou NFSv4.1 volume, se CIFS, será o padrão para Ntfs. Em um volume de protocolo duplo, se não for fornecido, seu valor será Ntfs.

az_NetApp_vol_storage_quota

Cadeia de carateres

(Obrigatório) a cota máxima de armazenamento permitida para um sistema de arquivos em Gigabytes.

Observação De acordo com a recomendação, este script usa o prevent_destroy  argumento ciclo de vida para mitigar a possibilidade de perda acidental de dados no arquivo de configuração. Para obter mais informações sobre o prevent_destroy argumento ciclo de vida, consulte a documentação do Terraform: https://developer.hashicorp.com/terraform/tutorials/state/resource-lifecycle#prevent-resource-deletion.
GCP
Arquivos de configuração do Terraform para implantação do NetApp CVO (instância de nó único) no GCP

Esta seção contém vários arquivos de configuração do Terraform para implantar/configurar o NetApp CVO (Cloud Volumes ONTAP) de nó único no GCP (Google Cloud Platform).

Procedimento

Para executar o modelo:

  1. Clone o repositório.

        git clone https://github.com/NetApp/na_cloud_volumes_automation.git
    Cli
  2. Navegue até a pasta desejada

        cd na_cloud_volumes_automation/
    Cli
  3. Salve o arquivo JSON da chave de autenticação do GCP no diretório.

  4. Atualize os valores da variável em vars/gcp_cvo_single_node_deployment.tfvar

    Observação Você pode optar por implantar o conetor definindo o valor da variável "gcp_Connector_deploy_bool" como true/false.
  5. Inicialize o repositório do Terraform para instalar todos os pré-requisitos e se preparar para implantação.

        terraform init
    Cli
  6. Verifique os arquivos do Terraform usando o comando Terraform Validate.

        terraform validate
    Cli
  7. Faça uma execução seca da configuração para obter uma prévia de todas as alterações esperadas pela implantação.

        terraform plan -target="module.gco_single_node" -var-file="vars/gcp_cvo_single_node_deployment.tfvars"
    Cli
  8. Execute a implantação

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

Para excluir a implantação

    terraform destroy
Cli
Receitas:

Connector

Variáveis Terraform para instância do conetor do NetApp GCP para implantação do CVO.

Nome Tipo Descrição

gcp_connector_deploy_bool

Bool

(Necessário) Verifique se há ativação do conetor.

gcp_connector_name

Cadeia de carateres

(Obrigatório) o nome do conetor do Cloud Manager.

gcp_connector_project_id

Cadeia de carateres

(Obrigatório) o GCP project_id onde o conetor será criado.

gcp_connector_zone

Cadeia de carateres

(Obrigatório) a zona do GCP onde o conetor será criado.

gcp_connector_company

Cadeia de carateres

(Obrigatório) o nome da empresa do utilizador.

gcp_connector_service_account_email

Cadeia de carateres

(Obrigatório) o e-mail do Service_account para a instância do conetor. Essa conta de serviço é usada para permitir que o conetor crie o Cloud volume ONTAP.

gcp_connector_service_account_path

Cadeia de carateres

(Obrigatório) o caminho local do arquivo JSON Service_Account para fins de autorização do GCP. Essa conta de serviço é usada para criar o conetor no GCP.

gcp_connector_account_id

Cadeia de carateres

(Opcional) o ID da conta do NetApp ao qual o conetor será associado. Se não for fornecido, o Cloud Manager usará a primeira conta. Se nenhuma conta existir, o Cloud Manager criará uma nova conta. Você pode encontrar o ID da conta na guia conta do Cloud Manager em https://cloudmanager.netapp.com.

Single Node Instance

Variáveis Terraform para uma única instância do NetApp CVO no GCP.

Nome Tipo Descrição

gcp_cvo_name

Cadeia de carateres

(Obrigatório) o nome do ambiente de trabalho Cloud Volumes ONTAP.

gcp_cvo_project_id

Cadeia de carateres

(Obrigatório) o ID do projeto GCP.

gcp_cvo_zone

Cadeia de carateres

(Obrigatório) a zona da região onde será criado o ambiente de trabalho.

gcp_cvo_gcp_service_account

Cadeia de carateres

(Obrigatório) o e-mail do gcp_Service_account para permitir a disposição em camadas de dados inativos no Google Cloud Storage.

gcp_cvo_svm_password

Cadeia de carateres

(Obrigatório) a senha de administrador do Cloud Volumes ONTAP.

gcp_cvo_workspace_id

Cadeia de carateres

(Opcional) o ID do espaço de trabalho do Cloud Manager onde você deseja implantar o Cloud Volumes ONTAP. Se não for fornecido, o Cloud Manager usará a primeira área de trabalho. Você pode encontrar o ID na guia Área de trabalho em https://cloudmanager.netapp.com.

gcp_cvo_license_type

Cadeia de carateres

(Opcional) o tipo de licença a utilizar. Para um único nó: ['capacidade-paygo', 'gcp-COT-explore-paygo', 'gcp-COT-standard-paygo', 'gcp-COT-premium-paygo', 'GCP-COT-premium-byol'], para HA: ['ha-Capacity-paygo', 'gcp-COT-explore-paygo', 'gcp-premium-ha-ha-paygo'. O padrão é 'capacidade-paygo' para nó único e 'ha-capacidade-paygo' para HA.

gcp_cvo_capacity_package_name

Cadeia de carateres

(Opcional) o nome do pacote de capacidade: ['essencial', 'Professional', 'Freemium']. O padrão é 'essencial'.