Personnalisez l'installation de l'opérateur Trident
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 comme un seul pod de contrôleur, plus un pod de nœud sur chaque nœud worker du cluster. Le pod de nœud doit s'exécuter sur n'importe quel 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
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 |
---|---|---|
|
Espace de noms pour installer Trident dans |
|
|
Activer le débogage pour Trident |
|
|
|
|
|
Réglage sur |
|
|
Réglez sur |
|
|
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. |
|
|
Installez Trident sur IPv6 |
faux |
|
Délai d'expiration pour les opérations Kubernetes |
|
|
N'envoyez pas de packs AutoSupport à NetApp |
|
|
Image conteneur pour la télémétrie AutoSupport |
|
|
Adresse/port d'un proxy pour l'envoi de AutoSupport |
|
|
Indicateur utilisé pour désinstaller Trident |
|
|
Format de journalisation Trident à utiliser [TEXT,json] |
|
|
Image Trident à installer |
|
|
Chemin d'accès au registre interne, du format |
|
|
Chemin d'accès au répertoire kubelet de l'hôte |
|
|
Liste des ressources à supprimer pour effectuer une suppression complète de Trident |
|
|
Secrets pour extraire des images d'un registre interne |
|
|
Définit la stratégie de collecte d'image pour l'opérateur Trident. Les valeurs valides sont : |
|
|
Sélecteurs de nœuds supplémentaires pour les pods. Suit le même format que |
Pas de valeur par défaut ; facultatif |
|
Remplace les tolérances Kubernetes pour les pods. Suit le même format que |
Pas de valeur par défaut ; facultatif |
|
Sélecteurs de nœuds supplémentaires pour les pods. Suit le même format que |
Pas de valeur par défaut ; facultatif |
|
Remplace les tolérances Kubernetes pour les pods. Suit le même format que |
Pas de valeur par défaut ; facultatif |
|
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, |
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
, ontap-san-economy
et onatp-nas-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 "Kubernetes : arrêt du nœud sans interruption"à .
Lorsque vous utilisez le ontap-nas-economy pilote, vous devez définir le autoExportPolicy paramètre de la configuration back-end sur true afin que Trident puisse restreindre l'accès au nœud Kubernetes avec le taint appliqué à l'aide de règles d'exportation gérées.
|
Comme Trident repose sur les NGN Kubernetes, ne supprimez pas les out-of-service nœuds défectueux avant que toutes les charges de travail non tolérables ne 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é le node.kubernetes.io/out-of-service=nodeshutdown:NoExecute
taint au nœud et enableForceDetach
est défini sur true
, Trident détermine l'état du nœud et :
-
Cessez l'accès aux E/S back-end pour les volumes montés sur ce nœud.
-
Marquer l'objet de nœud Trident comme
dirty
(non sécurisé pour les nouvelles publications).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 de nœud Trident. Toutes les charges de travail planifiées 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ées tant que Trident ne pourra pas vérifier le nœudclean
(compatibilité pour les nouvelles publications).
Lorsque l'intégrité du nœud est restaurée et que la taint est supprimée, Trident :
-
Identifiez et nettoyez les chemins publiés obsolètes sur le nœud.
-
Si le nœud est dans un
cleanable
état (le taint hors service a été supprimé et le nœud est àReady
l'état) et que tous les chemins obsolètes et publiés sont propres, Trident reprépare le nœud en tant que et autorise la publication declean
nouveaux volumes 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
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 worker Windows
Cet exemple installe Trident sur un noeud de travail 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 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é 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 Trident pour 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/trident-role'"
Identité cloud pour GKE
Cet exemple installe Trident pour une utilisation avec une identité de 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