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 o NVMe/TCP 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 viene utilizzato ontap-san
per il protocollo NVMe (nonvolatile Memory Express) su TCP (NVMe/TCP).
Consigliamo ONTAP 9,12 o versione successiva per NVMe/TCP. |
Rilevamento del servizio del nodo
Astra 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. |
Astra 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>
Astra Trident identifica i servizi abilitati per ciascun 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
Astra Trident può stabilire automaticamente una sessione iSCSI, eseguire la scansione delle LUN e rilevare i dispositivi multipath, formattarli e montarli su un pod.
Funzionalità di riparazione automatica di iSCSI
Per i sistemi ONTAP, Astra Trident esegue la riparazione automatica di 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. Astra Trident determina le priorità di riparazione e quando anticipare 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 Astra Trident.
|
Le funzionalità di riparazione automatica iSCSI di Astra Trident possono contribuire a prevenire:
-
Sessioni iSCSI obsolete o non funzionanti che potrebbero verificarsi dopo un problema di connettività di rete. In caso di sessione obsoleta, Astra 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 altra distribuzione Linux compatibile con RHEL, con il
solidfire-san
driver e Element OS 12,5 o precedente, verificare che l'algoritmo di autenticazione CHAP sia impostato su MD5 in/etc/iscsi/iscsid.conf
. gli algoritmi CHAP SHA1, SHA-256 e SHA3-256 conformi con FIPS sicuri 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 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 iscsi-initiator-utils sg3_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
-
Impostare la scansione su manuale:
sudo sed -i 's/^\(node.session.scan\).*/\1 = manual/' /etc/iscsi/iscsid.conf
-
Abilitare il multipathing:
sudo mpathconf --enable --with_multipathd y --find_multipaths n
Assicurarsi che etc/multipath.conf
contengafind_multipaths no
sottodefaults
. -
Assicurarsi che
iscsid
emultipathd
siano in esecuzione:sudo systemctl enable --now iscsid multipathd
-
Abilita e avvia
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 che etc/multipath.conf
contengafind_multipaths no
sottodefaults
. -
Assicurarsi che
open-iscsi
e siano abilitati emultipath-tools
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 diopen-iscsi
avviare il daemon iSCSI. In alternativa, è possibile modificare iliscsi
servizio per avviarloiscsid
automaticamente.
Configurare o disattivare la riparazione automatica iSCSI
Puoi configurare le seguenti impostazioni di riparazione automatica di iSCSI Astra 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 correzione automatica iSCSI, passare i iscsiSelfHealingInterval
parametri e iscsiSelfHealingWaitTime
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.2406.0.tgz --set iscsiSelfHealingInterval=3m0s --set iscsiSelfHealingWaitTime=6m0s -n trident
Per configurare o modificare le impostazioni di correzione automatica iSCSI, passare i iscsi-self-healing-interval
parametri e iscsi-self-healing-wait-time
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
Astra Trident modifica il ctrl_device_tmo valore per garantire che NVMe non si arrenda sul percorso in caso di arresti. Non modificare questa impostazione.
|