Distribuisci l'operatore Trident tramite Helm (modalità standard)
È possibile distribuire l'operatore Trident e installare Trident utilizzando Helm. Questa procedura si applica alle installazioni in cui le immagini dei container richieste da Trident non sono archiviate in un registro privato. Se si dispone di un registro immagini privato, utilizzare il "processo per la distribuzione offline".
Informazioni critiche su Trident 25.10
È necessario leggere le seguenti informazioni critiche su Trident.
<strong>Informazioni critiche su Trident</strong>
-
Kubernetes 1.34 è ora supportato in Trident. Aggiorna Trident prima di aggiornare Kubernetes.
-
Trident impone rigorosamente l'uso della configurazione multipathing negli ambienti SAN, con un valore consigliato di
find_multipaths: nonel file multipath.conf.L'utilizzo di una configurazione non multipath o l'utilizzo di
find_multipaths: yesofind_multipaths: smartnel file multipath.conf causerà errori di montaggio. Trident ha raccomandato l'utilizzo difind_multipaths: nodalla release 21.07.
Distribuire l'operatore Trident e installare Trident utilizzando Helm
Utilizzando il Trident "Helm Chart" puoi distribuire l'operatore Trident e installare Trident in un unico passaggio.
Verificate "la panoramica dell'installazione" per assicurarvi di aver soddisfatto i prerequisiti di installazione e di aver selezionato l'opzione di installazione corretta per il vostro ambiente.
Oltre al "prerequisiti di deployment" è necessario "Helm versione 3".
-
Aggiungi il repository Trident Helm:
helm repo add netapp-trident https://netapp.github.io/trident-helm-chart
-
Usa
helm installe specifica un nome per la distribuzione come nel seguente esempio in cui100.2506.0è la versione di Trident che stai installando.helm install <name> netapp-trident/trident-operator --version 100.2506.0 --create-namespace --namespace <trident-namespace>
Se hai già creato uno spazio dei nomi per Trident, il parametro --create-namespacenon creerà uno spazio dei nomi aggiuntivo.
È possibile utilizzare helm list per esaminare i dettagli dell'installazione, come nome, namespace, chart, stato, versione dell'app e numero di revisione.
Passare i dati di configurazione durante l'installazione
Esistono due modi per passare i dati di configurazione durante l'installazione:
| Opzione | Descrizione |
|---|---|
|
Specificare un file YAML con le sovrascritture. Questo può essere specificato più volte e il file più a destra avrà la precedenza. |
|
Specificare le sovrascritture sulla riga di comando. |
Ad esempio, per modificare il valore predefinito di debug, eseguire il seguente comando dove 100.2506.0 è la versione di Trident che si sta installando:
helm install <name> netapp-trident/trident-operator --version 100.2506.0 --create-namespace --namespace trident --set tridentDebug=true
Opzioni di configurazione
Questa tabella e il file values.yaml, che fa parte dell'Helm chart, forniscono l'elenco delle chiavi e i loro valori predefiniti.
| Opzione | Descrizione | Predefinito | ||||
|---|---|---|---|---|---|---|
|
Etichette dei nodi per l'assegnazione dei pod |
|||||
|
Annotazioni del pod |
|||||
|
Annotazioni di distribuzione |
|||||
|
Tolleranze per l'assegnazione dei pod |
|||||
|
Affinità per l'assegnazione dei pod |
affinity:
nodeAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
nodeSelectorTerms:
- matchExpressions:
- key: kubernetes.io/arch
operator: In
values:
- arm64
- amd64
- key: kubernetes.io/os
operator: In
values:
- linux
|
||||
|
Selettori di nodo aggiuntivi per i pod. Fare riferimento a Comprendere i pod controller e i pod nodo per i dettagli. |
|||||
|
Sostituisce le tolleranze di Kubernetes per i pod. Fare riferimento a Comprendere i pod controller e i pod nodo per i dettagli. |
|||||
|
Selettori di nodo aggiuntivi per i pod. Fare riferimento a Comprendere i pod controller e i pod nodo per i dettagli. |
|||||
|
Sostituisce le tolleranze di Kubernetes per i pod. Fare riferimento a Comprendere i pod controller e i pod nodo per i dettagli. |
|||||
|
Identifica il registro per le |
|
||||
|
Imposta il criterio di pull dell'immagine per il |
|
||||
|
Imposta i segreti di estrazione delle immagini per le |
|||||
|
Consente di sovrascrivere la posizione host dello stato interno di kubelet. |
|
||||
|
Consente di impostare il livello di log dell'operatore Trident su: |
|
||||
|
Consente di impostare il livello di log dell'operatore Trident su debug. |
|
||||
|
Consente la completa sostituzione dell'immagine per |
|
||||
|
Permette di sovrascrivere il tag dell' |
|
||||
|
Consente di abilitare Trident per funzionare in cluster IPv6. |
|
||||
|
Sostituisce il timeout predefinito di 30 secondi per la maggior parte delle operazioni API di Kubernetes (se diverso da zero, in secondi). |
|
||||
|
Sovrascrive il timeout predefinito di 90 secondi per le richieste HTTP, con |
|
||||
|
Consente di disabilitare la segnalazione periodica AutoSupport di Trident. |
|
||||
|
Consente di sovrascrivere il tag dell'immagine per il container Trident AutoSupport. |
|
||||
|
Consente al container Trident AutoSupport di telefonare a casa tramite un proxy HTTP. |
|
||||
|
Imposta il formato di logging Trident ( |
|
||||
|
Disattiva il logger di audit di Trident. |
|
||||
|
Consente di impostare il livello di log di Trident su: |
|
||||
|
Consente di impostare il livello di log di Trident su |
|
||||
|
Consente di abilitare flussi di lavoro Trident specifici per la registrazione delle tracce o la soppressione dei log. |
|
||||
|
Consente di abilitare specifici livelli Trident per la registrazione delle tracce o la soppressione dei log. |
|
||||
|
Consente la completa sostituzione dell'immagine per Trident. |
|
||||
|
Consente di sovrascrivere il tag dell'immagine per Trident. |
|
||||
|
Consente di sovrascrivere la porta predefinita utilizzata per le sonde liveness/readiness di Kubernetes. |
|
||||
|
Consente l'installazione di Trident sul nodo worker di Windows. |
|
||||
|
Consente di abilitare la funzione force detach. |
|
||||
|
Esclude la pod security policy dell'operatore dalla creazione. |
|
||||
|
Impostare su |
|
||||
|
Impostare su workload identity ("azure.workload.identity/client-id: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx") quando si utilizza l'identità cloud su un cluster AKS. Impostare su AWS IAM role ("'eks.amazonaws.com/role-arn: arn:aws:iam::123456:role/trident-role'") quando si utilizza l'identità cloud su un cluster EKS. |
|
||||
|
L'intervallo al quale viene invocata la funzione di auto-riparazione iSCSI. |
|
||||
|
La durata dopo la quale la funzione di auto-riparazione iSCSI avvia un tentativo di risolvere una sessione non aggiornata eseguendo un logout e un successivo login. |
|
||||
|
Consente a Trident di preparare i nodi del cluster Kubernetes per gestire i volumi utilizzando il protocollo storage specificato. Attualmente, |
|||||
|
Consente operazioni simultanee del controller Trident per un throughput migliorato.
|
falso |
||||
|
Limite di query al secondo (QPS) utilizzato dal controller durante la comunicazione con il server API Kubernetes. Il valore Burst viene impostato automaticamente in base al valore QPS. |
|
||||
|
Imposta i limiti delle risorse Kubernetes e le richieste per i pod del controller, del nodo e dell'operatore Trident. Puoi configurare CPU e memoria per ogni container e sidecar per gestire l'allocazione delle risorse in Kubernetes. Per ulteriori informazioni sulla configurazione delle richieste e dei limiti delle risorse, fare riferimento a "Gestione delle risorse per pod e container".
|
|
||||
|
Abilita HTTPS per l'endpoint delle metriche Prometheus. |
falso |
||||
|
Abilita la rete host per il controller Trident. Questa funzionalità è utile quando si desidera separare il traffico frontend e backend in una rete multi-home. |
falso |
Comprendere i pod controller e i pod nodo
Trident viene eseguito come un singolo pod controller, più un pod nodo su ciascun nodo worker del cluster. Il pod nodo deve essere in esecuzione su qualsiasi host in cui si desidera potenzialmente montare un volume Trident.
Kubernetes "selettori di nodi" e "tolleranze e taint" sono utilizzati per vincolare un pod a essere eseguito su un nodo specifico o preferito. Utilizzando ControllerPlugin e NodePlugin, puoi specificare vincoli e override.
-
Il plugin del controller gestisce il provisioning e la gestione dei volumi, come snapshot e ridimensionamento.
-
Il plugin del nodo gestisce il collegamento dello storage al nodo.