Preparar el nodo de trabajo
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, debe instalar las herramientas NFS, iSCSI, NVMe/TCP o FC según el controlador que haya seleccionado.
Seleccionar las herramientas adecuadas
Si utiliza una combinación de controladores, deberá instalar todas las herramientas necesarias para sus controladores. Las versiones recientes de Red Hat Enterprise Linux CoreOS (RHCOS) tienen las herramientas instaladas por defecto.
"Instala las herramientas NFS"Si estás usando: ontap-nas , ontap-nas-economy , ontap-nas-flexgroup , azure-netapp-files , gcp-cvs .
"Instala las herramientas iSCSI"Si estás usando: ontap-san , ontap-san-economy , solidfire-san .
"Instala las herramientas NVMe"Si estas usando ontap-san para el protocolo de memoria no volátil express (NVMe) sobre TCP (NVMe/TCP).
|
|
NetApp recomienda ONTAP 9.12 o posterior para NVMe/TCP. |
Referirse a"Formas de configurar hosts SAN FC y FC-NVMe" Para obtener más información sobre la configuración de sus hosts SAN FC y FC-NVMe.
"Instala las herramientas FC"Si estas usando ontap-san con sanType fcp (SCSI sobre FC).
Puntos a considerar: * SCSI sobre FC es compatible con entornos OpenShift y KubeVirt. * SCSI sobre FC no es compatible con Docker. * La autorreparación de iSCSI no es aplicable a SCSI sobre FC.
Descubrimiento de servicios de nodo
Trident intenta detectar automáticamente si el nodo puede ejecutar servicios iSCSI o NFS.
|
|
La detección 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 detectado no garantiza que el montaje del volumen vaya a fallar. |
Trident crea eventos para que el nodo identifique los servicios descubiertos. Para revisar estos eventos, ejecute:
kubectl get event -A --field-selector involvedObject.name=<Kubernetes node name>
Trident identifica los servicios habilitados para cada nodo en el nodo CR de Trident . Para ver los servicios detectados, ejecute:
tridentctl get node -o wide -n <Trident namespace>
Volúmenes de NFS
Instala las herramientas NFS utilizando los comandos correspondientes a tu sistema operativo. Asegúrese de que el servicio NFS se inicie durante el arranque del sistema.
sudo yum install -y nfs-utils
sudo apt-get install -y nfs-common
|
|
Reinicie sus nodos de trabajo después de instalar las herramientas NFS para evitar fallos al conectar volúmenes a los contenedores. |
volúmenes iSCSI
Trident puede establecer automáticamente una sesión iSCSI, escanear LUN, descubrir dispositivos multipath, formatearlos y montarlos en un pod.
capacidades de autorreparación de iSCSI
Para los sistemas ONTAP , Trident ejecuta la autorreparación iSCSI cada cinco minutos para:
-
Identificar 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 anticiparse a las reparaciones.
-
Realizar las reparaciones necesarias para devolver el estado actual de la sesión iSCSI al estado deseado.
|
|
Los registros de actividad de autocuración se encuentran en el trident-main contenedor en el pod Daemonset correspondiente. Para ver los registros, debe haber configurado debug a "verdadero" durante la instalación de Trident .
|
Las capacidades de autorreparación de Trident iSCSI pueden ayudar a prevenir:
-
Sesiones iSCSI obsoletas o defectuosas que podrían producirse tras un problema de conectividad de red. En caso de una sesión inactiva, Trident espera siete minutos antes de cerrar sesión para restablecer la conexión con un portal.
Por ejemplo, si los secretos CHAP se rotaran en el controlador de almacenamiento y la red perdiera la conectividad, los secretos CHAP antiguos (obsoletos) podrían persistir. La autocuración puede reconocer esto y restablecer automáticamente la sesión para aplicar los secretos CHAP actualizados. -
Faltan sesiones iSCSI
-
LUN faltantes
Puntos a considerar antes de actualizar Trident
-
Si solo se utilizan grupos de información por nodo (introducidos en la versión 23.04+), la autocuración de iSCSI iniciará nuevos escaneos SCSI para todos los dispositivos en el bus SCSI.
-
Si solo se utilizan igroups con ámbito de backend (obsoletos a partir de la versión 23.04), la autocuración de iSCSI iniciará nuevos escaneos SCSI para los ID de LUN exactos en el bus SCSI.
-
Si se utiliza una combinación de igroups por nodo e igroups con ámbito de backend, la autorreparación de iSCSI iniciará nuevos escaneos SCSI para los ID de LUN exactos en el bus SCSI.
Instala las herramientas iSCSI
Instale las herramientas iSCSI utilizando los comandos correspondientes a su sistema operativo.
-
Cada nodo del clúster de Kubernetes debe tener un IQN único. Este es un requisito previo necesario.
-
Si utiliza RHCOS versión 4.5 o posterior, u otra distribución de Linux compatible con RHEL, con el
solidfire-sanEn el controlador y Element OS 12.5 o anterior, asegúrese de que el algoritmo de autenticación CHAP esté configurado en MD5 en/etc/iscsi/iscsid.confLos algoritmos CHAP seguros y 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 utilice nodos de trabajo que ejecuten RHEL/Red Hat Enterprise Linux CoreOS (RHCOS) con volúmenes persistentes iSCSI, especifique el
discardmountOption en la StorageClass para realizar la recuperación de espacio en línea. Referirse a "Documentación de Red Hat" . -
Asegúrese de haber actualizado a la última versión de
multipath-tools.
-
Instale los siguientes paquetes del sistema:
sudo yum install -y lsscsi iscsi-initiator-utils device-mapper-multipath
-
Compruebe que la versión de iscsi-initiator-utils sea la 6.2.0.874-2.el7 o posterior:
rpm -q iscsi-initiator-utils
-
Configurar el escaneo en modo manual:
sudo sed -i 's/^\(node.session.scan\).*/\1 = manual/' /etc/iscsi/iscsid.conf
-
Habilitar rutas múltiples:
sudo mpathconf --enable --with_multipathd y --find_multipaths n
Asegurar /etc/multipath.confcontienefind_multipaths nobajodefaults. -
Asegúrese de que
iscsidymultipathdestán en funcionamiento:sudo systemctl enable --now iscsid multipathd
-
Habilitar e iniciar
iscsi:sudo systemctl enable --now iscsi
-
Instale los siguientes paquetes del sistema:
sudo apt-get install -y open-iscsi lsscsi sg3-utils multipath-tools scsitools
-
Compruebe 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
-
Configurar el escaneo en modo manual:
sudo sed -i 's/^\(node.session.scan\).*/\1 = manual/' /etc/iscsi/iscsid.conf
-
Habilitar rutas múltiples:
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 restartAsegurar /etc/multipath.confcontienefind_multipaths nobajodefaults. -
Asegúrese 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, debe descubrir los puertos de destino con iscsiadmantes de comenzaropen-iscsipara que se inicie el demonio iSCSI. También puedes modificar eliscsiservicio para comenzariscsidautomáticamente.
Configurar o deshabilitar la autorreparación de iSCSI
Puede configurar los siguientes ajustes de autorreparación de Trident iSCSI para corregir sesiones obsoletas:
-
Intervalo de autocuración iSCSI: Determina la frecuencia con la que se invoca la autocuración iSCSI (predeterminado: 5 minutos). Puedes configurarlo para que se ejecute con mayor frecuencia estableciendo un número menor o con menor frecuencia estableciendo un número mayor.
|
|
Configurar el intervalo de autocuración de iSCSI en 0 detiene por completo la autocuración de iSCSI. No recomendamos deshabilitar la autorreparación de iSCSI; solo debe deshabilitarse en ciertos escenarios cuando la autorreparación de iSCSI no funciona como se espera o con fines de depuración. |
-
Tiempo de espera de autocuración de iSCSI: Determina la duración que la autocuración de iSCSI espera antes de cerrar la sesión de una sesión defectuosa e intentar iniciar sesión de nuevo (predeterminado: 7 minutos). Puede configurarlo con un número mayor para que las sesiones identificadas como no saludables tengan que esperar más tiempo antes de cerrarse y luego se intente volver a iniciar sesión, o con un número menor para cerrar sesión e iniciarla antes.
Para configurar o cambiar los ajustes de autorreparación de iSCSI, pase el iscsiSelfHealingInterval y iscsiSelfHealingWaitTime parámetros durante la instalación o actualización de Helm.
El siguiente ejemplo establece el intervalo de autorreparación de iSCSI en 3 minutos y el tiempo de espera de autorreparación 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 autorreparación de iSCSI, pase el iscsi-self-healing-interval y iscsi-self-healing-wait-time parámetros durante la instalación o actualización de tridentctl.
El siguiente ejemplo establece el intervalo de autorreparación de iSCSI en 3 minutos y el tiempo de espera de autorreparación 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 utilizando los comandos correspondientes a 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
Verificar la instalación
Tras la instalación, verifique que cada nodo del clúster de Kubernetes tenga un NQN único mediante el siguiente comando:
cat /etc/nvme/hostnqn
|
|
Trident modifica el ctrl_device_tmo Valor para garantizar que NVMe no abandone la ruta si falla. No cambie esta configuración.
|
SCSI sobre volúmenes FC
Ahora puede utilizar el protocolo Fibre Channel (FC) con Trident para aprovisionar y administrar recursos de almacenamiento en el sistema ONTAP .
Prerrequisitos
Configure los ajustes de red y nodo necesarios para FC.
Configuración de red
-
Obtén el WWPN de las interfaces de destino. Referirse a "Mostrar interfaz de red" Para más información.
-
Obtenga el WWPN para las interfaces en el iniciador (Host).
Consulte las utilidades correspondientes del sistema operativo anfitrión.
-
Configure el zonificado en el switch FC utilizando los WWPN del host y del destino.
Consulte la documentación del proveedor del conmutador correspondiente para obtener información.
Consulte la siguiente documentación de ONTAP para obtener más detalles:
Instala las herramientas FC
Instala las herramientas FC utilizando los comandos correspondientes a tu sistema operativo.
-
Cuando utilice nodos de trabajo que ejecuten RHEL/Red Hat Enterprise Linux CoreOS (RHCOS) con PV FC, especifique el
discardmountOption en la StorageClass para realizar la recuperación de espacio en línea. Referirse a "Documentación de Red Hat" .
-
Instale los siguientes paquetes del sistema:
sudo yum install -y lsscsi device-mapper-multipath
-
Habilitar rutas múltiples:
sudo mpathconf --enable --with_multipathd y --find_multipaths n
Asegurar /etc/multipath.confcontienefind_multipaths nobajodefaults. -
Asegúrese de que
multipathdestá en funcionamiento:sudo systemctl enable --now multipathd
-
Instale los siguientes paquetes del sistema:
sudo apt-get install -y lsscsi sg3-utils multipath-tools scsitools
-
Habilitar rutas múltiples:
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 restartAsegurar /etc/multipath.confcontienefind_multipaths nobajodefaults. -
Asegúrese de que
multipath-toolsestá habilitado y en funcionamiento:sudo systemctl status multipath-tools