Skip to main content
Uma versão mais recente deste produto está disponível.
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.

Configurar um back-end do Azure NetApp Files

Colaboradores

Saiba mais sobre como configurar o Azure NetApp Files (ANF) como back-end para sua instalação do Astra Trident usando as configurações de amostra fornecidas.

Observação O serviço Azure NetApp Files não suporta volumes inferiores a 100 GB. O Astra Trident cria automaticamente volumes de 100 GB se um volume menor for solicitado.
O que você vai precisar

Para configurar e usar um "Azure NetApp Files" back-end, você precisa do seguinte:

  • subscriptionID A partir de uma subscrição do Azure com o Azure NetApp Files ativado.

  • tenantID, clientID E clientSecret de um "Registo da aplicação" no Azure ative Directory com permissões suficientes para o serviço Azure NetApp Files. O Registo de aplicações deve utilizar a Owner função ou Contributor predefinida pelo Azure.

    Dica Para saber mais sobre as funções incorporadas do Azure, consulte o "Documentação do Azure".
  • O Azure location que contém pelo menos um "sub-rede delegada".

  • Se você estiver usando o Azure NetApp Files pela primeira vez ou em um novo local, alguma configuração inicial será necessária. Consulte "guia quickstart" .

Sobre esta tarefa

Com base na configuração de back-end (sub-rede, rede virtual, nível de serviço e local), o Trident cria volumes do ANF em pools de capacidade disponíveis no local solicitado e correspondem ao nível de serviço e à sub-rede solicitados.

Observação O Astra Trident 21.04.0 e versões anteriores não são compatíveis com pools de capacidade de QoS manual.

Opções de configuração de back-end

Consulte a tabela a seguir para obter as opções de configuração de back-end:

Parâmetro Descrição Padrão

version

Sempre 1

storageDriverName

Nome do controlador de armazenamento

"ficheiros azure-NetApp"

backendName

Nome personalizado ou back-end de storage

Nome do condutor e carateres aleatórios

subscriptionID

O ID da assinatura da sua assinatura do Azure

tenantID

O ID do locatário de um Registro de aplicativo

clientID

A ID do cliente de um registo de aplicação

clientSecret

O segredo do cliente de um Registro de aplicativo

serviceLevel

Um de Standard, Premium, ou Ultra

"" (aleatório)

location

Nome do local do Azure onde os novos volumes serão criados

"" (aleatório)

virtualNetwork

Nome de uma rede virtual com uma sub-rede delegada

"" (aleatório)

subnet

Nome de uma sub-rede delegada Microsoft.Netapp/volumes

"" (aleatório)

nfsMountOptions

Controle refinado das opções de montagem NFS.

"3"

limitVolumeSize

Falha no provisionamento se o tamanho do volume solicitado estiver acima desse valor

"" (não aplicado por padrão)

debugTraceFlags

Debug flags para usar ao solucionar problemas. Exemplo, \{"api":false, "method":true}. Não use isso a menos que você esteja solucionando problemas e exija um despejo de log detalhado.

nulo

Aviso Modificar capacityPools o campo em um back-end existente de modo que ele reduza o número de pools de capacidade usados para provisionar resultados em volumes órfãos, que são provisionados no pool/pools de capacidade que não fazem mais parte da capacityPools lista. As operações de clonagem nesses volumes órfãos falharão.
Aviso Se você encontrar um erro "sem pools de capacidade encontrados" ao tentar criar um PVC, é provável que o Registro do aplicativo não tenha as permissões e recursos necessários (sub-rede, rede virtual, pool de capacidade) associados. O Astra Trident registrará os recursos do Azure descobertos quando o back-end for criado quando o debug estiver habilitado. Certifique-se de verificar se está a ser utilizada uma função adequada.
Observação Se você quiser montar os volumes usando o NFS versão 4,1, você pode incluir nfsvers=4 na lista de opções de montagem delimitadas por vírgulas para escolher NFS v4,1. Todas as opções de montagem definidas em uma classe de armazenamento substituem as opções de montagem definidas em um arquivo de configuração de back-end.

Você pode controlar como cada volume é provisionado por padrão, especificando as seguintes opções em uma seção especial do arquivo de configuração. Veja os exemplos de configuração abaixo.

Parâmetro Descrição Padrão

exportRule

As regras de exportação para novos volumes

"0,0.0,0/0"

size

O tamanho padrão dos novos volumes

"100G"

O exportRule valor deve ser uma lista separada por vírgulas de qualquer combinação de endereços IPv4 ou sub-redes IPv4 na notação CIDR.

Observação Para todos os volumes criados em um back-end do ANF, o Astra Trident copia todas as etiquetas presentes em um pool de storage para o volume de storage no momento em que ele é provisionado. Os administradores de storage podem definir rótulos por pool de storage e agrupar todos os volumes criados em um pool de storage. Isso fornece uma maneira conveniente de diferenciar volumes com base em um conjunto de rótulos personalizáveis que são fornecidos na configuração de back-end.

Exemplo 1: Configuração mínima

Esta é a configuração mínima absoluta de back-end. Com essa configuração, o Astra Trident descobre todas as suas contas, pools de capacidade e sub-redes do NetApp delegados ao ANF em todos os locais do mundo e coloca novos volumes em um deles aleatoriamente.

Essa configuração é ideal quando você está apenas começando o ANF e experimentando as coisas, mas na prática você vai querer fornecer um escopo adicional para os volumes provisionados.

{
    "version": 1,
    "storageDriverName": "azure-netapp-files",
    "subscriptionID": "9f87c765-4774-fake-ae98-a721add45451",
    "tenantID": "68e4f836-edc1-fake-bff9-b2d865ee56cf",
    "clientID": "dd043f63-bf8e-fake-8076-8de91e5713aa",
    "clientSecret": "SECRET"
}

Exemplo 2: Local único e configuração específica de nível de serviço

Essa configuração de back-end coloca volumes no local do Azure eastus em um Premium pool de capacidade. O Astra Trident descobre automaticamente todas as sub-redes delegadas no ANF nesse local e coloca um novo volume em uma delas aleatoriamente.

    {
        "version": 1,
        "storageDriverName": "azure-netapp-files",
        "subscriptionID": "9f87c765-4774-fake-ae98-a721add45451",
        "tenantID": "68e4f836-edc1-fake-bff9-b2d865ee56cf",
        "clientID": "dd043f63-bf8e-fake-8076-8de91e5713aa",
        "clientSecret": "SECRET",
        "location": "eastus",
        "serviceLevel": "Premium"
    }

Exemplo 3: Configuração avançada

Essa configuração de back-end reduz ainda mais o escopo do posicionamento de volume para uma única sub-rede e também modifica alguns padrões de provisionamento de volume.

    {
        "version": 1,
        "storageDriverName": "azure-netapp-files",
        "subscriptionID": "9f87c765-4774-fake-ae98-a721add45451",
        "tenantID": "68e4f836-edc1-fake-bff9-b2d865ee56cf",
        "clientID": "dd043f63-bf8e-fake-8076-8de91e5713aa",
        "clientSecret": "SECRET",
        "location": "eastus",
        "serviceLevel": "Premium",
        "virtualNetwork": "my-virtual-network",
        "subnet": "my-subnet",
        "nfsMountOptions": "vers=3,proto=tcp,timeo=600",
        "limitVolumeSize": "500Gi",
        "defaults": {
            "exportRule": "10.0.0.0/24,10.0.1.0/24,10.0.2.100",
            "size": "200Gi"
        }
    }

Exemplo 4: Configuração do pool de armazenamento virtual

Essa configuração de back-end define vários pools de storage em um único arquivo. Isso é útil quando você tem vários pools de capacidade com suporte a diferentes níveis de serviço e deseja criar classes de storage no Kubernetes que os representem.

    {
        "version": 1,
        "storageDriverName": "azure-netapp-files",
        "subscriptionID": "9f87c765-4774-fake-ae98-a721add45451",
        "tenantID": "68e4f836-edc1-fake-bff9-b2d865ee56cf",
        "clientID": "dd043f63-bf8e-fake-8076-8de91e5713aa",
        "clientSecret": "SECRET",
        "nfsMountOptions": "vers=3,proto=tcp,timeo=600",
        "labels": {
            "cloud": "azure"
        },
        "location": "eastus",

        "storage": [
            {
                "labels": {
                    "performance": "gold"
                },
                "serviceLevel": "Ultra"
            },
            {
                "labels": {
                    "performance": "silver"
                },
                "serviceLevel": "Premium"
            },
            {
                "labels": {
                    "performance": "bronze"
                },
                "serviceLevel": "Standard",
            }
        ]
    }

As definições a seguir StorageClass referem-se aos pools de armazenamento acima. Ao usar o parameters.selector campo, você pode especificar para cada StorageClass um o pool visrtual que é usado para hospedar um volume. O volume terá os aspetos definidos no pool escolhido.

apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
  name: gold
provisioner: csi.trident.netapp.io
parameters:
  selector: "performance=gold"
allowVolumeExpansion: true
---
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
  name: silver
provisioner: csi.trident.netapp.io
parameters:
  selector: "performance=silver"
allowVolumeExpansion: true
---
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
  name: bronze
provisioner: csi.trident.netapp.io
parameters:
  selector: "performance=bronze"
allowVolumeExpansion: true

O que se segue?

Depois de criar o arquivo de configuração de back-end, execute o seguinte comando:

tridentctl create backend -f <backend-file>

Se a criação do backend falhar, algo está errado com a configuração do backend. Você pode exibir os logs para determinar a causa executando o seguinte comando:

tridentctl logs

Depois de identificar e corrigir o problema com o arquivo de configuração, você pode executar o comando create novamente.