Skip to main content
La version française est une traduction automatique. La version anglaise prévaut sur la française en cas de divergence.

Personnalisez l'installation de l'opérateur Trident

Contributeurs netapp-aruldeepa juliantap netapp-mwallis

L'opérateur Trident vous permet de personnaliser l'installation Trident à l'aide des attributs de la TridentOrchestrator spécification. Si vous souhaitez personnaliser l'installation au-delà des TridentOrchestrator arguments autorisés, envisagez d'utiliser tridentctl pour générer des manifestes YAML personnalisés à modifier si nécessaire.

Présentation des pods de contrôleur et des nœuds

Trident s'exécute sous la forme d'un pod de contrôleur unique et d'un pod de nœud sur chaque nœud de travail du cluster. Le pod du nœud doit être en cours d'exécution sur tout hôte sur lequel vous souhaitez potentiellement monter un volume Trident .

Kubernetes "sélecteurs de nœuds" et "tolérances et rejets" sont utilisés pour contraindre un pod à s'exécuter sur un nœud spécifique ou préféré. En utilisant le « ControllerPlugin » et NodePlugin, vous pouvez spécifier des contraintes et des remplacements.

  • Le plug-in du contrôleur gère le provisionnement et la gestion des volumes, tels que les snapshots et le redimensionnement.

  • Le plug-in du nœud permet d'attacher le stockage au nœud.

Options de configuration

Avertissement spec.namespace Est spécifié dans pour indiquer l'espace de noms dans TridentOrchestrator lequel Trident est installé. Ce paramètre ne peut pas être mis à jour après l'installation de Trident. Si vous essayez de le faire, l' TridentOrchestrator`état passe à `Failed. Trident n'est pas destiné à être migré entre les espaces de noms.

Ce tableau est plus détaillé TridentOrchestrator attributs.

Paramètre Description Valeur par défaut

namespace

Espace de noms pour installer Trident dans

"default"

debug

Activer le débogage pour Trident

false

enableForceDetach

ontap-san, ontap-san-economy , ontap-nas , et ontap-nas-economy seulement. Fonctionne avec Kubernetes Non-Graceful Node Shutdown (NGNS) pour permettre aux administrateurs de cluster de migrer en toute sécurité les charges de travail avec des volumes montés vers de nouveaux nœuds si un nœud devient défaillant. Pour plus d'informations, voir"Automatisation du basculement des applications avec état grâce à Trident" .

false

windows

Réglage sur true Active l'installation sur les nœuds de travail Windows.

false

cloudProvider

Défini sur "Azure" lors de l'utilisation d'identités gérées ou d'une identité cloud sur un cluster AKS. Défini sur "AWS" lors de l'utilisation d'une identité de cloud sur un cluster EKS. Défini sur "GCP" lors de l'utilisation d'une identité de nuage sur un cluster GKE.

""

cloudIdentity

Défini sur l'identité de la charge de travail (« Azure.Workload.Identity/client-ID: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxxxx ») lors de l'utilisation de l'identité cloud sur un cluster AKS. Défini sur le rôle IAM AWS (« eks.amazonaws.com/role-arn: arn:aws:iam::123456:role/Trident-role ») lors de l'utilisation de l'identité cloud sur un cluster EKS. Défini sur l'identité cloud (« iam.gke.io/gcp-service-account: xxxx@mygcpproject.iam.gserviceaccount.com ») lors de l'utilisation de l'identité cloud sur un cluster GKE.

""

IPv6

Installez Trident sur IPv6

faux

k8sTimeout

Délai d'expiration pour les opérations Kubernetes.

Remarque Le k8sTimeout le paramètre s'applique uniquement à l'installation de Trident .

180sec

silenceAutosupport

N'envoyez pas de packs AutoSupport à NetApp
automatiquement

false

autosupportImage

Image conteneur pour la télémétrie AutoSupport

"netapp/trident-autosupport10"

autosupportProxy

Adresse/port d'un proxy pour l'envoi de AutoSupport
Télémétrie

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

uninstall

Indicateur utilisé pour désinstaller Trident

false

logFormat

Format de journalisation Trident à utiliser [TEXT,json]

"text"

tridentImage

Image Trident à installer

"netapp/trident:25.10"

imageRegistry

Chemin d'accès au registre interne, du format
<registry FQDN>[:port][/subpath]

"registry.k8s.io"

kubeletDir

Chemin d'accès au répertoire kubelet de l'hôte

"/var/lib/kubelet"

wipeout

Liste des ressources à supprimer pour effectuer une suppression complète de Trident

imagePullSecrets

Secrets pour extraire des images d'un registre interne

imagePullPolicy

Définit la stratégie de collecte d'image pour l'opérateur Trident. Les valeurs valides sont :
Always pour toujours tirer l'image.
IfNotPresent pour extraire l'image uniquement s'il n'existe pas déjà sur le nœud.
Never pour ne jamais tirer l'image.

IfNotPresent

controllerPluginNodeSelector

Sélecteurs de nœuds supplémentaires pour les pods. Suit le même format que pod.spec.nodeSelector.

Pas de valeur par défaut ; facultatif

controllerPluginTolerations

Remplace les tolérances Kubernetes pour les pods. Suit le même format que pod.spec.Tolerations.

Pas de valeur par défaut ; facultatif

nodePluginNodeSelector

Sélecteurs de nœuds supplémentaires pour les pods. Suit le même format que pod.spec.nodeSelector.

Pas de valeur par défaut ; facultatif

nodePluginTolerations

Remplace les tolérances Kubernetes pour les pods. Suit le même format que pod.spec.Tolerations.

Pas de valeur par défaut ; facultatif

nodePrep

Permet à Trident de préparer les nœuds du cluster Kubernetes à gérer les volumes à l'aide du protocole de stockage de données spécifié. Actuellement, iscsi est la seule valeur prise en charge.

Remarque À partir d'OpenShift 4.19, la version minimale de Trident prise en charge pour cette fonctionnalité est 25.06.1.

k8sAPIQPS

La limite de requêtes par seconde (QPS) utilisée par le contrôleur lors de la communication avec le serveur API Kubernetes. La valeur Burst est définie automatiquement en fonction de la valeur QPS.

100; facultatif

enableConcurrency

Permet des opérations simultanées du contrôleur Trident pour un débit amélioré.

Remarque Aperçu technique : Cette fonctionnalité est expérimentale et prend actuellement en charge des flux de travail parallèles limités avec les pilotes ONTAP-NAS (NFS uniquement) et ONTAP-SAN (NVMe pour ONTAP 9 unifié), en plus de l’aperçu technique existant pour le pilote ONTAP-SAN (protocoles iSCSI et FCP dans ONTAP 9 unifié).

faux

resources

Définit les limites et les requêtes de ressources Kubernetes pour le contrôleur Trident et les pods de nœuds. Vous pouvez configurer le processeur et la mémoire de chaque conteneur et sidecar pour gérer l'allocation des ressources dans Kubernetes.

Pour plus d'informations sur la configuration des demandes et des limites de ressources, veuillez consulter la documentation."Gestion des ressources pour les pods et les conteneurs" .

Avertissement
  • NE MODIFIEZ PAS les noms des conteneurs ou des champs.

  • NE PAS modifier l'indentation - L'indentation YAML est essentielle pour une analyse correcte.

Remarque
  • Aucune limite n'est appliquée par défaut ; seules les requêtes ont des valeurs par défaut et sont appliquées automatiquement si elles ne sont pas spécifiées.

  • Les noms des conteneurs sont listés tels qu'ils apparaissent dans les spécifications du pod.

  • Les side-cars sont répertoriés sous chaque conteneur principal.

  • Vérifiez les TORC status.CurrentInstallationParams champ permettant d'afficher les valeurs actuellement appliquées.

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

Activer HTTPS pour le point de terminaison des métriques Prometheus.

faux

hostNetwork

Permet la mise en réseau de l'hôte pour le contrôleur Trident . Ceci est utile lorsque vous souhaitez séparer le trafic frontal et le trafic dorsal dans un réseau multi-foyers.

faux

Remarque Pour plus d'informations sur le formatage des paramètres du pod, reportez-vous à la section "Attribution de pods aux nœuds".

Exemples de configurations

Vous pouvez utiliser les attributs dansOptions de configuration lors de la définition TridentOrchestrator pour personnaliser votre installation.

configuration personnalisée de base

Cet exemple, créé après l'exécution de cat deploy/crds/tridentorchestrator_cr_imagepullsecrets.yaml commande, représente une installation personnalisée de base :

apiVersion: trident.netapp.io/v1
kind: TridentOrchestrator
metadata:
  name: trident
spec:
  debug: true
  namespace: trident
  imagePullSecrets:
  - thisisasecret
Sélecteurs de nœuds

Cet exemple installe Trident avec des sélecteurs de nœuds.

apiVersion: trident.netapp.io/v1
kind: TridentOrchestrator
metadata:
  name: trident
spec:
  debug: true
  namespace: trident
  controllerPluginNodeSelector:
    nodetype: master
  nodePluginNodeSelector:
    storage: netapp
nœuds de travail Windows

Cet exemple, créé après l'exécution de cat deploy/crds/tridentorchestrator_cr.yaml commande, installe Trident sur un nœud de travail Windows.

apiVersion: trident.netapp.io/v1
kind: TridentOrchestrator
metadata:
  name: trident
spec:
  debug: true
  namespace: trident
  windows: true
Gestion des identités sur un cluster AKS

Cet exemple installe Trident pour activer les identités gérées sur un cluster AKS.

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

Cet exemple installe Trident pour une utilisation avec une identité cloud sur 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 sur un cluster EKS

Cet exemple installe Trident pour une utilisation avec une identité cloud sur 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 pour GKE

Cet exemple installe Trident pour une utilisation avec une identité cloud sur 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
Configuration des requêtes et limites de ressources Kubernetes pour le contrôleur Trident et les pods de nœuds Trident Linux

Cet exemple configure les demandes et les limites de ressources Kubernetes pour le contrôleur Trident et les pods de nœuds Trident Linux.

Avertissement Avertissement : Les valeurs de requête et de limite fournies dans cet exemple sont uniquement à des fins de démonstration. Ajustez ces valeurs en fonction de votre environnement et de vos exigences en matière de charge de travail.
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
Configuration des requêtes et des limites de ressources Kubernetes pour le contrôleur Trident et les pods de nœuds Trident Windows et Linux

Cet exemple configure les demandes et les limites de ressources Kubernetes pour le contrôleur Trident et les pods de nœuds Trident Windows et Linux.

Avertissement Avertissement : Les valeurs de requête et de limite fournies dans cet exemple sont uniquement à des fins de démonstration. Ajustez ces valeurs en fonction de votre environnement et de vos exigences en matière de charge de travail.
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