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 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
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 |
---|---|---|
|
Espace de noms pour installer Astra Trident dans |
« par défaut » |
|
Activez le débogage pour Astra Trident |
faux |
|
|
|
|
Réglage sur |
faux |
|
Installez Astra Trident sur IPv6 |
faux |
|
Délai d'expiration pour les opérations Kubernetes |
30 secondes |
|
N'envoyez pas de packs AutoSupport à NetApp |
faux |
|
Image conteneur pour la télémétrie AutoSupport |
netapp/trident-autosupport:23.07 |
|
Adresse/port d'un proxy pour l'envoi de AutoSupport |
|
|
Indicateur utilisé pour désinstaller Astra Trident |
faux |
|
Format de connexion Astra Trident à utiliser [text,json] |
« texte » |
|
Image Astra Trident à installer |
netapp/trident : 23.07 |
|
Chemin d'accès au registre interne, du format |
« k8s.gcr.io/sig-storage » (k8s 1.19+) |
|
Chemin d'accès au répertoire kubelet de l'hôte |
"/var/lib/kubelet" |
|
Liste des ressources à supprimer pour effectuer une suppression complète de |
|
|
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 à 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".
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 :
-
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 en tant que
dirty
(pas sûr 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 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œudclean
(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 :
-
Identifiez et nettoyez les chemins publiés obsolètes sur le nœud.
-
Si le nœud est dans un
cleanable
state (le taint hors service a été supprimé et le nœud est dansReady
État). Tous les chemins obsolètes et publiés sont propres. Astra Trident reprépare le nœud en tant queclean
et autoriser les nouveaux volumes publiés sur le nœud.
Exemples de configurations
Vous pouvez utiliser les attributs mentionnés ci-dessus lors de la définition TridentOrchestrator
pour personnaliser votre installation.
Exemple 1 : configuration personnalisée de base
Voici un exemple de configuration 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
Exemple 2 : déploiement avec des sélecteurs de nœuds
Cet exemple illustre le déploiement de Trident avec des sélecteurs de nœud :
apiVersion: trident.netapp.io/v1 kind: TridentOrchestrator metadata: name: trident spec: debug: true namespace: trident controllerPluginNodeSelector: nodetype: master nodePluginNodeSelector: storage: netapp
Exemple 3 : déploiement sur des nœuds de travail Windows
Cet exemple illustre le déploiement sur un nœud 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