Opciones y ejemplos de configuración del back-end de Azure NetApp Files
Obtenga más información acerca de las opciones de configuración de back-end de NFS y SMB para ANF y revise ejemplos de configuración.
Astra Trident utiliza la configuración de back-end (subred, red virtual, nivel de servicio y ubicación) para crear volúmenes ANF en pools de capacidad 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. |
Opciones de configuración del back-end
Los back-ends DE ANF 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 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. |
"" |
|
Puede que el conjunto de funciones de vnet para un volumen sea |
"" |
|
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 |
|
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 recibe un error que indica que no se han encontrado pools de capacidad al crear un PVC, es probable que el registro de aplicaciones no tenga asociados los permisos y recursos necesarios (subred, red virtual o pool de capacidad). 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
puede especificarse utilizando 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.
La resourceGroups
, netappAccounts
, y. capacityPools
los valores son filtros que restringen el conjunto de recursos detectados a los disponibles en este back-end de almacenamiento y pueden especificarse en cualquier combinación de estos. 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 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 |
"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) |
Para todos los volúmenes creados en un back-end ANF, Astra Trident copia las etiquetas presentes en un pool de almacenamiento al volumen de almacenamiento en el momento en el que se aprovisiona. Los administradores de almacenamiento pueden definir etiquetas por pool de almacenamiento y agrupar todos los volúmenes creados en un pool de almacenamiento. Esta es una forma cómoda de diferenciar los volúmenes según un conjunto de etiquetas personalizables que se proporcionan en la configuración del back-end. |
Configuraciones de ejemplo
Ejemplo 1: Configuración mínima
Ésta es la configuración mínima absoluta del back-end. Con esta configuración, Astra Trident descubre todas sus cuentas, pools de capacidad y subredes de NetApp delegadas en ANF en la ubicación configurada, y coloca nuevos volúmenes en uno de estos pools y subredes de forma aleatoria. Porque nasType
se omite, la nfs
El valor predeterminado es aplicable, y el back-end aprovisionará para volúmenes NFS.
Esta configuración es ideal cuando simplemente va a empezar con ANF e intentar cosas, pero en la práctica va a querer proporcionar un ámbito adicional para los volúmenes que debe aprovisionar.
{ "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" }
Ejemplo 2: Configuración específica de nivel de servicio con filtros de pool de capacidad
Esta configuración de back-end coloca volúmenes en las de Azure eastus
ubicación en una Ultra
pool de capacidad. Astra Trident descubre automáticamente todas las subredes delegadas a ANF en esa ubicación y coloca un nuevo volumen 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" ], }
Ejemplo 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": "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" } }
Ejemplo 4: Configuración de pool de almacenamiento 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.
{ "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" }, "location": "eastus", "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"] } ] }
Definiciones de clase de almacenamiento
Lo siguiente StorageClass
las definiciones hacen referencia a los pools de almacenamiento anteriores.
Definiciones de ejemplo mediante parameter.selector
campo
Uso parameter.selector
puede especificar para cada una de ellas StorageClass
el pool virtual que se utiliza 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
Uso nasType
, node-stage-secret-name
, y. node-stage-secret-namespace
, Puede especificar un volumen SMB y proporcionar las credenciales necesarias de Active Directory.
Ejemplo 1: Configuración básica del 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"
Ejemplo 2: Uso de distintos 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}
Ejemplo 3: Uso de distintos 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" Filtra los 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.