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

L'opérateur Trident vous permet de personnaliser l'installation d'Astra Trident à l'aide des attributs du TridentOrchestrator spécifications Si vous voulez personnaliser l'installation au-delà de ce qui est TridentOrchestrator les arguments permettent, envisagez d'utiliser tridentctl Pour générer des manifestes YAML personnalisés à modifier selon les besoins.

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

ASTRA Trident s'exécute comme un seul pod de contrôleur, plus un pod de nœud sur chaque nœud worker dans le cluster. Le pod de nœuds doit être exécuté sur n'importe quel hôte sur lequel vous souhaitez potentiellement monter un volume Astra 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 TridentOrchestrator Pour indiquer l'espace de noms dans lequel Astra Trident est installé. Ce paramètre ne peut pas être mis à jour après l'installation d'Astra Trident. Pour tenter de le faire, le TridentOrchestrator statut pour passer à Failed. Astra Trident n'est pas conçu pour ê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 Astra Trident dans

"default"

debug

Activez le débogage pour Astra Trident

false

enableForceDetach

ontap-san et ontap-san-economy uniquement.

Fonctionne avec Kubernetes non-Grass Node Shutdown (NGN) pour autoriser les administrateurs du cluster à migrer en toute sécurité les workloads avec des volumes montés vers de nouveaux nœuds en cas de problème.

false

windows

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

false

cloudProvider

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

""

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/astratrident-role ») lors de l'utilisation de l'identité cloud sur un cluster EKS.

""

IPv6

Installez Astra Trident sur IPv6

faux

k8sTimeout

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

30sec

silenceAutosupport

N'envoyez pas de packs AutoSupport à NetApp
automatiquement

false

autosupportImage

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

"netapp/trident-autosupport:24.02"

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 Astra Trident

false

logFormat

Format de connexion Astra Trident à utiliser [text,json]

"text"

tridentImage

Image Astra Trident à installer

"netapp/trident:24.02"

imageRegistry

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

"k8s.gcr.io/sig-storage" (Kubernetes 1.19+)
ou "quay.io/k8scsi"

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
Astra 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

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

Détails sur le détachement forcé

Forcer le détachement est disponible pour ontap-san et ontap-san-economy uniquement. Avant d'activer le détachement forcé, l'arrêt non autorisé des nœuds (NGN) doit être activé sur le cluster Kubernetes. Pour plus d'informations, reportez-vous à la section "Kubernetes : arrêt du nœud sans interruption".

Avertissement Comme Astra Trident repose sur LES NGN Kubernetes, ne supprimez pas out-of-service elle est corrompue jusqu'à ce que toutes les charges de travail non tolérables soient replanifiées. L'application ou la suppression imprudemment de cet outil peut compromettre la protection des données back-end.

Lorsque l'administrateur du cluster Kubernetes a appliqué node.kubernetes.io/out-of-service=nodeshutdown:NoExecute taint au nœud et enableForceDetach est défini sur true, Astra Trident déterminera l'état du nœud et :

  1. Cessez l'accès aux E/S back-end pour les volumes montés sur ce nœud.

  2. Marquez l'objet de nœud Astra Trident en tant que dirty (pas sûr pour les nouvelles publications).

    Remarque Le contrôleur Trident rejette les nouvelles demandes de volume publiées jusqu'à ce que le nœud soit de nouveau qualifié (après avoir été marqué comme dirty) Par le pod du nœud Trident. Tous les workloads planifiés avec une demande de volume persistant montée (même lorsque le nœud du cluster est sain et prêt) ne seront pas acceptés tant qu'Astra Trident ne peut pas vérifier le nœud clean (sûr pour les nouvelles publications).

Lorsque l'intégrité du nœud est restaurée et que la taint est supprimée, Astra Trident :

  1. Identifiez et nettoyez les chemins publiés obsolètes sur le nœud.

  2. Si le nœud est dans un cleanable state (le taint hors service a été supprimé et le nœud est dans Ready État). Tous les chemins obsolètes et publiés sont propres. Astra Trident reprépare le nœud en tant que clean et autoriser les nouveaux volumes publiés sur le nœud.

Exemples de configurations

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

Configuration personnalisée de base

Ceci est un exemple d'installation personnalisée de 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
Sélecteurs de nœuds

Dans cet exemple, vous installez Astra 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 worker Windows

Cet exemple installe Astra Trident sur un nœud worker Windows.

cat deploy/crds/tridentorchestrator_cr.yaml
apiVersion: trident.netapp.io/v1
kind: TridentOrchestrator
metadata:
  name: trident
spec:
  debug: true
  namespace: trident
  windows: true
Identités gérées sur un cluster AKS

Cet exemple installe Astra 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 Astra Trident en vue d'une utilisation avec une identité de 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 Astra Trident en vue d'une utilisation avec une identité de 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/astratrident-role'"