Prepara el nodo trabajador
Todos los nodos de trabajo del clúster de Kubernetes deben poder montar los volúmenes que has aprovisionado para tus pods. Para preparar los nodos de trabajo, tienes que instalar herramientas NFS, iSCSI, NVMe/TCP o FC según la selección de tu driver.
Seleccionar las herramientas adecuadas
Si usas una combinación de controladores, deberías instalar todas las herramientas necesarias para tus controladores. Las versiones recientes de Red Hat Enterprise Linux CoreOS (RHCOS) ya traen las herramientas instaladas por defecto.
"Instala las herramientas NFS" si usas: ontap-nas, ontap-nas-economy, ontap-nas-flexgroup, o azure-netapp-files.
"Instala las herramientas iSCSI" si estás usando: ontap-san, ontap-san-economy, solidfire-san.
"Instala las herramientas NVMe" si estás usando ontap-san para nonvolatile memory express (NVMe) sobre TCP (NVMe/TCP).
|
|
NetApp recomienda ONTAP 9.12 o versiones posteriores para NVMe/TCP. |
Consulta "Formas de configurar hosts SAN FC FC-NVMe" para más información sobre cómo configurar tus hosts SAN FC y FC-NVMe.
"Instala las herramientas FC" si estás usando ontap-san con sanType fcp (SCSI sobre FC).
Puntos a tener en cuenta: * SCSI sobre FC es compatible con los entornos OpenShift y KubeVirt. * SCSI sobre FC no es compatible con Docker. * La reparación automática de iSCSI no es aplicable a SCSI sobre FC.
"Prepárate para aprovisionar volúmenes SMB" si estás usando: ontap-nas para aprovisionar volúmenes SMB.
Descubrimiento de servicios de nodo
Trident intenta detectar automáticamente si el nodo puede ejecutar servicios iSCSI o NFS.
|
|
El descubrimiento de servicios de nodo identifica los servicios descubiertos pero no garantiza que los servicios estén configurados correctamente. Por el contrario, la ausencia de un servicio descubierto no garantiza que el montaje del volumen falle. |
Trident crea eventos para el nodo para identificar los servicios descubiertos. Para revisar estos eventos, ejecuta:
kubectl get event -A --field-selector involvedObject.name=<Kubernetes node name>
Trident identifica los servicios habilitados para cada nodo en el Trident node CR. Para ver los servicios descubiertos, ejecuta:
tridentctl get node -o wide -n <Trident namespace>
Volúmenes NFS
Instala las herramientas NFS usando los comandos para tu sistema operativo. Asegúrate de que el servicio de NFS se inicie durante el momento de arranque.
sudo yum install -y nfs-utils
sudo apt-get install -y nfs-common
|
|
Reinicia tus nodos trabajadores después de instalar las herramientas NFS para evitar fallos al adjuntar volúmenes a los contenedores. |
volúmenes iSCSI
Trident puede establecer automáticamente una sesión iSCSI, escanear LUNs, descubrir dispositivos multivía, formatearlos y montarlos en un pod.
capacidades de reparación automática iSCSI
Para los sistemas ONTAP, Trident ejecuta la reparación automática iSCSI cada cinco minutos para:
-
Identifica el estado de sesión iSCSI deseado y el estado de sesión iSCSI actual.
-
Compara el estado deseado con el estado actual para identificar las reparaciones necesarias. Trident determina las prioridades de reparación y cuándo anticipar las reparaciones.
-
Realiza las reparaciones necesarias para devolver el estado de sesión iSCSI actual al estado de sesión iSCSI deseado.
|
|
Los registros de la actividad de reparación automática se encuentran en el contenedor trident-main en el pod Daemonset correspondiente. Para ver los registros, tienes que haber establecido debug en "true" durante la instalación de Trident.
|
Las capacidades de reparación automática de Trident iSCSI pueden ayudar a prevenir:
-
Sesiones iSCSI obsoletas o no saludables que podrían ocurrir después de un problema de conectividad de red. En el caso de una sesión obsoleta, Trident espera siete minutos antes de cerrar la sesión para restablecer la conexión con un portal.
Por ejemplo, si se rotan los secretos CHAP en el controlador de almacenamiento y la red pierde conectividad, podrían persistir los secretos CHAP antiguos (stale). La reparación automática puede reconocer esto y restablecer automáticamente la sesión para aplicar los secretos CHAP actualizados. -
Faltan sesiones iSCSI
-
LUNs perdidos
Puntos a tener en cuenta antes de actualizar Trident
-
Si solo se utilizan igroups por nodo (introducidos en 23.04+), la reparación automática de iSCSI iniciará rescans SCSI para todos los dispositivos en el bus SCSI.
-
Si solo se utilizan igroups con ámbito backend (obsoletos desde la 23.04), la reparación automática de iSCSI iniciará rescans SCSI para los IDs de LUN exactos en el bus SCSI.
-
Si se utiliza una mezcla de igroups por nodo e igroups de ámbito backend, la reparación automática de iSCSI iniciará rescans SCSI para LUN IDs exactos en el bus SCSI.
Instala las herramientas iSCSI
Instala las herramientas iSCSI usando los comandos para tu sistema operativo.
-
Cada nodo en el clúster de Kubernetes debe tener un IQN único. Este es un requisito previo necesario.
-
Si usas RHCOS versión 4.5 o posterior, u otra distribución de Linux compatible con RHEL, con el
solidfire-sandriver y Element OS 12.5 o anterior, asegúrate de que el algoritmo de autenticación CHAP esté configurado en MD5 en/etc/iscsi/iscsid.conf. Los algoritmos CHAP seguros compatibles con FIPS SHA1, SHA-256 y SHA3-256 están disponibles con Element 12.7.sudo sed -i 's/^\(node.session.auth.chap_algs\).*/\1 = MD5/' /etc/iscsi/iscsid.conf
-
Cuando utilices nodos trabajadores que ejecutan RHEL/Red Hat Enterprise Linux CoreOS (RHCOS) con iSCSI PVs, especifica el
discardmountOption en la StorageClass para realizar la reclamación de espacio en línea. Consulta "Documentación de Red Hat". -
Asegúrate de que has actualizado a la última versión de
multipath-tools.
-
Instala los siguientes paquetes del sistema:
sudo yum install -y lsscsi iscsi-initiator-utils device-mapper-multipath
-
Verifica que la versión de iscsi-initiator-utils sea 6.2.0.874-2.el7 o posterior:
rpm -q iscsi-initiator-utils
-
Configura el escaneo en manual:
sudo sed -i 's/^\(node.session.scan\).*/\1 = manual/' /etc/iscsi/iscsid.conf
-
Activa la multivía:
sudo mpathconf --enable --with_multipathd y --find_multipaths n
Asegúrate de que /etc/multipath.confcontienefind_multipaths nobajodefaults. -
Asegúrate de que
iscsidymultipathdestán en funcionamiento:sudo systemctl enable --now iscsid multipathd
-
Activa e inicia
iscsi:sudo systemctl enable --now iscsi
-
Instala los siguientes paquetes del sistema:
sudo apt-get install -y open-iscsi lsscsi sg3-utils multipath-tools scsitools
-
Verifica que la versión de open-iscsi sea 2.0.874-5ubuntu2.10 o posterior (para bionic) o 2.0.874-7.1ubuntu6.1 o posterior (para focal):
dpkg -l open-iscsi
-
Configura el escaneo en manual:
sudo sed -i 's/^\(node.session.scan\).*/\1 = manual/' /etc/iscsi/iscsid.conf
-
Activa la multivía:
sudo tee /etc/multipath.conf <<-EOF defaults { user_friendly_names yes find_multipaths no } EOF sudo systemctl enable --now multipath-tools.service sudo service multipath-tools restartAsegúrate de que /etc/multipath.confcontienefind_multipaths nobajodefaults. -
Asegúrate de que
open-iscsiymultipath-toolsestán habilitados y en funcionamiento:sudo systemctl status multipath-tools sudo systemctl enable --now open-iscsi.service sudo systemctl status open-iscsi
Para Ubuntu 18.04, debes descubrir los puertos de destino con iscsiadmantes de iniciaropen-iscsipara que el demonio iSCSI se inicie. También puedes modificar el servicioiscsipara que se inicieiscsidautomáticamente.
Configura o desactiva la reparación automática de iSCSI
Puedes configurar las siguientes opciones de reparación automática de Trident iSCSI para arreglar las sesiones obsoletas:
-
intervalo de reparación automática iSCSI: Determina la frecuencia con la que se invoca la reparación automática iSCSI (por defecto: 5 minutos). Puedes configurarlo para que se ejecute con más frecuencia estableciendo un número menor o con menos frecuencia estableciendo un número mayor.
|
|
Establecer el intervalo de reparación automática iSCSI en 0 detiene la reparación automática iSCSI por completo. No recomendamos desactivar la reparación automática iSCSI; solo debería desactivarse en ciertos escenarios cuando la reparación automática iSCSI no funciona como se espera o para fines de depuración. |
-
tiempo de espera de reparación automática iSCSI: determina la duración de la espera de la reparación automática iSCSI antes de cerrar la sesión no saludable e intentar volver a iniciar sesión (por defecto: 7 minutos). Puedes configurarlo con un número mayor para que las sesiones que se identifiquen como no saludables tengan que esperar más tiempo antes de cerrar la sesión y luego se intente volver a iniciar sesión, o con un número menor para cerrar la sesión e iniciarla antes.
Para configurar o cambiar los ajustes de reparación automática de iSCSI, pasa los parámetros iscsiSelfHealingInterval y iscsiSelfHealingWaitTime durante la instalación o actualización de helm.
El siguiente ejemplo establece el intervalo de reparación automática iSCSI en 3 minutos y el tiempo de espera de reparación automática en 6 minutos:
helm install trident trident-operator-100.2506.0.tgz --set iscsiSelfHealingInterval=3m0s --set iscsiSelfHealingWaitTime=6m0s -n trident
Para configurar o cambiar los ajustes de reparación automática de iSCSI, pasa los parámetros iscsi-self-healing-interval y iscsi-self-healing-wait-time durante la instalación o actualización de tridentctl.
El siguiente ejemplo establece el intervalo de reparación automática iSCSI en 3 minutos y el tiempo de espera de reparación automática en 6 minutos:
tridentctl install --iscsi-self-healing-interval=3m0s --iscsi-self-healing-wait-time=6m0s -n trident
Volúmenes NVMe/TCP
Instala las herramientas NVMe usando los comandos para tu sistema operativo.
|
|
|
sudo yum install nvme-cli sudo yum install linux-modules-extra-$(uname -r) sudo modprobe nvme-tcp
sudo apt install nvme-cli sudo apt -y install linux-modules-extra-$(uname -r) sudo modprobe nvme-tcp
Verifica la instalación
Después de la instalación, verifica que cada nodo del clúster de Kubernetes tenga un NQN único usando el comando:
cat /etc/nvme/hostnqn
|
|
Trident modifica el valor de ctrl_device_tmo para asegurarse de que NVMe no abandone la ruta si se cae. No cambies esta configuración.
|
Volúmenes SCSI sobre FC
Ahora puedes usar el protocolo Fibre Channel (FC) con Trident para aprovisionar y gestionar recursos de almacenamiento en el sistema ONTAP.
Prerrequisitos
Configura los ajustes de red y de nodo necesarios para FC.
Configuración de red
-
Obtén el WWPN de las interfaces de destino. Consulta "network interface show" para más información.
-
Obtén el WWPN de las interfaces en el iniciador (host).
Consulta las utilidades correspondientes del sistema operativo host.
-
Configura la división en zonas en el conmutador FC usando los WWPN del host y del target.
Consulta la documentación del proveedor del conmutador correspondiente para más información.
Consulta la siguiente documentación de ONTAP para más detalles:
Instala las herramientas FC
Instala las herramientas de FC usando los comandos para tu sistema operativo.
-
Cuando uses nodos trabajadores que ejecutan RHEL/Red Hat Enterprise Linux CoreOS (RHCOS) con FC PVs, especifica el
discardmountOption en la StorageClass para realizar la reclamación de espacio en línea. Consulta "Documentación de Red Hat".
-
Instala los siguientes paquetes del sistema:
sudo yum install -y lsscsi device-mapper-multipath
-
Activa la multivía:
sudo mpathconf --enable --with_multipathd y --find_multipaths n
Asegúrate de que /etc/multipath.confcontienefind_multipaths nobajodefaults. -
Asegúrate de que
multipathdestá funcionando:sudo systemctl enable --now multipathd
-
Instala los siguientes paquetes del sistema:
sudo apt-get install -y lsscsi sg3-utils multipath-tools scsitools
-
Activa la multivía:
sudo tee /etc/multipath.conf <<-EOF defaults { user_friendly_names yes find_multipaths no } EOF sudo systemctl enable --now multipath-tools.service sudo service multipath-tools restartAsegúrate de que /etc/multipath.confcontienefind_multipaths nobajodefaults. -
Asegúrate de que
multipath-toolsestá activado y en funcionamiento:sudo systemctl status multipath-tools
Prepárate para aprovisionar volúmenes SMB
Puedes aprovisionar volúmenes SMB usando ontap-nas drivers.
|
|
Debes configurar tanto los protocolos NFS como SMB/CIFS en la SVM para crear un ontap-nas-economy volumen SMB para clústeres ONTAP locales. Si no configuras alguno de estos protocolos, la creación del volumen SMB fallará.
|
|
|
autoExportPolicy no es compatible con volúmenes SMB.
|
Antes de que puedas aprovisionar volúmenes SMB, debes tener lo siguiente.
-
Un clúster de Kubernetes con un nodo controlador Linux y al menos un nodo trabajador Windows que ejecuta Windows Server 2022. Trident admite volúmenes SMB montados en pods que se ejecutan solo en nodos de Windows.
-
Al menos un secreto de Trident con tus credenciales de Active Directory. Para generar un secreto
smbcreds:kubectl create secret generic smbcreds --from-literal username=user --from-literal password='password'
-
Un proxy CSI configurado como un servicio de Windows. Para configurar un
csi-proxy, consulta "GitHub: CSI Proxy" o "GitHub: CSI Proxy para Windows" para nodos de Kubernetes que se ejecutan en Windows.
-
Para ONTAP local, puedes crear opcionalmente un recurso compartido SMB o Trident puede crear uno para ti.
Se requieren recursos compartidos SMB para Amazon FSx for ONTAP. Puedes crear los recursos compartidos de administrador de SMB de dos maneras: usando el complemento "Microsoft Management Console" Shared Folders o usando la CLI de ONTAP. Para crear los recursos compartidos de SMB usando la CLI de ONTAP:
-
Si es necesario, crea la estructura de ruta del directorio para el recurso compartido.
El `vserver cifs share create`comando comprueba la ruta especificada en la opción -path durante la creación del recurso compartido. Si la ruta especificada no existe, el comando falla.
-
Crea un recurso compartido SMB asociado con la SVM especificada:
vserver cifs share create -vserver vserver_name -share-name share_name -path path [-share-properties share_properties,...] [other_attributes] [-comment text]
-
Verifica que se creó el recurso compartido:
vserver cifs share show -share-name share_name
Consulta "Crear un recurso compartido SMB" para obtener detalles completos.
-
-
Al crear el backend, debes configurar lo siguiente para especificar los volúmenes SMB. Para todas las opciones de configuración del backend de FSx for ONTAP, consulta "Opciones de configuración de FSx for ONTAP y ejemplos".
Parámetro Descripción Ejemplo smbSharePuedes especificar uno de los siguientes: el nombre de un recurso compartido SMB creado usando Microsoft Management Console o la CLI de ONTAP, un nombre para permitir que Trident cree el recurso compartido SMB, o puedes dejar el parámetro en blanco para evitar el acceso compartido común a los volúmenes. Este parámetro es opcional para ONTAP local. Este parámetro es obligatorio para los backends de Amazon FSx for ONTAP y no puede estar en blanco.
smb-sharenasTypeDebe establecerse en
smb. Si es nulo, el valor predeterminado esnfs.smbsecurityStyleEstilo de seguridad para nuevos volúmenes. Debe configurarse en
ntfsomixedpara volúmenes SMB.ntfsomixedpara volúmenes SMBunixPermissionsModo para nuevos volúmenes. Debe dejarse vacío para volúmenes SMB.
""