Personnalisez l'installation de l'opérateur Trident
L'opérateur Trident vous permet de personnaliser l'installation d'Astra 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
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é. A l'aide de la commande « ControllerPlugin » et NodePlugin
, vous pouvez spécifier des contraintes et des substitutions.
-
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 Astra Trident est installé. Ce paramètre ne peut pas être mis à jour après l'installation d'Astra Trident. Si vous essayez de le faire, l' TridentOrchestrator`état passe à `Failed . Astra Trident n'est pas conçu pour être migré entre les espaces de noms.
|
Ce tableau détaille les TridentOrchestrator
attributs.
Paramètre | Description | Valeur par défaut |
---|---|---|
|
Espace de noms pour installer Astra Trident dans |
|
|
Activez le débogage pour Astra Trident |
|
|
|
|
|
Paramètre permettant d' `true`activer l'installation sur les nœuds de travail Windows. |
|
|
Défini 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/astratrident-role ») lors de l'utilisation de l'identité cloud sur un cluster EKS. |
|
|
Installez Astra Trident sur IPv6 |
faux |
|
Délai d'expiration pour les opérations Kubernetes |
|
|
N'envoyez pas automatiquement des packs AutoSupport à NetApp |
|
|
Image conteneur pour la télémétrie AutoSupport |
|
|
Adresse/port d'un proxy pour l'envoi de télémétrie AutoSupport |
|
|
Indicateur utilisé pour désinstaller Astra Trident |
|
|
Format de connexion Astra Trident à utiliser [text,json] |
|
|
Image Astra 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 la suppression complète d'Astra 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 |
Pour plus d'informations sur le formatage des paramètres du pod, reportez-vous "Attribution de pods aux nœuds"à la section . |
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 "Kubernetes : arrêt du nœud sans interruption"à .
Comme Astra 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.
|
Une fois que l'administrateur du cluster Kubernetes a appliqué le node.kubernetes.io/out-of-service=nodeshutdown:NoExecute
taint au nœud et enableForceDetach
qu'il est défini sur true
, Astra 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.
-
Marquez l'objet de nœud Astra 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. Tous les workloads planifiés avec une demande de volume persistant montée (même lorsque le nœud de cluster est sain et prêt) ne seront pas acceptés tant qu'Astra Trident ne peut pas vérifier le nœudclean
(en toute sécurité pour les nouvelles publications).
Lorsque l'intégrité du nœud est restaurée et que la taint est supprimée, Astra Trident :
-
Identifiez et nettoyez les chemins publiés obsolètes sur le nœud.
-
Si le nœud est à
cleanable
l'é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, Astra Trident reprépare le nœud en tant queclean
et autorise 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'"