Skip to main content
Se proporciona el idioma español mediante traducción automática para su comodidad. En caso de alguna inconsistencia, el inglés precede al español.

Opciones y ejemplos de configuración del back-end de Azure NetApp Files

Colaboradores netapp-aruldeepa juliantap netapp-mwallis joan-ing

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

version

Versión de configuración del backend.

Siempre 1

storageDriverName

Nombre del controlador de almacenamiento

"azure-netapp-files"

backendName

Nombre personalizado para el backend de almacenamiento

Nombre del controlador + "_" + caracteres aleatorios

subscriptionID

El ID de suscripción de su suscripción de Azure

Opcional cuando se activan identidades gestionadas en un clúster de AKS.

tenantID

El ID de inquilino de un registro de aplicación

Opcional cuando se utilizan identidades gestionadas o identidad de nube en un clúster de AKS.

clientID

El ID de cliente de un registro de aplicación

Opcional cuando se utilizan identidades gestionadas o identidad de nube en un clúster de AKS.

clientSecret

El secreto de cliente de un registro de aplicaciones

Opcional cuando se utilizan identidades gestionadas o identidad de nube en un clúster de AKS.

serviceLevel

Uno de Standard, Premium, o. Ultra

"" (aleatorio)

location

Nombre de la ubicación de Azure donde se crearán los nuevos volúmenes

Opcional cuando se activan identidades gestionadas en un clúster de AKS.

resourceGroups

Lista de grupos de recursos para filtrar los recursos detectados

"[]" (sin filtro)

netappAccounts

Lista de cuentas de NetApp para filtrar los recursos detectados

"[]" (sin filtro)

capacityPools

Lista de pools de capacidad para filtrar los recursos detectados

"[]" (sin filtro, aleatorio)

virtualNetwork

Nombre de una red virtual con una subred delegada

""

subnet

Nombre de una subred delegada a. Microsoft.Netapp/volumes

""

networkFeatures

Conjunto de funciones de VNet para un volumen, puede ser Basic o Standard. Network Features no está disponible en todas las regiones y podría tener que habilitarse en una suscripción. Especificar networkFeatures cuando la funcionalidad no está habilitada hace que falle el aprovisionamiento del volumen.

""

nfsMountOptions

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=4 en la lista de opciones de montaje separadas por comas para elegir NFS v4.1. Las opciones de montaje establecidas en una definición de clase de almacenamiento reemplazan las opciones de montaje establecidas en la configuración de backend.

"nfsvers=3"

limitVolumeSize

No se puede aprovisionar si el tamaño del volumen solicitado es superior a este valor

"" (no se aplica de forma predeterminada)

debugTraceFlags

Indicadores de depuración que se deben usar para la solución de problemas. Ejemplo: \{"api": false, "method": true, "discovery": true}. No lo utilice a menos que esté solucionando problemas y necesite un volcado de registro detallado.

nulo

nasType

Configure la creación de volúmenes NFS o SMB. Las opciones son nfs, smb o nulo. El valor predeterminado es nulo en volúmenes de NFS.

nfs

supportedTopologies

Representa una lista de regiones y zonas soportadas por este backend. Para obtener más información, consulte "Utilice Topología CSI".

qosType

Representa el tipo de QoS: Automático o Manual.

Auto

maxThroughput

Establece el rendimiento máximo permitido en MiB/seg. Compatible solo con grupos de capacidad de QoS manuales.

4 MiB/sec

Nota 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.

Nota 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

exportRule

Reglas de exportación de volúmenes nuevos.
exportRule Debe ser una lista separada por comas con cualquier combinación de direcciones IPv4 o subredes IPv4 en notación CIDR. Ignorada para volúmenes de SMB.

"0.0.0.0/0"

snapshotDir

Controla la visibilidad del directorio .snapshot

“True” para NFSv4 “false” para NFSv3

size

El tamaño predeterminado de los volúmenes nuevos

"100 G"

unixPermissions

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}
Nota nasType: smb`filtros para grupos que admiten volúmenes SMB.
`nasType: nfs
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.