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
Astra Trident utiliza la configuración de back-end (subred, red virtual, nivel de servicio y ubicación) para crear volúmenes de Azure NetApp Files en los pools de capacidad que están disponibles en la ubicación solicitada y que coincidan con el nivel de servicio y la subred solicitados.
Astra Trident no admite pools de capacidad de calidad de servicio manual. |
Los back-ends de Azure NetApp Files proporcionan estas opciones de configuración.
Parámetro | Descripción | Predeterminado |
---|---|---|
|
Siempre 1 |
|
|
Nombre del controlador de almacenamiento |
"azure-netapp-files" |
|
Nombre personalizado o el back-end de almacenamiento |
Nombre del controlador + "_" + caracteres aleatorios |
|
El ID de suscripción de la suscripción de Azure Opcional cuando se habilitan identidades administradas en un clúster de AKS. |
|
|
ID de inquilino de un registro de aplicaciones Opcional cuando se utilizan identidades gestionadas o identidad de nube en un clúster de AKS. |
|
|
El ID de cliente de un registro de aplicaciones Opcional cuando se utilizan identidades gestionadas o identidad de nube en un clúster de AKS. |
|
|
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. |
|
|
Uno de |
"" (aleatorio) |
|
Nombre de la ubicación de Azure donde se crearán los nuevos volúmenes Opcional cuando se habiliten identidades gestionadas en un clúster de AKS. |
|
|
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 en |
"" |
|
El conjunto de funciones vnet para un volumen puede ser |
"" |
|
Control preciso de las opciones de montaje NFS. Ignorada para volúmenes de SMB. Para montar volúmenes con NFS versión 4,1, incluya |
"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". |
Para obtener más información sobre las funciones de red, consulte "Configure las funciones de red para un volumen de Azure NetApp Files". |
Permisos y recursos necesarios
Si recibes un error “No se han encontrado pools de capacidad” al crear una RVP, es probable que el registro de tu aplicación no tenga los permisos y recursos necesarios (subred, red virtual, pool de capacidad) asociados. Si la depuración está habilitada, Astra Trident registrará los recursos de Azure detectados cuando se cree el back-end. Compruebe que se está utilizando un rol adecuado.
Los valores para resourceGroups
, , , netappAccounts
, , capacityPools
virtualNetwork
y subnet
se pueden especificar con nombres cortos o completos. En la mayoría de las situaciones, se recomiendan nombres completos, ya que los nombres cortos pueden coincidir con varios recursos con el mismo nombre.
Los resourceGroups
netappAccounts
valores , y capacityPools
son filtros que restringen el juego de recursos detectados a los disponibles para este backend de almacenamiento y se pueden especificar 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
Puede controlar el aprovisionamiento de volúmenes predeterminado especificando las siguientes opciones en una sección especial del archivo de configuración. Consulte Configuraciones de ejemplo para obtener más información.
Parámetro | Descripción | Predeterminado |
---|---|---|
|
Reglas de exportación de volúmenes nuevos. |
"0.0.0.0/0" |
|
Controla la visibilidad del directorio .snapshot |
"falso" |
|
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 ejemplos siguientes muestran configuraciones básicas que dejan la mayoría de los parámetros en los valores predeterminados. Esta es la forma más sencilla de definir un back-end.
Configuración mínima
Ésta es la configuración mínima absoluta del back-end. Con esta configuración, Astra Trident detecta todas sus cuentas de NetApp, pools de capacidad y subredes delegadas en Azure NetApp Files en la ubicación configurada, y coloca volúmenes nuevos en uno de esos pools y subredes de forma aleatoria. Dado que nasType
se omite, nfs
se aplica el valor predeterminado y el back-end se aprovisionará para los volúmenes de 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 al utilizar 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: ["ultra-pool"] resourceGroups: ["aks-ami-eastus-rg"] netappAccounts: ["smb-na"] virtualNetwork: eastus-prod-vnet subnet: 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 los volúmenes en la ubicación de Azure eastus
en un Ultra
pool de capacidad. Astra Trident detecta automáticamente todas las subredes delegadas en Azure NetApp Files en esa ubicación y coloca un volumen nuevo en una de ellas de forma aleatoria.
--- 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
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: 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'
Configuración de pool virtual
Esta configuración back-end define varios pools de almacenamiento en un único archivo. Esto resulta útil cuando hay varios pools de capacidad que admiten diferentes niveles de servicio y desea crear clases de almacenamiento en Kubernetes que representan estos. Las etiquetas de pool virtual se utilizaron para diferenciar los pools en función de 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: - ultra-1 - ultra-2 networkFeatures: Standard - labels: performance: silver serviceLevel: Premium capacityPools: - premium-1 - labels: performance: bronze serviceLevel: Standard capacityPools: - standard-1 - standard-2
Configuración de topologías admitidas
Astra 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 utiliza 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 de cada nodo de 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 contengan un subconjunto de las regiones y zonas proporcionadas en un back-end, Astra Trident creará volúmenes en la región y la zona mencionadas. Para obtener más información, consulte "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
Las siguientes StorageClass
definiciones hacen referencia a los pools de almacenamiento anteriores.
Ejemplo de definiciones utilizando parameter.selector
el campo
Mediante parameter.selector
una posible especificación para cada StorageClass
pool virtual que se utilizará para alojar un volumen. Los aspectos definidos en el pool elegido serán el volumen.
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
Con nasType
, node-stage-secret-name
y node-stage-secret-namespace
, puede 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 pools que admiten volúmenes SMB. nasType: nfs O nasType: null filtros para pools 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 la creación del back-end falla, algo está mal con la configuración del back-end. Puede ver los registros para determinar la causa ejecutando el siguiente comando:
tridentctl logs
Después de identificar y corregir el problema con el archivo de configuración, puede ejecutar de nuevo el comando create.