Personalizzare l'installazione dell'operatore Trident
L'operatore Trident consente di personalizzare l'installazione di Astra Trident utilizzando gli attributi in TridentOrchestrator
spec. Se si desidera personalizzare l'installazione oltre ciò che si desidera TridentOrchestrator
gli argomenti lo consentono, valutare l'utilizzo tridentctl
Per generare manifesti YAML personalizzati da modificare in base alle necessità.
Comprensione dei pod controller e dei pod di nodi
Astra Trident viene eseguito come singolo pod controller, più un pod di nodi su ciascun nodo di lavoro nel cluster. Il pod nodo deve essere in esecuzione su qualsiasi host in cui si desidera montare un volume Astra Trident.
Kubernetes "selettori di nodi" e. "tollerazioni e contamini" vengono utilizzati per vincolare l'esecuzione di un pod su un nodo specifico o preferito. Utilizzo di`ControllerPlugin` e. NodePlugin
, è possibile specificare vincoli e override.
-
Il plug-in del controller gestisce il provisioning e la gestione dei volumi, ad esempio snapshot e ridimensionamento.
-
Il plug-in del nodo gestisce il collegamento dello storage al nodo.
Opzioni di configurazione
spec.namespace è specificato in TridentOrchestrator Per indicare lo spazio dei nomi in cui è installato Astra Trident. Questo parametro non può essere aggiornato dopo l'installazione di Astra Trident. Il tentativo di eseguire questa operazione causa il TridentOrchestrator stato in cui passare Failed . Astra Trident non deve essere migrato tra spazi dei nomi.
|
Questa tabella è dettagliata TridentOrchestrator
attributi.
Parametro | Descrizione | Predefinito |
---|---|---|
|
Spazio dei nomi in cui installare Astra Trident |
"predefinito" |
|
Attiva il debug per Astra Trident |
falso |
|
|
|
|
Impostazione su |
falso |
|
Installare Astra Trident su IPv6 |
falso |
|
Timeout per le operazioni Kubernetes |
30 sec |
|
Non inviare pacchetti AutoSupport a NetApp |
falso |
|
L'immagine del contenitore per la telemetria AutoSupport |
"netapp/trident-autosupport:23,07" |
|
Indirizzo/porta di un proxy per l'invio della AutoSupport |
|
|
Flag utilizzato per disinstallare Astra Trident |
falso |
|
Formato di registrazione Astra Trident da utilizzare [text,json] |
"testo" |
|
Immagine Astra Trident da installare |
"netapp/trident:23,07" |
|
Percorso al registro interno, del formato |
"k8s.gcr.io/sig-storage" (k8s 1,19+) |
|
Percorso della directory del kubelet sull'host |
"/var/lib/kubelet" |
|
Un elenco di risorse da eliminare per eseguire una rimozione completa di |
|
|
Secrets (segreti) per estrarre immagini da un registro interno |
|
|
Imposta il criterio di pull dell'immagine per l'operatore Trident. I valori validi sono: |
|
|
Selettori di nodi aggiuntivi per i pod. Segue lo stesso formato di |
Nessuna impostazione predefinita; opzionale |
|
Ignora le tolleranze Kubernetes per i pod. Segue lo stesso formato di |
Nessuna impostazione predefinita; opzionale |
|
Selettori di nodi aggiuntivi per i pod. Segue lo stesso formato di |
Nessuna impostazione predefinita; opzionale |
|
Ignora le tolleranze Kubernetes per i pod. Segue lo stesso formato di |
Nessuna impostazione predefinita; opzionale |
Per ulteriori informazioni sulla formattazione dei parametri del pod, vedere "Assegnazione di pod ai nodi". |
Dettagli sulla forza di distacco
Forza distacco disponibile per ontap-san
e. ontap-san-economy
solo. Prima di attivare la funzione di force stach, è necessario attivare la funzione NGNS (non-aggraziate node shutdown) sul cluster Kubernetes. Per ulteriori informazioni, fare riferimento a. "Kubernetes: Shutdown del nodo non aggraziato".
Poiché Astra Trident si affida a Kubernetes NGNS, non rimuovere out-of-service esegue il tinding da un nodo non integro fino a quando tutti i carichi di lavoro non tollerabili non vengono ripianificati. L'applicazione o la rimozione sconsiderata della contaminazione può compromettere la protezione dei dati back-end.
|
Quando l'amministratore del cluster Kubernetes ha applicato il node.kubernetes.io/out-of-service=nodeshutdown:NoExecute
al nodo e. enableForceDetach
è impostato su true
, Astra Trident determinerà lo stato del nodo e:
-
Interrompere l'accesso i/o back-end per i volumi montati su quel nodo.
-
Contrassegna l'oggetto nodo Astra Trident come
dirty
(non sicuro per le nuove pubblicazioni).Il controller Trident rifiuterà le nuove richieste di volumi di pubblicazione fino a quando il nodo non viene riqualificato (dopo essere stato contrassegnato come) dirty
) Dal pod di nodi Trident. Tutti i carichi di lavoro pianificati con un PVC montato (anche dopo che il nodo del cluster è integro e pronto) non saranno accettati fino a quando Astra Trident non sarà in grado di verificare il nodoclean
(sicuro per le nuove pubblicazioni).
Quando lo stato del nodo viene ripristinato e la contaminazione viene rimossa, Astra Trident:
-
Identificare e pulire i percorsi pubblicati obsoleti sul nodo.
-
Se il nodo si trova in una
cleanable
stato (la manutenzione fuori servizio è stata rimossa e il nodo si trova inReady
state) e tutti i percorsi pubblicati e obsoleti sono puliti, Astra Trident riporterà il nodo comeclean
e consentire nuovi volumi pubblicati al nodo.
Configurazioni di esempio
È possibile utilizzare gli attributi menzionati in precedenza per la definizione TridentOrchestrator
per personalizzare l'installazione.
Esempio 1: Configurazione personalizzata di base
Questo è un esempio per una configurazione personalizzata di base.
cat deploy/crds/tridentorchestrator_cr_imagepullsecrets.yaml apiVersion: trident.netapp.io/v1 kind: TridentOrchestrator metadata: name: trident spec: debug: true namespace: trident imagePullSecrets: - thisisasecret
Esempio 2: Implementazione con selettori di nodo
Questo esempio illustra come può essere implementato Trident con i selettori di nodo:
apiVersion: trident.netapp.io/v1 kind: TridentOrchestrator metadata: name: trident spec: debug: true namespace: trident controllerPluginNodeSelector: nodetype: master nodePluginNodeSelector: storage: netapp
Esempio 3: Implementazione su nodi di lavoro Windows
In questo esempio viene illustrata la distribuzione su un nodo di lavoro Windows.
cat deploy/crds/tridentorchestrator_cr.yaml apiVersion: trident.netapp.io/v1 kind: TridentOrchestrator metadata: name: trident spec: debug: true namespace: trident windows: true