Configure un back-end de NetApp HCI o SolidFire
Descubre cómo crear y utilizar un back-end de Element con tu instalación de Astra Trident.
Detalles del controlador de elementos
Astra Trident proporciona la solidfire-san
el controlador de almacenamiento para comunicarse con el clúster. Los modos de acceso admitidos son: ReadWriteOnce (RWO), ReadOnlyMany (ROX), ReadWriteMany (RWX), ReadWriteOncePod (RWOP).
La solidfire-san
el controlador de almacenamiento admite los modos de volumen file y block. Para la Filesystem
VolumeMode, Astra Trident crea un volumen y crea un sistema de archivos. El tipo de sistema de archivos se especifica mediante StorageClass.
Controlador | Protocolo | Modo VolumeMode | Modos de acceso compatibles | Sistemas de archivos compatibles |
---|---|---|---|---|
|
ISCSI |
Bloque |
RWO, ROX, RWX, RWOP |
No hay sistema de archivos. Dispositivo de bloque RAW. |
|
ISCSI |
Sistema de archivos |
RWO, RWOP |
|
Antes de empezar
Necesitarás lo siguiente antes de crear un backend de elemento.
-
Es un sistema de almacenamiento compatible que ejecuta el software Element.
-
Credenciales a un usuario administrador del clúster o inquilino de HCI de NetApp/SolidFire que puede gestionar volúmenes.
-
Todos sus nodos de trabajo de Kubernetes deben tener instaladas las herramientas iSCSI adecuadas. Consulte "información de preparación del nodo de trabajo".
Opciones de configuración del back-end
Consulte la siguiente tabla para ver las opciones de configuración del back-end:
Parámetro | Descripción | Predeterminado |
---|---|---|
|
Siempre 1 |
|
|
Nombre del controlador de almacenamiento |
Siempre “solidfire-san” |
|
Nombre personalizado o el back-end de almacenamiento |
Dirección IP “SolidFire_” + almacenamiento (iSCSI) |
|
MVIP para el clúster de SolidFire con credenciales de inquilino |
|
|
La dirección IP y el puerto de almacenamiento (iSCSI) |
|
|
Conjunto de etiquetas con formato JSON arbitrario que se aplica en los volúmenes. |
"" |
|
Nombre de inquilino que se va a usar (creado si no se encuentra) |
|
|
Restringir el tráfico de iSCSI a una interfaz de host específica |
“predeterminado” |
|
Utilice CHAP para autenticar iSCSI. Astra Trident utiliza CHAP. |
verdadero |
|
Lista de ID de grupos de acceso que se van a usar |
Busca el código de un grupo de acceso denominado “trident”. |
|
Especificaciones de calidad de servicio |
|
|
Error en el aprovisionamiento 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, {“api”:false, “method”:true} |
nulo |
No utilizar debugTraceFlags a menos que esté solucionando problemas y necesite un volcado de registro detallado.
|
Ejemplo 1: Configuración de back-end para solidfire-san
controlador con tres tipos de volumen
Este ejemplo muestra un archivo de back-end mediante autenticación CHAP y modelado de tres tipos de volúmenes con garantías de calidad de servicio específicas. Lo más probable es que, a continuación, defina clases de almacenamiento para consumir cada una de ellas mediante el IOPS
parámetro de clase de almacenamiento.
--- version: 1 storageDriverName: solidfire-san Endpoint: https://<user>:<password>@<mvip>/json-rpc/8.0 SVIP: "<svip>:3260" TenantName: "<tenant>" labels: k8scluster: dev1 backend: dev1-element-cluster UseCHAP: true Types: - Type: Bronze Qos: minIOPS: 1000 maxIOPS: 2000 burstIOPS: 4000 - Type: Silver Qos: minIOPS: 4000 maxIOPS: 6000 burstIOPS: 8000 - Type: Gold Qos: minIOPS: 6000 maxIOPS: 8000 burstIOPS: 10000
Ejemplo 2: Configuración de clase de almacenamiento y de entorno de administración para solidfire-san
controlador con pools virtuales
En este ejemplo, se muestra el archivo de definición del back-end configurado con pools virtuales junto con StorageClasses que les devuelve referencia.
Astra Trident copia las etiquetas presentes en un pool de almacenamiento a la LUN de almacenamiento del entorno de administración al aprovisionar. Para mayor comodidad, los administradores de almacenamiento pueden definir etiquetas por pool virtual y agrupar volúmenes por etiqueta.
En el archivo de definición de backend de ejemplo que se muestra a continuación, se establecen valores predeterminados específicos para todos los grupos de almacenamiento, que establecen el type
En Silver. Los pools virtuales se definen en la storage
sección. En este ejemplo, algunos pools de almacenamiento establecen su propio tipo, y algunos pools anulan los valores predeterminados definidos anteriormente.
--- version: 1 storageDriverName: solidfire-san Endpoint: https://<user>:<password>@<mvip>/json-rpc/8.0 SVIP: "<svip>:3260" TenantName: "<tenant>" UseCHAP: true Types: - Type: Bronze Qos: minIOPS: 1000 maxIOPS: 2000 burstIOPS: 4000 - Type: Silver Qos: minIOPS: 4000 maxIOPS: 6000 burstIOPS: 8000 - Type: Gold Qos: minIOPS: 6000 maxIOPS: 8000 burstIOPS: 10000 type: Silver labels: store: solidfire k8scluster: dev-1-cluster region: us-east-1 storage: - labels: performance: gold cost: '4' zone: us-east-1a type: Gold - labels: performance: silver cost: '3' zone: us-east-1b type: Silver - labels: performance: bronze cost: '2' zone: us-east-1c type: Bronze - labels: performance: silver cost: '1' zone: us-east-1d
Las siguientes definiciones de StorageClass se refieren a los pools virtuales anteriores. Con el parameters.selector
Field, cada clase de almacenamiento llama a qué pools virtuales se pueden utilizar para alojar un volumen. El volumen tendrá los aspectos definidos en el pool virtual elegido.
El primer tipo de almacenamiento (solidfire-gold-four
) se asignará al primer grupo virtual. Este es el único pool que ofrece rendimiento de oro con un Volume Type QoS
De oro. El último tipo de almacenamiento (solidfire-silver
) llama a cualquier pool de almacenamiento que ofrezca un rendimiento elevado. Astra Trident decidirá qué pool virtual se selecciona y garantizará que se cumplan los requisitos de almacenamiento.
apiVersion: storage.k8s.io/v1 kind: StorageClass metadata: name: solidfire-gold-four provisioner: csi.trident.netapp.io parameters: selector: "performance=gold; cost=4" fsType: "ext4" --- apiVersion: storage.k8s.io/v1 kind: StorageClass metadata: name: solidfire-silver-three provisioner: csi.trident.netapp.io parameters: selector: "performance=silver; cost=3" fsType: "ext4" --- apiVersion: storage.k8s.io/v1 kind: StorageClass metadata: name: solidfire-bronze-two provisioner: csi.trident.netapp.io parameters: selector: "performance=bronze; cost=2" fsType: "ext4" --- apiVersion: storage.k8s.io/v1 kind: StorageClass metadata: name: solidfire-silver-one provisioner: csi.trident.netapp.io parameters: selector: "performance=silver; cost=1" fsType: "ext4" --- apiVersion: storage.k8s.io/v1 kind: StorageClass metadata: name: solidfire-silver provisioner: csi.trident.netapp.io parameters: selector: "performance=silver" fsType: "ext4"