Preparare il nodo di lavoro
Tutti i nodi di lavoro nel cluster Kubernetes devono essere in grado di montare i volumi forniti per i pod. Per preparare i nodi di lavoro, è necessario installare gli strumenti NFS, iSCSI, NVMe/TCP o FC in base alla selezione del driver.
Selezionare gli strumenti giusti
Se si utilizza una combinazione di driver, è necessario installare tutti gli strumenti necessari per i driver. Le versioni recenti di RedHat CoreOS hanno gli strumenti installati di default.
"Installare gli strumenti NFS" se si utilizza: ontap-nas
, ontap-nas-economy
, ontap-nas-flexgroup
, azure-netapp-files
, gcp-cvs
.
"Installare gli strumenti iSCSI" se si utilizza: ontap-san
, ontap-san-economy
, solidfire-san
.
"Installazione degli strumenti NVMe" se si utilizza ontap-san
Per il protocollo NVMe (nonvolatile Memory Express) su TCP (NVMe/TCP).
Consigliamo ONTAP 9,12 o versione successiva per NVMe/TCP. |
SCSI over Fibre Channel (FC) è una funzione di anteprima tecnica nella versione Trident 24,10.
"Installare gli strumenti FC" Se si utilizza ontap-san
con sanType fcp
(SCSI su FC).
Per ulteriori informazioni, fare riferimento "Modalità di configurazione degli host SAN FC FC-NVMe" a.
Rilevamento del servizio del nodo
Trident tenta di rilevare automaticamente se il nodo può eseguire servizi iSCSI o NFS.
Il rilevamento del servizio nodo identifica i servizi rilevati ma non garantisce che i servizi siano configurati correttamente. Al contrario, l'assenza di un servizio rilevato non garantisce il mancato funzionamento del montaggio del volume. |
Trident crea eventi per il nodo per identificare i servizi rilevati. Per rivedere questi eventi, eseguire:
kubectl get event -A --field-selector involvedObject.name=<Kubernetes node name>
Trident identifica i servizi abilitati per ogni nodo sul nodo Trident CR. Per visualizzare i servizi rilevati, eseguire:
tridentctl get node -o wide -n <Trident namespace>
Volumi NFS
Installa gli strumenti NFS utilizzando i comandi del tuo sistema operativo. Assicurarsi che il servizio NFS venga avviato durante l'avvio.
sudo yum install -y nfs-utils
sudo apt-get install -y nfs-common
Riavviare i nodi di lavoro dopo aver installato gli strumenti NFS per evitare errori durante il collegamento dei volumi ai container. |
Volumi iSCSI
Trident è in grado di stabilire automaticamente una sessione iSCSI, eseguire la scansione dei LUN e rilevare dispositivi multipath, formattarli e montarli su un pod.
Funzionalità di riparazione automatica di iSCSI
Per i sistemi ONTAP, Trident esegue la riparazione automatica iSCSI ogni cinque minuti per:
-
Identificare lo stato della sessione iSCSI desiderato e lo stato della sessione iSCSI corrente.
-
Confrontare lo stato desiderato con quello corrente per identificare le riparazioni necessarie. Trident determina le priorità di riparazione e quando prevenire le riparazioni.
-
Eseguire le riparazioni necessarie per riportare lo stato della sessione iSCSI corrente allo stato della sessione iSCSI desiderato.
I log dell'attività di autoriparazione si trovano nel trident-main contenitore sul rispettivo pod Daemonset. Per visualizzare i log, è necessario impostare debug su "true" durante l'installazione di Trident.
|
Le funzionalità di riparazione automatica iSCSI di Trident possono contribuire a prevenire:
-
Sessioni iSCSI obsolete o non funzionanti che potrebbero verificarsi dopo un problema di connettività di rete. Nel caso di una sessione obsoleta, Trident attende sette minuti prima di disconnettersi per ristabilire la connessione con un portale.
Ad esempio, se i segreti CHAP sono stati ruotati sul controller di storage e la rete perde la connettività, i vecchi segreti CHAP (stale) potrebbero persistere. L'autoriparazione è in grado di riconoscerlo e ristabilire automaticamente la sessione per applicare i segreti CHAP aggiornati. -
Sessioni iSCSI mancanti
-
LUN mancanti
Punti da considerare prima di aggiornare Trident
-
Se sono in uso solo gli igroup per nodo (introdotti in 23,04+), la riparazione automatica iSCSI avvierà la riccansione SCSI per tutti i dispositivi nel bus SCSI.
-
Se sono in uso solo gli igroup con ambito backend (deprecati da 23,04), la riparazione automatica iSCSI avvierà la riccansione SCSI per gli ID LUN esatti nel bus SCSI.
-
Se si utilizza una combinazione di igroup per nodo e igroup con ambito backend, la riparazione automatica iSCSI avvierà la riccansione SCSI per gli ID LUN esatti nel bus SCSI.
Installare gli strumenti iSCSI
Installare gli strumenti iSCSI utilizzando i comandi del sistema operativo.
-
Ogni nodo del cluster Kubernetes deve avere un IQN univoco. Questo è un prerequisito necessario.
-
Se si utilizza RHCOS versione 4.5 o successiva, o un'altra distribuzione Linux compatibile con RHEL, con
solidfire-san
Driver ed Element OS 12.5 o versioni precedenti, assicurarsi che l'algoritmo di autenticazione CHAP sia impostato su MD5 in/etc/iscsi/iscsid.conf
. Gli algoritmi CHAP conformi a FIPS sicuri SHA1, SHA-256 e SHA3-256 sono disponibili con Element 12.7.sudo sed -i 's/^\(node.session.auth.chap_algs\).*/\1 = MD5/' /etc/iscsi/iscsid.conf
-
Quando si utilizzano nodi di lavoro che eseguono RHEL/RedHat CoreOS con iSCSI PVS, specificare
discard
MountOption in StorageClass per eseguire la rigenerazione dello spazio inline. Fare riferimento a. "Documentazione RedHat".
-
Installare i seguenti pacchetti di sistema:
sudo yum install -y lsscsi iscsi-initiator-utils device-mapper-multipath
-
Verificare che la versione di iscsi-initiator-utils sia 6.2.0.874-2.el7 o successiva:
rpm -q iscsi-initiator-utils
-
Abilitare il multipathing:
sudo mpathconf --enable --with_multipathd y --find_multipaths n
Assicurarsi etc/multipath.conf
contienefind_multipaths no
sottodefaults
. -
Assicurarsi che
iscsid
e.multipathd
sono in esecuzione:sudo systemctl enable --now iscsid multipathd
-
Attivare e avviare
iscsi
:sudo systemctl enable --now iscsi
-
Installare i seguenti pacchetti di sistema:
sudo apt-get install -y open-iscsi lsscsi sg3-utils multipath-tools scsitools
-
Verificare che la versione Open-iscsi sia 2.0.874-5ubuntu2.10 o successiva (per il bionico) o 2.0.874-7.1ubuntu6.1 o successiva (per il focale):
dpkg -l open-iscsi
-
Impostare la scansione su manuale:
sudo sed -i 's/^\(node.session.scan\).*/\1 = manual/' /etc/iscsi/iscsid.conf
-
Abilitare il multipathing:
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 restart
Assicurarsi etc/multipath.conf
contienefind_multipaths no
sottodefaults
. -
Assicurarsi che
open-iscsi
e.multipath-tools
sono abilitati e in esecuzione:sudo systemctl status multipath-tools sudo systemctl enable --now open-iscsi.service sudo systemctl status open-iscsi
Per Ubuntu 18.04, è necessario rilevare le porte di destinazione con iscsiadm
prima di iniziareopen-iscsi
Per avviare il daemon iSCSI. In alternativa, è possibile modificareiscsi
servizio da avviareiscsid
automaticamente.
Configurare o disattivare la riparazione automatica iSCSI
È possibile configurare le seguenti impostazioni di riparazione automatica iSCSI Trident per correggere le sessioni obsolete:
-
Intervallo di autoriparazione iSCSI: Determina la frequenza con cui viene richiamata l'autoriparazione iSCSI (valore predefinito: 5 minuti). È possibile configurare l'esecuzione più frequente impostando un numero minore o meno frequente impostando un numero maggiore.
Impostando l'intervallo di riparazione automatica iSCSI su 0 si arresta completamente la riparazione automatica iSCSI. Si sconsiglia di disattivare la funzionalità di riparazione automatica iSCSI; questa opzione deve essere disattivata solo in alcuni scenari quando la riparazione automatica iSCSI non funziona come previsto o a scopo di debug. |
-
Tempo di attesa per la riparazione automatica iSCSI: Determina la durata di attesa per la riparazione automatica iSCSI prima di uscire da una sessione non corretta e di tentare nuovamente l'accesso (valore predefinito: 7 minuti). È possibile configurarlo su un numero maggiore in modo che le sessioni identificate come non integre debbano attendere più a lungo prima di essere disconnesse e quindi venga effettuato un tentativo di riconnessione o un numero minore per disconnettersi e accedere in precedenza.
Per configurare o modificare le impostazioni di riparazione automatica iSCSI, passare il iscsiSelfHealingInterval
e. iscsiSelfHealingWaitTime
parametri durante l'installazione del timone o l'aggiornamento del timone.
Il seguente esempio imposta l'intervallo di riparazione automatica iSCSI su 3 minuti e il tempo di attesa di riparazione automatica su 6 minuti:
helm install trident trident-operator-100.2410.0.tgz --set iscsiSelfHealingInterval=3m0s --set iscsiSelfHealingWaitTime=6m0s -n trident
Per configurare o modificare le impostazioni di riparazione automatica iSCSI, passare il iscsi-self-healing-interval
e. iscsi-self-healing-wait-time
parametri durante l'installazione o l'aggiornamento di tridentctl.
Il seguente esempio imposta l'intervallo di riparazione automatica iSCSI su 3 minuti e il tempo di attesa di riparazione automatica su 6 minuti:
tridentctl install --iscsi-self-healing-interval=3m0s --iscsi-self-healing-wait-time=6m0s -n trident
Volumi NVMe/TCP
Installa gli strumenti NVMe utilizzando i comandi del tuo 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
Verificare l'installazione
Dopo l'installazione, verificare che ogni nodo nel cluster Kubernetes disponga di un NQN univoco utilizzando il comando:
cat /etc/nvme/hostnqn
Trident modifica il ctrl_device_tmo valore per garantire che NVMe non ceda sul percorso in caso di arresti. Non modificare questa impostazione.
|
Installare gli strumenti FC
Installa gli strumenti FC utilizzando i comandi del tuo sistema operativo.
-
Quando si utilizzano nodi di lavoro che eseguono RHEL/RedHat CoreOS con FC PVS, specificare il
discard
mount Option in StorageClass per eseguire il recupero dello spazio in linea. Fare riferimento alla "Documentazione RedHat".
-
Installare i seguenti pacchetti di sistema:
sudo yum install -y lsscsi device-mapper-multipath
-
Abilitare il multipathing:
sudo mpathconf --enable --with_multipathd y --find_multipaths n
Assicurarsi etc/multipath.conf
contienefind_multipaths no
sottodefaults
. -
Assicurarsi che
multipathd
sia in esecuzione:sudo systemctl enable --now multipathd
-
Installare i seguenti pacchetti di sistema:
sudo apt-get install -y lsscsi sg3-utils multipath-tools scsitools
-
Abilitare il multipathing:
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 restart
Assicurarsi etc/multipath.conf
contienefind_multipaths no
sottodefaults
. -
Assicurarsi che
multipath-tools
sia attivato e in esecuzione:sudo systemctl status multipath-tools