Opciones y ejemplos de configuración del back-end de Azure NetApp Files
Obtenga más información sobre las opciones de configuración de back-end NFS y SMB para Azure NetApp Files y revise los ejemplos de configuración.
Opciones de configuración del back-end
Trident utiliza tu configuración de backend (subred, red virtual, nivel de servicio y ubicación) para crear volúmenes de Azure NetApp Files en pools de capacidad que están disponibles en la ubicación solicitada y coinciden con el nivel de servicio y la subred solicitados.
Los back-ends de Azure NetApp Files proporcionan estas opciones de configuración.
| Parámetro | Descripción | Predeterminado |
|---|---|---|
|
Versión de configuración del backend. |
Siempre 1 |
|
Nombre del controlador de almacenamiento |
"azure-netapp-files" |
|
Nombre personalizado para el backend de almacenamiento |
Nombre del controlador + "_" + caracteres aleatorios |
|
El ID de suscripción de su suscripción de Azure |
|
|
El ID de inquilino de un registro de aplicación |
|
|
El ID de cliente de un registro de aplicación |
|
|
El secreto de cliente de un registro de aplicaciones |
|
|
Uno de |
"" (aleatorio) |
|
Nombre de la ubicación de Azure donde se crearán los nuevos volúmenes |
|
|
Lista de grupos de recursos para filtrar los recursos detectados |
"[]" (sin filtro) |
|
Lista de cuentas de NetApp para filtrar los recursos detectados |
"[]" (sin filtro) |
|
Lista de pools de capacidad para filtrar los recursos detectados |
"[]" (sin filtro, aleatorio) |
|
Nombre de una red virtual con una subred delegada |
"" |
|
Nombre de una subred delegada a. |
"" |
|
Conjunto de funciones de VNet para un volumen, puede ser |
"" |
|
Control detallado de las opciones de montaje de NFS. Ignorado para volúmenes SMB. Para montar volúmenes usando la versión de NFS 4.1, incluye |
"nfsvers=3" |
|
No se puede aprovisionar si el tamaño del volumen solicitado es superior a este valor |
"" (no se aplica de forma predeterminada) |
|
Indicadores de depuración que se deben usar para la solución de problemas. Ejemplo: |
nulo |
|
Configure la creación de volúmenes NFS o SMB. Las opciones son |
|
|
Representa una lista de regiones y zonas soportadas por este backend. Para obtener más información, consulte "Utilice Topología CSI". |
|
|
Representa el tipo de QoS: Automático o Manual. |
Auto |
|
Establece el rendimiento máximo permitido en MiB/seg. Compatible solo con grupos de capacidad de QoS manuales. |
|
|
|
Para obtener más información sobre las funciones de red, consulte "Configure las funciones de red para un volumen de Azure NetApp Files". |
Considera los entornos cloud de Azure (26.02)
A partir de la versión 26.02, Trident admite la creación y gestión de backends de Azure NetApp Files en varios entornos cloud de Azure.
Las nubes de Azure compatibles incluyen:
-
Azure Commercial
-
Azure Government (Azure Government / MAG)
Cuando despliegas Trident o creas un backend de Azure NetApp Files, asegúrate de que Azure Resource Manager y los endpoints de autenticación coincidan con tu entorno de Azure cloud. Si los endpoints no coinciden, tridentctl no puede autenticarse y la creación del backend falla.
Permisos y recursos necesarios
Si recibes el error "No capacity pools found" al crear un PVC, es probable que el registro de tu aplicación no tenga los permisos y recursos necesarios (subred, red virtual, capacity pool) asociados. Si la depuración está activada, Trident registra los recursos de Azure descubiertos cuando se crea el backend. Verifica que se esté usando un rol adecuado.
Los valores para resourceGroups, netappAccounts, capacityPools, virtualNetwork y subnet se pueden especificar usando nombres cortos o nombres completamente calificados. Se recomiendan los nombres completamente calificados en la mayoría de las situaciones, ya que los nombres cortos pueden coincidir con varios recursos con el mismo nombre.
|
|
Si la red virtual (vNet) se encuentra en un grupo de recursos diferente al de la cuenta de almacenamiento de Azure NetApp Files (ANF), especifique el grupo de recursos para la red virtual al configurar la lista de grupos de recursos para el back-end. |
Los resourceGroups, netappAccounts, y capacityPools valores son filtros que restringen el conjunto de recursos detectados a los disponibles para este backend de almacenamiento y pueden especificarse en cualquier combinación. Los nombres completos siguen este formato:
| Tipo | Formato |
|---|---|
Grupo de recursos |
<resource group> |
Cuenta de NetApp |
<resource group>/<netapp account> |
Pool de capacidad |
<resource group>/<netapp account>/<capacity pool> |
Red virtual |
<resource group>/<virtual network> |
Subred |
<resource group>/<virtual network>/<subnet> |
Aprovisionamiento de volúmenes
Puedes controlar el aprovisionamiento de volúmenes predeterminados especificando las siguientes opciones en una sección especial del archivo de configuración. Consulta Configuraciones de ejemplo para más detalles.
| Parámetro | Descripción | Predeterminado |
|---|---|---|
|
Reglas de exportación de volúmenes nuevos. |
"0.0.0.0/0" |
|
Controla la visibilidad del directorio .snapshot |
“True” para NFSv4 “false” para NFSv3 |
|
El tamaño predeterminado de los volúmenes nuevos |
"100 G" |
|
Los permisos unix de nuevos volúmenes (4 dígitos octal). Ignorada para volúmenes de SMB. |
"" (función de vista previa, requiere incluir en la lista blanca de suscripciones) |
Configuraciones de ejemplo
Los siguientes ejemplos muestran configuraciones básicas que dejan la mayoría de los parámetros en sus valores predeterminados. Esta es la forma más fácil de definir un backend.
Configuración mínima
Esta es la configuración mínima absoluta del backend. Con esta configuración, Trident detecta todas tus cuentas NetApp, grupos de capacidad y subredes delegadas a Azure NetApp Files en la ubicación configurada, y coloca los nuevos volúmenes en uno de esos grupos y subredes aleatoriamente. Porque nasType se omite, la nfs configuración predeterminada se aplica y el backend aprovisionará volúmenes NFS.
Esta configuración es ideal cuando solo se está empezando a usar Azure NetApp Files y probando cosas, pero en la práctica va a querer proporcionar un ámbito adicional para los volúmenes que aprovisione.
---
apiVersion: trident.netapp.io/v1
kind: TridentBackendConfig
metadata:
name: backend-tbc-anf-1
namespace: trident
spec:
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
Identidades administradas para AKS
Esta configuración de backend omite subscriptionID, tenantID, clientID, y. clientSecret, que son opcionales cuando se utilizan identidades gestionadas.
apiVersion: trident.netapp.io/v1
kind: TridentBackendConfig
metadata:
name: backend-tbc-anf-1
namespace: trident
spec:
version: 1
storageDriverName: azure-netapp-files
capacityPools:
- resource-group-1/netapp-account-1/ultra-pool
resourceGroups:
- resource-group-1
netappAccounts:
- resource-group-1/netapp-account-1
virtualNetwork: resource-group-1/eastus-prod-vnet
subnet: resource-group-1/eastus-prod-vnet/eastus-anf-subnet
Identidad de nube para AKS
Esta configuración de backend omite tenantID, clientID, y. clientSecret, que son opcionales cuando se utiliza una identidad de nube.
apiVersion: trident.netapp.io/v1
kind: TridentBackendConfig
metadata:
name: backend-tbc-anf-1
namespace: trident
spec:
version: 1
storageDriverName: azure-netapp-files
capacityPools:
- ultra-pool
resourceGroups:
- aks-ami-eastus-rg
netappAccounts:
- smb-na
virtualNetwork: eastus-prod-vnet
subnet: eastus-anf-subnet
location: eastus
subscriptionID: 9f87c765-4774-fake-ae98-a721add45451
Configuración de niveles de servicio específica con filtros de pools de capacidad
Esta configuración de backend coloca volúmenes en la eastus ubicación de Azure en un Ultra grupo de capacidad. Trident detecta automáticamente todas las subredes delegadas a Azure NetApp Files en esa ubicación y coloca un nuevo volumen en una de ellas 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
Ejemplo de backend con grupos de capacidad de QoS manuales
Esta configuración de backend coloca volúmenes en Azure eastus Ubicación con pools de capacidad QoS manuales.
---
version: 1
storageDriverName: azure-netapp-files
backendName: anf1
location: eastus
labels:
clusterName: test-cluster-1
cloud: anf
nasType: nfs
defaults:
qosType: Manual
storage:
- serviceLevel: Ultra
labels:
performance: gold
defaults:
maxThroughput: 10
- serviceLevel: Premium
labels:
performance: silver
defaults:
maxThroughput: 5
- serviceLevel: Standard
labels:
performance: bronze
defaults:
maxThroughput: 3
Configuración avanzada
Esta configuración de back-end reduce aún más el alcance de la ubicación de volúmenes en una única subred y también modifica algunos valores predeterminados de aprovisionamiento de volúmenes.
---
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: application-group-1/eastus-prod-vnet
subnet: application-group-1/eastus-prod-vnet/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"
Configuración de pool virtual
Esta configuración de backend define varios grupos de almacenamiento en un solo archivo. Esto es útil cuando tienes varios grupos de capacidad que admiten diferentes niveles de servicio y quieres crear clases de almacenamiento en Kubernetes que los representen. Se usaron etiquetas de grupo virtual para diferenciar los grupos según performance.
---
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:
- application-group-1/netapp-account-1/ultra-1
- application-group-1/netapp-account-1/ultra-2
networkFeatures: Standard
- labels:
performance: silver
serviceLevel: Premium
capacityPools:
- application-group-1/netapp-account-1/premium-1
- labels:
performance: bronze
serviceLevel: Standard
capacityPools:
- application-group-1/netapp-account-1/standard-1
- application-group-1/netapp-account-1/standard-2
Configuración de topologías admitidas
Trident facilita el aprovisionamiento de volúmenes para cargas de trabajo según regiones y zonas de disponibilidad. El supportedTopologies bloque en esta configuración de backend se usa para proporcionar una lista de regiones y zonas por backend. Los valores de región y zona especificados aquí deben coincidir con los valores de región y zona de las etiquetas en cada nodo del clúster de Kubernetes. Estas regiones y zonas representan la lista de valores permitidos que se pueden proporcionar en una clase de almacenamiento. Para las clases de almacenamiento que contienen un subconjunto de las regiones y zonas proporcionadas en un backend, Trident crea volúmenes en la región y zona mencionadas. Para más información, consulta "Utilice Topología CSI".
---
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
supportedTopologies:
- topology.kubernetes.io/region: eastus
topology.kubernetes.io/zone: eastus-1
- topology.kubernetes.io/region: eastus
topology.kubernetes.io/zone: eastus-2
Definiciones de clases de almacenamiento
Lo siguiente StorageClass las definiciones hacen referencia a los pools de almacenamiento anteriores.
Definiciones de ejemplo mediante parameter.selector campo
Usando parameter.selector puedes especificar para cada `StorageClass`el pool virtual que se usa para alojar un volumen. El volumen tendrá los aspectos definidos en el pool elegido.
---
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
Definiciones de ejemplo de volúmenes SMB
Usando nasType, node-stage-secret-name y node-stage-secret-namespace, puedes especificar un volumen SMB y proporcionar las credenciales de Active Directory necesarias.
Configuración básica en el espacio de nombres predeterminado
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"
Uso de diferentes secretos por espacio de nombres
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}
Uso de diferentes secretos por volumen
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 grupos que admiten volúmenes SMB. o `nasType: null`filtros para grupos NFS.
|
Cree el back-end
Después de crear el archivo de configuración del back-end, ejecute el siguiente comando:
tridentctl create backend -f <backend-file>
Si usas una nube Azure no comercial, asegúrate de que tridentctl esté configurado para usar los endpoints de Azure Resource Manager y autenticación para tu entorno de nube Azure. Si falla la creación del backend, revisa tu configuración del backend y mira los registros para ver cuál es la causa:
tridentctl logs
Después de identificar y corregir el problema con el archivo de configuración, puede ejecutar de nuevo el comando create.