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"