Exemplos e opções de configuração de back-end do Azure NetApp Files
Saiba mais sobre as opções de configuração de back-end NFS e SMB para ANF e revise exemplos de configuração.
O Astra Trident usa sua configuração de back-end (sub-rede, rede virtual, nível de serviço e local) para criar volumes de ANF em pools de capacidade disponíveis no local solicitado e que correspondam ao nível de serviço e à sub-rede solicitados.
O Astra Trident não é compatível com pools de capacidade de QoS manual. |
Opções de configuração de back-end
Os backends do ANF oferecem essas opções de configuração.
Parâmetro | Descrição | Padrão |
---|---|---|
|
Sempre 1 |
|
|
Nome do controlador de armazenamento |
"ficheiros azure-NetApp" |
|
Nome personalizado ou back-end de storage |
Nome do condutor e carateres aleatórios |
|
O ID da assinatura da sua assinatura do Azure |
|
|
O ID do locatário de um Registro de aplicativo |
|
|
A ID do cliente de um registo de aplicação |
|
|
O segredo do cliente de um Registro de aplicativo |
|
|
Um de |
"" (aleatório) |
|
Nome do local do Azure onde os novos volumes serão criados |
|
|
Lista de grupos de recursos para filtragem de recursos descobertos |
"[]" (sem filtro) |
|
Lista de contas do NetApp para filtragem de recursos descobertos |
"[]" (sem filtro) |
|
Lista de pools de capacidade para filtrar recursos descobertos |
"[]" (sem filtro, aleatório) |
|
Nome de uma rede virtual com uma sub-rede delegada |
"" |
|
Nome de uma sub-rede delegada |
"" |
|
Conjunto de recursos VNet para um volume, pode ser |
"" |
|
Controle refinado das opções de montagem NFS. Ignorado para volumes SMB. Para montar volumes usando o NFS versão 4,1, inclua `nfsvers=4`na lista de opções de montagem delimitadas por vírgulas para escolher NFS v4,1. As opções de montagem definidas em uma definição de classe de armazenamento substituem as opções de montagem definidas na configuração de back-end. |
"3" |
|
Falha no provisionamento se o tamanho do volume solicitado estiver acima desse valor |
"" (não aplicado por padrão) |
|
Debug flags para usar ao solucionar problemas. Exemplo, |
nulo |
|
Configurar a criação de volumes NFS ou SMB. As opções são |
|
Para obter mais informações sobre recursos de rede, "Configurar recursos de rede para um volume Azure NetApp Files"consulte . |
Permissões e recursos necessários
Se você receber um erro "sem pools de capacidade encontrados" ao 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. Se a depuração estiver ativada, o Astra Trident registrará os recursos do Azure descobertos quando o back-end for criado. Verifique se uma função apropriada está sendo usada.
Os valores para resourceGroups
, netappAccounts
, capacityPools
, , virtualNetwork
e subnet
podem ser especificados usando nomes curtos ou totalmente qualificados. Nomes totalmente qualificados são recomendados na maioria das situações, pois nomes curtos podem corresponder vários recursos com o mesmo nome.
Os resourceGroups
valores , netappAccounts
, e capacityPools
são filtros que restringem o conjunto de recursos descobertos aos disponíveis para esse back-end de armazenamento e podem ser especificados em qualquer combinação. Nomes totalmente qualificados seguem este formato:
Tipo | Formato |
---|---|
Grupo de recursos |
<resource group> |
Conta NetApp |
<resource group>/ cliente NetApp account> |
Pool de capacidade |
<resource group>/ cliente NetApp account>/<capacity pool> |
Rede virtual |
<resource group>/<virtual network> |
Sub-rede |
<resource group>/<virtual network>/<subnet> |
Provisionamento de volume
Você pode controlar o provisionamento de volume padrão especificando as seguintes opções em uma seção especial do arquivo de configuração. Exemplos de configuraçõesConsulte para obter detalhes.
Parâmetro | Descrição | Padrão |
---|---|---|
|
Regras de exportação para novos volumes. |
"0,0.0,0/0" |
|
Controla a visibilidade do diretório .snapshot |
"falso" |
|
O tamanho padrão dos novos volumes |
"100G" |
|
As permissões unix de novos volumes (4 dígitos octal). Ignorado para volumes SMB. |
"" (recurso de pré-visualização, requer lista branca na assinatura) |
Exemplos de configurações
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 NetApp, pools de capacidade e sub-redes delegadas no ANF no local configurado e coloca novos volumes aleatoriamente em um desses pools e sub-redes. Como nasType
é omitido, o nfs
padrão se aplica e o back-end provisionará para volumes NFS.
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 location: eastus
Exemplo 2: Configuração específica de nível de serviço com filtros de pool de capacidade
Essa configuração de back-end coloca volumes no local do Azure eastus
em um Ultra
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: Ultra capacityPools: - application-group-1/account-1/ultra-1 - application-group-1/account-1/ultra-2
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: Ultra capacityPools: - application-group-1/account-1/ultra-1 - application-group-1/account-1/ultra-2 virtualNetwork: my-virtual-network subnet: my-subnet networkFeatures: Standard 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 snapshotDir: 'true' size: 200Gi unixPermissions: '0777'
Exemplo 4: Configuração de pool 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. Rótulos de pool virtual foram usados para diferenciar os pools com base performance
no .
--- 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 resourceGroups: - application-group-1 networkFeatures: Basic nfsMountOptions: vers=3,proto=tcp,timeo=600 labels: cloud: azure storage: - labels: performance: gold serviceLevel: Ultra capacityPools: - ultra-1 - ultra-2 networkFeatures: Standard - labels: performance: silver serviceLevel: Premium capacityPools: - premium-1 - labels: performance: bronze serviceLevel: Standard capacityPools: - standard-1 - standard-2
Definições da classe de armazenamento
As definições a seguir StorageClass
referem-se aos pools de armazenamento acima.
Exemplos de definições usando parameter.selector
campo
Usando parameter.selector
você pode especificar para cada StorageClass
pool virtual 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
Definições de exemplo para volumes SMB
Usando nasType
, node-stage-secret-name
e node-stage-secret-namespace
, você pode especificar um volume SMB e fornecer as credenciais necessárias do ative Directory.
Exemplo 1: Configuração básica no namespace padrão
apiVersion: storage.k8s.io/v1 kind: StorageClass metadata: name: anf-sc-smb provisioner: csi.trident.netapp.io parameters: backendType: "azure-netapp-files" trident.netapp.io/nasType: "smb" csi.storage.k8s.io/node-stage-secret-name: "smbcreds" csi.storage.k8s.io/node-stage-secret-namespace: "default"
Exemplo 2: Usando diferentes segredos por namespace
apiVersion: storage.k8s.io/v1 kind: StorageClass metadata: name: anf-sc-smb provisioner: csi.trident.netapp.io parameters: backendType: "azure-netapp-files" trident.netapp.io/nasType: "smb" csi.storage.k8s.io/node-stage-secret-name: "smbcreds" csi.storage.k8s.io/node-stage-secret-namespace: ${pvc.namespace}
Exemplo 3: Usando segredos diferentes por volume
apiVersion: storage.k8s.io/v1 kind: StorageClass metadata: name: anf-sc-smb provisioner: csi.trident.netapp.io parameters: backendType: "azure-netapp-files" trident.netapp.io/nasType: "smb" csi.storage.k8s.io/node-stage-secret-name: ${pvc.name} csi.storage.k8s.io/node-stage-secret-namespace: ${pvc.namespace}
nasType: `smb Filtros para pools compatíveis com volumes SMB. nasType: `nfs Ou nasType: `null filtros para NFS Pools.
|
Crie o backend
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.