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 Red Hat Enterprise Linux CoreOS (RHCOS) hanno gli strumenti installati per impostazione predefinita.
"Installare gli strumenti NFS"se stai utilizzando: ontap-nas , ontap-nas-economy , ontap-nas-flexgroup , O azure-netapp-files .
"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).
|
|
NetApp consiglia ONTAP 9,12 o versione successiva per NVMe/TCP. |
Fare riferimento a "Modalità di configurazione degli host SAN FC FC-NVMe" per ulteriori informazioni sulla configurazione degli host SAN FC e FC-NVMe.
"Installare gli strumenti FC" Se si utilizza ontap-san con sanType fcp (SCSI su FC).
Punti da considerare: * SCSI su FC è supportato negli ambienti OpenShift e KubeVirt. * SCSI su FC non è supportato su Docker. * La riparazione automatica iSCSI non è applicabile a SCSI su FC.
"Preparatevi al provisioning dei volumi SMB" se stai utilizzando: ontap-nas per fornire volumi SMB.
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-sanDriver 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/Red Hat Enterprise Linux CoreOS (RHCOS) con iSCSI PVS, specificare il
discardmount Option in StorageClass per eseguire il recupero dello spazio in linea. Fare riferimento alla "Documentazione di Red Hat". -
Assicurati di aver aggiornato all'ultima versione di
multipath-tools.
-
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
-
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.confcontengafind_multipaths nosottodefaults. -
Assicurarsi che
iscside.multipathdsono 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 restartAssicurarsi che /etc/multipath.confcontengafind_multipaths nosottodefaults. -
Assicurarsi che
open-iscsie.multipath-toolssono 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 iscsiadmprima di iniziareopen-iscsiPer avviare il daemon iSCSI. In alternativa, è possibile modificareiscsiservizio da avviareiscsidautomaticamente.
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.2506.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.
|
SCSI su volumi FC
Da oggi è possibile utilizzare il protocollo Fibre Channel (FC) con Trident per il provisioning e la gestione delle risorse di storage sul sistema ONTAP.
Prerequisiti
Configurare le impostazioni di rete e del nodo richieste per FC.
Impostazioni di rete
-
Ottenere il WWPN delle interfacce di destinazione. Per ulteriori informazioni, fare riferimento "visualizzazione dell'interfaccia di rete" a.
-
Ottenere il WWPN per le interfacce su iniziatore (host).
Fare riferimento alle utility del sistema operativo host corrispondenti.
-
Configurare lo zoning sullo switch FC utilizzando i WWPN dell'host e della destinazione.
Per informazioni, fare riferimento alla documentazione relativa del fornitore dell'interruttore.
Per ulteriori informazioni, consultare la seguente documentazione di ONTAP:
Installare gli strumenti FC
Installa gli strumenti FC utilizzando i comandi del tuo sistema operativo.
-
Quando si utilizzano nodi di lavoro che eseguono RHEL/Red Hat Enterprise Linux CoreOS (RHCOS) con FC PVS, specificare il
discardmount Option in StorageClass per eseguire il recupero dello spazio in linea. Fare riferimento alla "Documentazione di Red Hat".
-
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 che /etc/multipath.confcontengafind_multipaths nosottodefaults. -
Assicurarsi che
multipathdsia 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 restartAssicurarsi che /etc/multipath.confcontengafind_multipaths nosottodefaults. -
Assicurarsi che
multipath-toolssia attivato e in esecuzione:sudo systemctl status multipath-tools
Preparatevi al provisioning dei volumi SMB
È possibile eseguire il provisioning dei volumi SMB utilizzando ontap-nas conducenti.
|
|
Devi configurare i protocolli NFS e SMB/CIFS nella SVM per creare un ontap-nas-economy volume SMB per i cluster on-premise ONTAP. La mancata configurazione di uno di questi protocolli causerà un errore nella creazione del volume SMB.
|
|
|
autoExportPolicy Non è supportato per i volumi SMB.
|
Prima di eseguire il provisioning di volumi SMB, è necessario disporre di quanto segue.
-
Un cluster Kubernetes con un nodo controller Linux e almeno un nodo di lavoro Windows che esegue Windows Server 2022. Trident supporta volumi SMB montati su pod in esecuzione solo sui nodi Windows.
-
Almeno un segreto Trident contenente le credenziali di Active Directory. Per generare segreto
smbcreds:kubectl create secret generic smbcreds --from-literal username=user --from-literal password='password'
-
Proxy CSI configurato come servizio Windows. Per configurare un
csi-proxy, fare riferimento a. "GitHub: Proxy CSI" oppure "GitHub: Proxy CSI per Windows" Per i nodi Kubernetes in esecuzione su Windows.
-
Per ONTAP on-premise, puoi facoltativamente creare una condivisione SMB oppure Trident può crearne una.
Le condivisioni SMB sono richieste per Amazon FSX per ONTAP. È possibile creare le condivisioni amministrative SMB in due modi utilizzando "Console di gestione Microsoft" Snap-in cartelle condivise o utilizzo dell'interfaccia CLI di ONTAP. Per creare le condivisioni SMB utilizzando la CLI ONTAP:
-
Se necessario, creare la struttura del percorso di directory per la condivisione.
Il
vserver cifs share createil comando controlla il percorso specificato nell'opzione -path durante la creazione della condivisione. Se il percorso specificato non esiste, il comando non riesce. -
Creare una condivisione SMB associata alla SVM specificata:
vserver cifs share create -vserver vserver_name -share-name share_name -path path [-share-properties share_properties,...] [other_attributes] [-comment text]
-
Verificare che la condivisione sia stata creata:
vserver cifs share show -share-name share_name
Fare riferimento a. "Creare una condivisione SMB" per informazioni dettagliate.
-
-
Quando si crea il backend, è necessario configurare quanto segue per specificare i volumi SMB. Per tutte le opzioni di configurazione backend FSX per ONTAP, fare riferimento a. "FSX per le opzioni di configurazione e gli esempi di ONTAP".
Parametro Descrizione Esempio smbShareÈ possibile specificare uno dei seguenti elementi: Il nome di una condivisione SMB creata utilizzando la console di gestione Microsoft o l'interfaccia CLI di ONTAP; un nome che consente a Trident di creare la condivisione SMB; oppure è possibile lasciare vuoto il parametro per impedire l'accesso condiviso ai volumi. Questo parametro è facoltativo per ONTAP on-premise. Questo parametro è obbligatorio per i backend Amazon FSX per ONTAP e non può essere vuoto.
smb-sharenasTypeDeve essere impostato su
smb. se null, il valore predefinito ènfs.smbsecurityStyleStile di sicurezza per nuovi volumi. Deve essere impostato su
ntfsoppuremixedPer volumi SMB.ntfsoppuremixedPer volumi SMBunixPermissionsPer i nuovi volumi. Deve essere lasciato vuoto per i volumi SMB.
""