Préparez le nœud de travail
Tous les nœuds workers du cluster Kubernetes doivent pouvoir monter les volumes provisionnés pour vos pods. Pour préparer les nœuds workers, vous devez installer les outils NFS, iSCSI, NVMe/TCP ou FC en fonction de votre sélection de pilotes.
Choisir les bons outils
Si vous utilisez une combinaison de pilotes, vous devez installer tous les outils requis pour vos pilotes. Les outils installés par défaut sont installés dans les versions récentes de Red Hat Enterprise Linux CoreOS (RHCOS).
"Installez les outils NFS"si vous utilisez : ontap-nas , ontap-nas-economy , ontap-nas-flexgroup , ou azure-netapp-files .
"Installez les outils iSCSI" si vous utilisez : ontap-san, ontap-san-economy, solidfire-san.
"Installez les outils NVMe" si vous utilisez ontap-san Pour le protocole NVMe (Nonvolatile Memory Express) sur TCP (NVMe/TCP).
|
|
NetApp recommande ONTAP 9.12 ou version ultérieure pour NVMe/TCP. |
Pour plus d'informations sur la configuration des hôtes SAN FC et FC-NVMe, reportez-vous à la section"Manières de configurer FC ; hôtes SAN FC-NVMe".
"Installez les outils FC" Si vous utilisez ontap-san avec sanType fcp (SCSI sur FC).
Points à prendre en compte : * SCSI sur FC est pris en charge sur les environnements OpenShift et KubeVirt. * SCSI sur FC n'est pas pris en charge sur Docker. * L'auto-rétablissement iSCSI ne s'applique pas au SCSI sur FC.
"Préparez-vous au provisionnement des volumes SMB" si vous utilisez : ontap-nas provisionner des volumes SMB.
Détection des services de nœud
Trident tente de détecter automatiquement si le nœud peut exécuter des services iSCSI ou NFS.
|
|
La découverte de services de nœuds identifie les services détectés, mais ne garantit pas que les services sont correctement configurés. Inversement, l'absence d'un service découvert ne garantit pas l'échec du montage du volume. |
Trident crée des événements pour le nœud afin d'identifier les services détectés. Pour passer en revue ces événements, exécutez :
kubectl get event -A --field-selector involvedObject.name=<Kubernetes node name>
Trident identifie les services activés pour chaque nœud sur le nœud Trident CR. Pour afficher les services découverts, exécutez :
tridentctl get node -o wide -n <Trident namespace>
Volumes NFS
Installez les outils NFS à l'aide des commandes de votre système d'exploitation. Assurez-vous que le service NFS est démarré pendant le démarrage.
sudo yum install -y nfs-utils
sudo apt-get install -y nfs-common
|
|
Redémarrez les nœuds workers après l'installation des outils NFS afin d'éviter toute défaillance lors de la connexion des volumes aux conteneurs. |
Volumes iSCSI
Trident peut automatiquement établir une session iSCSI, analyser les LUN et détecter les périphériques à chemins d'accès multiples, les formater et les monter sur un pod.
Fonctionnalités d'auto-rétablissement de l'iSCSI
Pour les systèmes ONTAP, Trident exécute l'autorétablissement iSCSI toutes les cinq minutes pour :
-
Identifier l'état de session iSCSI souhaité et l'état de session iSCSI en cours.
-
Comparer l'état souhaité à l'état actuel pour identifier les réparations nécessaires. Trident détermine les priorités de réparation et le moment où les réparations doivent être effectuées.
-
Effectuez les réparations requises pour rétablir l'état de session iSCSI actuel à l'état de session iSCSI souhaité.
|
|
Les journaux d'activité d'auto-rétablissement se trouvent dans trident-main le conteneur sur le pod Demeset respectif. Pour afficher les journaux, vous devez avoir défini debug la valeur « true » lors de l'installation de Trident.
|
Les fonctionnalités d'auto-rétablissement iSCSI de Trident permettent d'éviter :
-
Sessions iSCSI obsolètes ou non saines pouvant survenir après un problème de connectivité réseau. Dans le cas d'une session obsolète, Trident attend sept minutes avant de se déconnecter pour rétablir la connexion avec un portail.
Par exemple, si les secrets CHAP ont tourné sur le contrôleur de stockage et que le réseau perd la connectivité, les anciens secrets CHAP (obsolète) pourraient persister. L'auto-rétablissement peut reconnaître ceci et rétablir automatiquement la session pour appliquer les secrets CHAP mis à jour. -
Sessions iSCSI manquantes
-
LUN manquantes
Points à prendre en compte avant de mettre à niveau Trident
-
Si seuls les igroups par nœud (introduits dans 23.04+) sont utilisés, l'auto-rétablissement iSCSI lance des renumérisations SCSI pour tous les périphériques du bus SCSI.
-
Si seuls les igroups dont le périmètre est back-end (obsolète à partir de la version 23.04) sont utilisés, l'auto-rétablissement iSCSI lance des renumérisations SCSI pour obtenir les ID de LUN exacts dans le bus SCSI.
-
Si une combinaison d'igroups par nœud et d'igroups scoped back-end est utilisée, l'autorétablissement iSCSI lance des renumérisations SCSI pour obtenir des ID de LUN exacts sur le bus SCSI.
Installez les outils iSCSI
Installez les outils iSCSI à l'aide des commandes de votre système d'exploitation.
-
Chaque nœud du cluster Kubernetes doit avoir un IQN unique. C'est une condition préalable nécessaire.
-
En cas d'utilisation de RHCOS version 4.5 ou ultérieure ou d'une autre distribution Linux compatible RHEL, avec le
solidfire-sanPilote et Element OS 12.5 ou version antérieure, assurez-vous que l'algorithme d'authentification CHAP est défini sur MD5 dans/etc/iscsi/iscsid.conf. Les algorithmes CHAP sécurisés conformes à la norme FIPS SHA1, SHA-256 et SHA3-256 sont disponibles avec Element 12.7.sudo sed -i 's/^\(node.session.auth.chap_algs\).*/\1 = MD5/' /etc/iscsi/iscsid.conf
-
Lors de l'utilisation de nœuds worker exécutant RHEL/Red Hat Enterprise Linux CoreOS (RHCOS) avec des PV iSCSI, spécifiez la
discardmountOption dans la classe de stockage pour effectuer la récupération d'espace en ligne. Reportez-vous à la "Documentation Red Hat". -
Assurez-vous d'avoir mis à niveau vers la dernière version du
multipath-tools.
-
Installez les packages système suivants :
sudo yum install -y lsscsi iscsi-initiator-utils device-mapper-multipath
-
Vérifiez que la version iscsi-initiator-utils est 6.2.0.874-2.el7 ou ultérieure :
rpm -q iscsi-initiator-utils
-
Définir la numérisation sur manuelle :
sudo sed -i 's/^\(node.session.scan\).*/\1 = manual/' /etc/iscsi/iscsid.conf
-
Activer les chemins d'accès multiples :
sudo mpathconf --enable --with_multipathd y --find_multipaths n
Assurez-vous que /etc/multipath.confcontientfind_multipaths nomoins dedefaults. -
S'assurer que
iscsidetmultipathdsont en cours d'exécution :sudo systemctl enable --now iscsid multipathd
-
Activer et démarrer
iscsi:sudo systemctl enable --now iscsi
-
Installez les packages système suivants :
sudo apt-get install -y open-iscsi lsscsi sg3-utils multipath-tools scsitools
-
Vérifiez que la version Open-iscsi est 2.0.874-5ubuntu2.10 ou ultérieure (pour bionique) ou 2.0.874-7.1ubuntu6.1 ou ultérieure (pour focaux) :
dpkg -l open-iscsi
-
Définir la numérisation sur manuelle :
sudo sed -i 's/^\(node.session.scan\).*/\1 = manual/' /etc/iscsi/iscsid.conf
-
Activer les chemins d'accès multiples :
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 restartAssurez-vous que /etc/multipath.confcontientfind_multipaths nomoins dedefaults. -
S'assurer que
open-iscsietmultipath-toolssont activées et en cours d'exécution :sudo systemctl status multipath-tools sudo systemctl enable --now open-iscsi.service sudo systemctl status open-iscsi
Pour Ubuntu 18.04, vous devez découvrir les ports cibles avec iscsiadmavant de commenceropen-iscsiPour que le démon iSCSI démarre. Vous pouvez également modifier leiscsiservice à démarreriscsidautomatiquement.
Configurez ou désactivez l'auto-rétablissement iSCSI
Vous pouvez configurer les paramètres d'auto-rétablissement iSCSI Trident suivants pour corriger les sessions obsolètes :
-
Intervalle d'auto-rétablissement iSCSI : détermine la fréquence à laquelle l'auto-rétablissement iSCSI est appelé (par défaut : 5 minutes). Vous pouvez le configurer pour qu'il s'exécute plus fréquemment en définissant un nombre plus petit ou moins fréquemment en définissant un nombre plus grand.
|
|
La définition de l'intervalle d'auto-rétablissement iSCSI sur 0 arrête complètement l'auto-rétablissement iSCSI. Nous ne recommandons pas de désactiver l'auto-rétablissement iSCSI. Il ne doit être désactivé que dans certains cas lorsque l'auto-rétablissement iSCSI ne fonctionne pas comme prévu ou à des fins de débogage. |
-
Délai d'attente d'auto-rétablissement iSCSI : détermine la durée d'attente de l'auto-rétablissement iSCSI avant de se déconnecter d'une session défectueuse et de tenter de se reconnecter (par défaut : 7 minutes). Vous pouvez le configurer sur un nombre plus grand de sorte que les sessions identifiées comme non saines doivent attendre plus longtemps avant d'être déconnectées, puis une tentative de connexion est faite, ou un nombre plus petit pour se déconnecter et se connecter plus tôt.
Pour configurer ou modifier les paramètres d'auto-rétablissement iSCSI, passez le iscsiSelfHealingInterval et iscsiSelfHealingWaitTime paramètres lors de l'installation de helm ou de la mise à jour de helm.
L'exemple suivant définit l'intervalle d'auto-rétablissement iSCSI sur 3 minutes et le temps d'attente d'auto-rétablissement sur 6 minutes :
helm install trident trident-operator-100.2506.0.tgz --set iscsiSelfHealingInterval=3m0s --set iscsiSelfHealingWaitTime=6m0s -n trident
Pour configurer ou modifier les paramètres d'auto-rétablissement iSCSI, passez le iscsi-self-healing-interval et iscsi-self-healing-wait-time paramètres lors de l'installation ou de la mise à jour de tridentctl.
L'exemple suivant définit l'intervalle d'auto-rétablissement iSCSI sur 3 minutes et le temps d'attente d'auto-rétablissement sur 6 minutes :
tridentctl install --iscsi-self-healing-interval=3m0s --iscsi-self-healing-wait-time=6m0s -n trident
Volumes NVMe/TCP
Installez les outils NVMe à l'aide des commandes correspondant à votre système d'exploitation.
|
|
|
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
Vérifiez l'installation
Après l'installation, vérifiez que chaque nœud du cluster Kubernetes dispose d'un NQN unique via la commande :
cat /etc/nvme/hostnqn
|
|
Trident modifie la ctrl_device_tmo valeur pour s'assurer que NVMe ne renonce pas au chemin s'il tombe en panne. Ne modifiez pas ce paramètre.
|
Volumes SCSI sur FC
Vous pouvez désormais utiliser le protocole Fibre Channel (FC) avec Trident pour provisionner et gérer les ressources de stockage sur un système ONTAP.
Prérequis
Configurez les paramètres réseau et nœud requis pour FC.
Paramètres réseau
-
Obtenez le WWPN des interfaces cibles. Pour plus d'informations, reportez-vous à la section "interface réseau affiche" .
-
Procurez-vous le WWPN pour les interfaces sur l'initiateur (hôte).
Reportez-vous aux utilitaires correspondants du système d'exploitation hôte.
-
Configurer la segmentation sur le commutateur FC à l'aide des WWPN de l'hôte et de la cible.
Pour plus d'informations, reportez-vous à la documentation du fournisseur du commutateur Respecive.
Pour plus d'informations, reportez-vous à la documentation ONTAP suivante :
Installez les outils FC
Installez les outils FC à l'aide des commandes de votre système d'exploitation.
-
Lors de l'utilisation de nœuds worker exécutant RHEL/Red Hat Enterprise Linux CoreOS (RHCOS) avec FC PVS, spécifiez la
discardmountOption dans la classe de stockage pour effectuer la récupération d'espace en ligne. Reportez-vous à la "Documentation Red Hat".
-
Installez les packages système suivants :
sudo yum install -y lsscsi device-mapper-multipath
-
Activer les chemins d'accès multiples :
sudo mpathconf --enable --with_multipathd y --find_multipaths n
Assurez-vous que /etc/multipath.confcontientfind_multipaths nomoins dedefaults. -
Assurez-vous que
multipathdest en cours d'exécution :sudo systemctl enable --now multipathd
-
Installez les packages système suivants :
sudo apt-get install -y lsscsi sg3-utils multipath-tools scsitools
-
Activer les chemins d'accès multiples :
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 restartAssurez-vous que /etc/multipath.confcontientfind_multipaths nomoins dedefaults. -
Assurez-vous que
multipath-toolsest activé et en cours d'exécution :sudo systemctl status multipath-tools
Préparez-vous au provisionnement des volumes SMB
Vous pouvez provisionner des volumes SMB à l'aide de ontap-nas conducteurs.
|
|
Vous devez configurer les protocoles NFS et SMB/CIFS au SVM pour créer un ontap-nas-economy volume SMB pour les clusters ONTAP sur site. La configuration de l'un de ces protocoles entraîne l'échec de la création du volume SMB.
|
|
|
autoExportPolicy N'est pas pris en charge pour les volumes SMB.
|
Avant de pouvoir provisionner des volumes SMB, vous devez disposer des éléments suivants :
-
Cluster Kubernetes avec un nœud de contrôleur Linux et au moins un nœud worker Windows exécutant Windows Server 2022. Trident prend en charge les volumes SMB montés sur les pods s'exécutant sur les nœuds Windows uniquement.
-
Au moins un secret Trident contenant vos informations d'identification Active Directory. Pour générer un secret
smbcreds:kubectl create secret generic smbcreds --from-literal username=user --from-literal password='password'
-
Un proxy CSI configuré en tant que service Windows. Pour configurer un
csi-proxy, voir "GitHub : proxy CSI" ou "GitHub : proxy CSI pour Windows" Pour les nœuds Kubernetes s'exécutant sur Windows.
-
Pour les ONTAP sur site, vous pouvez créer un partage SMB ou Trident en créer un pour vous.
Les partages SMB sont requis pour Amazon FSX pour ONTAP. Vous pouvez créer les partages d'administration SMB de deux manières à l'aide de l' "Console de gestion Microsoft" Dossier partagé snap-in ou à l'aide de l'interface de ligne de commande ONTAP. Pour créer les partages SMB à l'aide de l'interface de ligne de commandes ONTAP :
-
Si nécessaire, créez la structure du chemin d'accès au répertoire pour le partage.
Le
vserver cifs share createcommande vérifie le chemin spécifié dans l'option -path lors de la création du partage. Si le chemin spécifié n'existe pas, la commande échoue. -
Créer un partage SMB associé au SVM spécifié :
vserver cifs share create -vserver vserver_name -share-name share_name -path path [-share-properties share_properties,...] [other_attributes] [-comment text]
-
Vérifiez que le partage a été créé :
vserver cifs share show -share-name share_name
Reportez-vous à la section "Créez un partage SMB" pour en savoir plus.
-
-
Lors de la création du back-end, vous devez configurer le suivant pour spécifier les volumes SMB. Pour toutes les options de configuration back-end FSX pour ONTAP, voir "Exemples et options de configuration de FSX pour ONTAP".
Paramètre Description Exemple smbShareVous pouvez spécifier l'une des options suivantes : le nom d'un partage SMB créé à l'aide de la console de gestion Microsoft ou de l'interface de ligne de commande ONTAP ; un nom permettant à Trident de créer le partage SMB ; ou bien laisser le paramètre vide pour empêcher l'accès au partage commun aux volumes. Ce paramètre est facultatif pour les ONTAP sur site. Ce paramètre est requis pour Amazon FSX pour les systèmes back-end ONTAP et ne peut pas être vide.
smb-sharenasTypeDoit être défini sur
smb. si elle est nulle, la valeur par défaut estnfs.smbsecurityStyleStyle de sécurité pour les nouveaux volumes. Doit être défini sur
ntfsoumixedPour les volumes SMB.ntfsoumixedPour les volumes SMBunixPermissionsMode pour les nouveaux volumes. Doit rester vide pour les volumes SMB.
« »