Informazioni sull'installazione di Trident
Per garantire che Trident possa essere installato in un'ampia varietà di ambienti e organizzazioni, NetApp offre diverse opzioni di installazione. È possibile installare Trident utilizzando l'operatore Trident (manualmente o utilizzando Helm) o con tridentctl
. In questo argomento vengono fornite informazioni importanti per la scelta del processo di installazione appropriato.
Informazioni critiche su Trident 24,06
È necessario leggere le seguenti informazioni critiche su Trident.
<strong> informazioni aggiornate su Trident </strong>
-
Kubernetes 1,31 è ora supportato in Trident. Aggiornare Trident prima di aggiornare Kubernetes.
-
Trident impone rigorosamente l'uso della configurazione multipath negli ambienti SAN, con un valore consigliato di
find_multipaths: no
nel file multipath.conf.Utilizzo di configurazioni o utilizzo non multipathing di
find_multipaths: yes
oppurefind_multipaths: smart
il valore nel file multipath.conf causerà errori di montaggio. Trident ha raccomandato l'uso difind_multipaths: no
dalla release 21.07.
Prima di iniziare
Indipendentemente dal percorso di installazione, è necessario disporre di:
-
Privilegi completi per un cluster Kubernetes supportato che esegue una versione supportata di Kubernetes e requisiti di funzionalità attivati. Esaminare "requisiti" per ulteriori informazioni.
-
Accesso a un sistema storage NetApp supportato.
-
Possibilità di montare volumi da tutti i nodi di lavoro Kubernetes.
-
Un host Linux con
kubectl
(o.oc
, Se si utilizza OpenShift) installato e configurato per gestire il cluster Kubernetes che si desidera utilizzare. -
Il
KUBECONFIG
Variabile d'ambiente impostata per puntare alla configurazione del cluster Kubernetes. -
Se utilizzi Kubernetes con Docker Enterprise, "Seguire la procedura per abilitare l'accesso CLI".
Se non si è ancora familiarizzato con il "concetti di base", è il momento ideale per farlo. |
Scegliere il metodo di installazione desiderato
Seleziona il metodo di installazione più adatto alle tue esigenze. È inoltre necessario esaminare le considerazioni per "passaggio da un metodo all'altro" prima di prendere la decisione.
Utilizzando l'operatore Trident
Sia che si tratti di una distribuzione manuale o tramite Helm, l'operatore Trident è un ottimo modo per semplificare l'installazione e gestire dinamicamente le risorse Trident. È anche possibile "Personalizzare l'implementazione dell'operatore Trident"utilizzare gli attributi nella TridentOrchestrator
risorsa personalizzata (CR).
I vantaggi derivanti dall'utilizzo dell'operatore Trident includono:
<strong> Trident oggetto creag </strong>
L'operatore Trident crea automaticamente i seguenti oggetti per la versione di Kubernetes.
-
ServiceAccount per l'operatore
-
ClusterRole e ClusterRoleBinding al ServiceAccount
-
PodSecurityPolicy dedicata (per Kubernetes 1.25 e versioni precedenti)
-
L'operatore stesso
<strong> accountability</strong>
L'operatore Trident cluster-scoped gestisce le risorse associate a un'installazione Trident a livello di cluster. In questo modo è possibile ridurre gli errori che potrebbero verificarsi quando si mantengono le risorse raggruppate nell'ambito del cluster utilizzando un operatore con ambito dello spazio dei nomi. Ciò è essenziale per auto-healing e patching.
<strong> capabilitàdi </strong>
L'operatore monitora l'installazione di Trident e adotta attivamente misure per risolvere problemi, ad esempio quando l'implementazione viene eliminata o se viene modificata accidentalmente. Viene creato un trident-operator-<generated-id>
pod che associa un TridentOrchestrator
CR a un'installazione Trident. Ciò garantisce che nel cluster sia presente una sola istanza di Trident e ne controlla la configurazione, assicurandosi che l'installazione sia idempotent. Quando vengono apportate modifiche all'installazione (ad esempio, l'eliminazione dell'implementazione o del demonset di nodi), l'operatore li identifica e li corregge singolarmente.
<strong> Easy aggiorna l'installazione esistente </strong>
È possibile aggiornare facilmente un'implementazione esistente con l'operatore. È sufficiente modificare TridentOrchestrator
CR per aggiornare un'installazione.
Ad esempio, si consideri uno scenario in cui è necessario attivare Trident per generare registri di debug. Per fare questo, applicare una patch TridentOrchestrator
al per impostare spec.debug
su true
:
kubectl patch torc <trident-orchestrator-name> -n trident --type=merge -p '{"spec":{"debug":true}}'
Dopo TridentOrchestrator
viene aggiornato, l'operatore elabora gli aggiornamenti e le patch dell'installazione esistente. Ciò potrebbe innescare la creazione di nuovi pod per modificare l'installazione di conseguenza.
<strong> ha installato un tag </strong>
L'operatore Trident, definito dall'ambito del cluster, consente la rimozione definitiva delle risorse definite dall'ambito del cluster. Gli utenti possono disinstallare completamente Trident e reinstallarlo facilmente.
<strong> aggiornamento handlate </strong>
Quando la versione Kubernetes del cluster viene aggiornata ad una versione supportata, l'operatore aggiorna automaticamente un'installazione Trident esistente e la modifica per garantire che soddisfi i requisiti della versione Kubernetes.
Se il cluster viene aggiornato a una versione non supportata, l'operatore impedisce l'installazione di Trident. Se Trident è già stato installato con l'operatore, viene visualizzato un avviso per indicare che Trident è installato su una versione di Kubernetes non supportata. |
Utilizzo di tridentctl
Se si dispone di una distribuzione esistente che deve essere aggiornata o si desidera personalizzare notevolmente la distribuzione, è opportuno prendere in considerazione . Questo è il metodo convenzionale di distribuzione di Trident.
È possibile generare i manifesti per le risorse Trident. Sono inclusi la distribuzione, il daemesort, l'account di servizio e il ruolo cluster creato da Trident durante l'installazione.
A partire dalla release 22,04, le chiavi AES non verranno più rigenerate ogni volta che viene installato Trident. Con questa versione, Trident installerà un nuovo oggetto segreto che persiste nelle installazioni. Ciò significa che tridentctl in 22,04 è possibile disinstallare le versioni precedenti di Trident, ma le versioni precedenti non possono disinstallare le installazioni 22,04. Selezionare il metodo di installazione appropriato.
|
Scegliere la modalità di installazione
Determinare il processo di implementazione in base alla modalità di installazione (Standard, Offline o Remote) richiesta dall'organizzazione.
Questo è il modo più semplice per installare Trident e funziona per la maggior parte degli ambienti che non impongono restrizioni di rete. La modalità di installazione standard utilizza registri predefiniti per memorizzare le (registry.k8s.io`immagini Trident (`docker.io
) e CSI ) richieste.
Quando si utilizza la modalità standard, il programma di installazione di Trident:
-
Recupera le immagini container su Internet
-
Crea un'implementazione o un daemonset di nodi, che accelera i pod Trident su tutti i nodi idonei del cluster Kubernetes
La modalità di installazione offline potrebbe essere richiesta in un luogo sicuro o con aria compressa. In questo scenario, è possibile creare un singolo registro privato mirrorato o due registri mirrorati per memorizzare le immagini Trident e CSI richieste.
Indipendentemente dalla configurazione del Registro di sistema, le immagini CSI devono risiedere in un unico Registro di sistema. |
Di seguito viene riportata una panoramica generale del processo di installazione remota:
-
Distribuire la versione appropriata di
kubectl
sul computer remoto da cui si desidera distribuire Trident. -
Copiare i file di configurazione dal cluster Kubernetes e impostare
KUBECONFIG
variabile di ambiente sul computer remoto. -
Avviare un
kubectl get nodes
Per verificare che sia possibile connettersi al cluster Kubernetes richiesto. -
Completare l'implementazione dal computer remoto utilizzando i passaggi di installazione standard.
Selezionare il processo in base al metodo e alla modalità
Dopo aver preso le decisioni, selezionare il processo appropriato.
Metodo | Modalità di installazione |
---|---|
Operatore Trident (manualmente) |
|
Operatore Trident (Helm) |
|
|
Passaggio da un metodo di installazione all'altro
È possibile modificare il metodo di installazione. Prima di procedere, considerare quanto segue:
-
Utilizzare sempre lo stesso metodo per installare e disinstallare Trident. Se è stato distribuito con
tridentctl
, è necessario utilizzare la versione appropriata deltridentctl
file binario per disinstallare Trident. Allo stesso modo, se si esegue la distribuzione con l'operatore, è necessario modificare ilTridentOrchestrator
CR e impostare laspec.uninstall=true
disinstallazione di Trident. -
Se si dispone di una distribuzione basata su operatore che si desidera rimuovere e utilizzare invece
tridentctl
per distribuire Trident, è necessario prima modificareTridentOrchestrator
e impostare laspec.uninstall=true
disinstallazione di Trident. Quindi eliminareTridentOrchestrator
e l'implementazione dell'operatore. È quindi possibile installare utilizzandotridentctl
. -
Se si dispone di un'implementazione manuale basata su operatore e si desidera utilizzare l'implementazione dell'operatore Trident basata su Helm, è necessario prima disinstallare manualmente l'operatore ed eseguire l'installazione di Helm. Ciò consente a Helm di implementare l'operatore Trident con le etichette e le annotazioni richieste. In caso contrario, l'implementazione dell'operatore Trident basata su Helm avrà esito negativo, con un errore di convalida dell'etichetta e un errore di convalida dell'annotazione. Se si dispone di un `tridentctl`L'implementazione basata su consente di utilizzare l'implementazione basata su Helm senza problemi.
Altre opzioni di configurazione note
Quando si installa Trident sui prodotti del portfolio VMware Tanzu:
-
Il cluster deve supportare workload con privilegi.
-
Il
--kubelet-dir
flag deve essere impostato sulla posizione della directory di kubelet. Per impostazione predefinita, questo è/var/vcap/data/kubelet
.Specificare la posizione del kubelet utilizzando
--kubelet-dir
È noto per lavorare con Trident Operator, Helm e.tridentctl
implementazioni.