Skip to main content
La versione in lingua italiana fornita proviene da una traduzione automatica. Per eventuali incoerenze, fare riferimento alla versione in lingua inglese.

Personalizzare l'installazione dell'operatore Trident

Collaboratori netapp-aruldeepa juliantap netapp-mwallis

L'operatore Trident consente di personalizzare l'installazione di Trident utilizzando gli attributi della TridentOrchestrator specifica. Se si desidera personalizzare l'installazione oltre gli TridentOrchestrator argomenti consentiti, utilizzare tridentctl per generare manifesti YAML personalizzati da modificare in base alle necessità.

Comprensione dei pod controller e dei pod di nodi

Trident viene eseguito come un singolo pod controller e un pod nodo su ciascun nodo worker nel cluster. Il pod del nodo deve essere in esecuzione su qualsiasi host in cui si desidera potenzialmente montare un volume 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

Attenzione spec.namespace Viene specificato in per indicare lo spazio dei nomi in TridentOrchestrator cui è installato Trident. Questo parametro non può essere aggiornato dopo l'installazione di Trident. Se si tenta di eseguire questa operazione, TridentOrchestrator lo stato viene modificato in Failed. Trident non deve essere migrato tra namespace.

Questa tabella è dettagliata TridentOrchestrator attributi.

Parametro Descrizione Predefinito

namespace

Spazio dei nomi in cui installare Trident

"default"

debug

Attivare il debug per Trident

false

enableForceDetach

ontap-san, ontap-san-economy , ontap-nas , E ontap-nas-economy soltanto. Funziona con Kubernetes Non-Graceful Node Shutdown (NGNS) per consentire agli amministratori del cluster di migrare in modo sicuro i carichi di lavoro con volumi montati su nuovi nodi nel caso in cui un nodo non funzioni correttamente. Per informazioni, vedere"Automazione del failover delle applicazioni stateful con Trident" .

false

windows

Impostazione su true Attiva l'installazione su nodi di lavoro Windows.

false

cloudProvider

Impostato su "Azure" quando si utilizzano identità gestite o un'identità cloud su un cluster AKS. Impostato su "AWS" quando si utilizza un'identità cloud su un cluster EKS. Impostare su "GCP" quando si utilizza un'identità cloud su un cluster GKE.

""

cloudIdentity

Impostare sull'identità del workload ("Azure.workload.Identity/client-id: Xxxxxxxx-xxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx") quando si utilizza l'identità cloud su un cluster AKS. Impostato sul ruolo AWS IAM ("'eks.amazonaws.com/role-arn: arn:AWS:iam::123456:role/Trident-role'") quando si utilizza l'identità cloud su un cluster EKS. Impostare sull'identità cloud ("'iam.gke.io/gcp-service-account: xxxx@mygcpproject.iam.gserviceaccount.com'") quando si utilizza l'identità cloud su un cluster GKE.

""

IPv6

Installare Trident su IPv6

falso

k8sTimeout

Timeout per le operazioni di Kubernetes.

Nota IL k8sTimeout il parametro è applicabile solo per l'installazione Trident .

180sec

silenceAutosupport

Non inviare pacchetti AutoSupport a NetApp
in maniera automatica

false

autosupportImage

L'immagine del contenitore per la telemetria AutoSupport

"netapp/trident-autosupport10"

autosupportProxy

Indirizzo/porta di un proxy per l'invio della AutoSupport
Telemetria

"http://proxy.example.com:8888"

uninstall

Un flag utilizzato per disinstallare Trident

false

logFormat

Formato di registrazione Trident da utilizzare [text,json]

"text"

tridentImage

Immagine Trident da installare

"netapp/trident:25.10"

imageRegistry

Percorso al registro interno, del formato
<registry FQDN>[:port][/subpath]

"registry.k8s.io"

kubeletDir

Percorso della directory del kubelet sull'host

"/var/lib/kubelet"

wipeout

Un elenco di risorse da eliminare per eseguire la rimozione completa di Trident

imagePullSecrets

Secrets (segreti) per estrarre immagini da un registro interno

imagePullPolicy

Imposta il criterio di pull dell'immagine per l'operatore Trident. I valori validi sono:
Always per estrarre sempre l'immagine.
IfNotPresent per estrarre l'immagine solo se non esiste già nel nodo.
Never per non tirare mai l'immagine.

IfNotPresent

controllerPluginNodeSelector

Selettori di nodi aggiuntivi per i pod. Segue lo stesso formato di pod.spec.nodeSelector.

Nessuna impostazione predefinita; opzionale

controllerPluginTolerations

Ignora le tolleranze Kubernetes per i pod. Segue lo stesso formato di pod.spec.Tolerations.

Nessuna impostazione predefinita; opzionale

nodePluginNodeSelector

Selettori di nodi aggiuntivi per i pod. Segue lo stesso formato di pod.spec.nodeSelector.

Nessuna impostazione predefinita; opzionale

nodePluginTolerations

Ignora le tolleranze Kubernetes per i pod. Segue lo stesso formato di pod.spec.Tolerations.

Nessuna impostazione predefinita; opzionale

nodePrep

Permette a Trident di preparare i nodi del cluster Kubernetes per gestire i volumi utilizzando il protocollo storage specificato. Attualmente, iscsi è l'unico valore supportato.

Nota A partire da OpenShift 4.19, la versione minima Trident supportata per questa funzionalità è 25.06.1.

k8sAPIQPS

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.

100; facoltativo

enableConcurrency

Consente operazioni simultanee del controller Trident per una maggiore produttività.

Nota Anteprima tecnica: questa funzionalità è sperimentale e attualmente supporta flussi di lavoro paralleli limitati con i driver ONTAP-NAS (solo NFS) e ONTAP-SAN (NVMe per ONTAP 9 unificato), oltre all'anteprima tecnica esistente per il driver ONTAP-SAN (protocolli iSCSI e FCP in ONTAP 9 unificato).

falso

resources

Imposta i limiti delle risorse Kubernetes e le richieste per il controller Trident e i pod dei nodi. È possibile configurare CPU e memoria per ogni contenitore 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" .

Attenzione
  • NON modificare i nomi di alcun contenitore o campo.

  • NON modificare l'indentazione: l'indentazione YAML è fondamentale per una corretta analisi.

Nota
  • Per impostazione predefinita non vengono applicati limiti: solo le richieste hanno valori predefiniti e vengono applicate automaticamente se non specificate.

  • I nomi dei contenitori sono elencati così come appaiono nelle specifiche del pod.

  • I sidecar sono elencati sotto ogni contenitore principale.

  • Controlla i TORC status.CurrentInstallationParams campo per visualizzare i valori attualmente applicati.

resources:
  controller:
    trident-main:
      requests:
        cpu: 10m
        memory: 80Mi
      limits:
          cpu:
          memory:
    csi-provisioner:
      requests:
        cpu: 2m
        memory: 20Mi
      limits:
        cpu:
        memory:
    csi-attacher:
      requests:
        cpu: 2m
        memory: 20Mi
      limits:
        cpu:
        memory:
    csi-resizer:
      requests:
        cpu: 3m
        memory: 20Mi
      limits:
        cpu:
        memory:
    csi-snapshotter:
      requests:
        cpu: 2m
        memory: 20Mi
      limits:
        cpu:
        memory:
    trident-autosupport:
      requests:
        cpu: 1m
        memory: 30Mi
      limits:
        cpu:
        memory:
  node:
    linux:
      trident-main:
        requests:
          cpu: 10m
          memory: 60Mi
        limits:
          cpu:
          memory:
      node-driver-registrar:
        requests:
          cpu: 1m
          memory: 10Mi
        limits:
          cpu:
          memory:
    windows:
      trident-main:
        requests:
          cpu: 6m
          memory: 40Mi
        limits:
          cpu:
          memory:
      node-driver-registrar:
        requests:
          cpu: 6m
          memory: 40Mi
        limits:
          cpu:
          memory:
      liveness-probe:
        requests:
          cpu: 2m
          memory: 40Mi
        limits:
          cpu:
          memory:

httpsMetrics

Abilita HTTPS per l'endpoint delle metriche Prometheus.

falso

hostNetwork

Abilita la rete host per il controller Trident . Questa funzionalità è utile quando si desidera separare il traffico frontend da quello backend in una rete multi-home.

falso

Nota Per ulteriori informazioni sulla formattazione dei parametri del pod, fare riferimento a. "Assegnazione di pod ai nodi".

Configurazioni di esempio

Puoi usare gli attributi inOpzioni di configurazione quando si definisce TridentOrchestrator per personalizzare la tua installazione.

Configurazione personalizzata di base

Questo esempio, creato dopo aver eseguito il cat deploy/crds/tridentorchestrator_cr_imagepullsecrets.yaml comando, rappresenta un'installazione personalizzata di base:

apiVersion: trident.netapp.io/v1
kind: TridentOrchestrator
metadata:
  name: trident
spec:
  debug: true
  namespace: trident
  imagePullSecrets:
  - thisisasecret
Selettori di nodo

Questo esempio installa Trident con selettori di nodo.

apiVersion: trident.netapp.io/v1
kind: TridentOrchestrator
metadata:
  name: trident
spec:
  debug: true
  namespace: trident
  controllerPluginNodeSelector:
    nodetype: master
  nodePluginNodeSelector:
    storage: netapp
Nodi worker di Windows

Questo esempio, creato dopo aver eseguito il cat deploy/crds/tridentorchestrator_cr.yaml comando, installa Trident su un nodo worker Windows.

apiVersion: trident.netapp.io/v1
kind: TridentOrchestrator
metadata:
  name: trident
spec:
  debug: true
  namespace: trident
  windows: true
Identità gestite su un cluster AKS

In questo esempio viene installato Trident per abilitare le identità gestite su un cluster AKS.

apiVersion: trident.netapp.io/v1
kind: TridentOrchestrator
metadata:
  name: trident
spec:
  debug: true
  namespace: trident
  cloudProvider: "Azure"
Identità cloud su un cluster AKS

In questo esempio viene installato Trident per l'utilizzo con un'identità cloud su un cluster AKS.

apiVersion: trident.netapp.io/v1
kind: TridentOrchestrator
metadata:
  name: trident
spec:
  debug: true
  namespace: trident
  cloudProvider: "Azure"
  cloudIdentity: 'azure.workload.identity/client-id: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx'
Identità cloud su un cluster EKS

In questo esempio viene installato Trident per l'utilizzo con un'identità cloud su un cluster AKS.

apiVersion: trident.netapp.io/v1
kind: TridentOrchestrator
metadata:
  name: trident
spec:
  debug: true
  namespace: trident
  cloudProvider: "AWS"
  cloudIdentity: "'eks.amazonaws.com/role-arn: arn:aws:iam::123456:role/trident-role'"
Identità cloud per GKE

In questo esempio viene installato Trident per l'utilizzo con un'identità cloud su un cluster GKE.

apiVersion: trident.netapp.io/v1
kind: TridentBackendConfig
metadata:
  name: backend-tbc-gcp-gcnv
spec:
  version: 1
  storageDriverName: google-cloud-netapp-volumes
  projectNumber: '012345678901'
  network: gcnv-network
  location: us-west2
  serviceLevel: Premium
  storagePool: pool-premium1
Configurazione delle richieste e dei limiti delle risorse Kubernetes per il controller Trident e i pod dei nodi Trident Linux

Questo esempio configura le richieste e i limiti delle risorse Kubernetes per i controller Trident e i pod dei nodi Trident Linux.

Attenzione Avvertenza: i valori di richiesta e limite forniti in questo esempio sono solo a scopo dimostrativo. Adattare questi valori in base all'ambiente e ai requisiti del carico di lavoro.
apiVersion: trident.netapp.io/v1
kind: TridentOrchestrator
metadata:
  name: trident
spec:
  debug: true
  namespace: trident
  imagePullSecrets:
  - thisisasecret
  resources:
    controller:
      trident-main:
        requests:
          cpu: 10m
          memory: 80Mi
        limits:
          cpu: 200m
          memory: 256Mi
      # sidecars
      csi-provisioner:
        requests:
          cpu: 2m
          memory: 20Mi
        limits:
          cpu: 100m
          memory: 64Mi
      csi-attacher:
        requests:
          cpu: 2m
          memory: 20Mi
        limits:
          cpu: 100m
          memory: 64Mi
      csi-resizer:
        requests:
          cpu: 3m
          memory: 20Mi
        limits:
          cpu: 100m
          memory: 64Mi
      csi-snapshotter:
        requests:
          cpu: 2m
          memory: 20Mi
        limits:
          cpu: 100m
          memory: 64Mi
      trident-autosupport:
        requests:
          cpu: 1m
          memory: 30Mi
        limits:
          cpu: 50m
          memory: 128Mi
    node:
      linux:
        trident-main:
          requests:
            cpu: 10m
            memory: 60Mi
          limits:
            cpu: 200m
            memory: 256Mi
        # sidecars
        node-driver-registrar:
          requests:
            cpu: 1m
            memory: 10Mi
          limits:
            cpu: 50m
            memory: 32Mi
Configurazione delle richieste e dei limiti delle risorse Kubernetes per il controller Trident e i pod dei nodi Trident Windows e Linux

Questo esempio configura le richieste e i limiti delle risorse Kubernetes per il controller Trident e i pod dei nodi Trident Windows e Linux.

Attenzione Avvertenza: i valori di richiesta e limite forniti in questo esempio sono solo a scopo dimostrativo. Adattare questi valori in base all'ambiente e ai requisiti del carico di lavoro.
apiVersion: trident.netapp.io/v1
kind: TridentOrchestrator
metadata:
  name: trident
spec:
  debug: true
  namespace: trident
  imagePullSecrets:
  - thisisasecret
  windows: true
  resources:
    controller:
      trident-main:
        requests:
          cpu: 10m
          memory: 80Mi
        limits:
          cpu: 200m
          memory: 256Mi
        # sidecars
      csi-provisioner:
        requests:
          cpu: 2m
          memory: 20Mi
        limits:
          cpu: 100m
          memory: 64Mi
      csi-attacher:
        requests:
          cpu: 2m
          memory: 20Mi
        limits:
          cpu: 100m
          memory: 64Mi
      csi-resizer:
        requests:
          cpu: 3m
          memory: 20Mi
        limits:
          cpu: 100m
          memory: 64Mi
      csi-snapshotter:
        requests:
          cpu: 2m
          memory: 20Mi
        limits:
          cpu: 100m
          memory: 64Mi
      trident-autosupport:
        requests:
          cpu: 1m
          memory: 30Mi
        limits:
          cpu: 50m
          memory: 128Mi
    node:
      linux:
        trident-main:
          requests:
            cpu: 10m
            memory: 60Mi
          limits:
            cpu: 200m
            memory: 256Mi
        # sidecars
        node-driver-registrar:
          requests:
            cpu: 1m
            memory: 10Mi
          limits:
            cpu: 50m
            memory: 32Mi
      windows:
        trident-main:
          requests:
            cpu: 6m
            memory: 40Mi
          limits:
            cpu: 200m
            memory: 128Mi
        # sidecars
        node-driver-registrar:
          requests:
            cpu: 6m
            memory: 40Mi
          limits:
            cpu: 100m
            memory: 128Mi
        liveness-probe:
          requests:
            cpu: 2m
            memory: 40Mi
          limits:
            cpu: 50m
            memory: 64Mi