Dépannage
Utilisez les pointeurs indiqués ici pour résoudre les problèmes que vous pourriez rencontrer lors de l'installation et de l'utilisation d'Astra Trident.
Dépannage général
-
Si le pod Trident ne fonctionne pas correctement (par exemple, lorsque le pod Trident est coincé dans le
ContainerCreating
phase avec moins de deux conteneurs prêts à l'emploi), en cours d'exécutionkubectl -n trident describe deployment trident
etkubectl -n trident describe pod trident--**
peut fournir des informations exploitables supplémentaires. Obtenir des journaux kubelet (par exemple, viajournalctl -xeu kubelet
) peut également être utile. -
Si les journaux Trident ne contient pas suffisamment d'informations, vous pouvez essayer d'activer le mode de débogage pour Trident en passant le
-d
permet d'indiquer le paramètre d'installation en fonction de votre option d'installation.Vérifiez ensuite que le débogage est défini à l'aide de
./tridentctl logs -n trident
et à la recherche delevel=debug msg
dans le journal.- Installé avec l'opérateur
-
kubectl patch torc trident -n <namespace> --type=merge -p '{"spec":{"debug":true}}'
Cela redémarrera tous les modules Trident, ce qui peut prendre plusieurs secondes. Vous pouvez le vérifier en observant la colonne « ÂGE » dans la sortie de
kubectl get pod -n trident
.Pour utilisation d'Astra Trident 20.07 et 20.10
tprov
à la place detorc
. - Installé avec Helm
-
helm upgrade <name> trident-operator-21.07.1-custom.tgz --set tridentDebug=true`
- Installé avec tridentctl
-
./tridentctl uninstall -n trident ./tridentctl install -d -n trident
-
Vous pouvez également obtenir des journaux de débogage pour chaque back-end en incluant
debugTraceFlags
dans votre définition de back-end. Par exemple, incluezdebugTraceFlags: {“api”:true, “method”:true,}
Pour obtenir des appels d'API et des transits de méthode dans les journaux Trident. Systèmes back-end existants peuvent avoir lieudebugTraceFlags
configuré avec untridentctl backend update
. -
Lorsque vous utilisez RedHat CoreOS, assurez-vous que cela
iscsid
est activé sur les nœuds workers et démarré par défaut. Pour ce faire, utilisez OpenShift MachineConfiguration ou modifiez les modèles d'allumage. -
Un problème courant que vous pouvez rencontrer avec Trident "Azure NetApp Files" lorsque les secrets de locataire et de client proviennent d'un enregistrement d'application avec des autorisations insuffisantes. Pour obtenir la liste complète des exigences Trident, reportez-vous à la section "Azure NetApp Files" configuration.
-
En cas de problème de montage d'un PV sur un conteneur, vérifiez que
rpcbind
est installé et en cours d'exécution. Utilisez le gestionnaire de packages requis pour le système d'exploitation hôte et vérifiez sirpcbind
est en cours d'exécution. Vous pouvez vérifier le statut de l'rpcbind
service en exécutant unsystemctl status rpcbind
ou son équivalent. -
Si un système Trident indique qu'il se trouve dans le
failed
État bien qu'il ait auparavant travaillé, il est probable que cela soit causé par la modification des identifiants SVM/admin associés au back-end. Mise à jour des informations du back-end à l'aide detridentctl update backend
Vous pouvez également rebondir sur le pod Trident pour résoudre ce problème. -
Si vous rencontrez des problèmes d'autorisation lors de l'installation de Trident avec Docker comme conteneur d'exécution, essayez d'installer Trident avec le
--in cluster=false
drapeau. Ceci n'utilise pas de module d'installation et évite les problèmes de permission observés en raison de l'trident-installer
utilisateur. -
Utilisez le
uninstall parameter <Uninstalling Trident>
pour le nettoyage après un échec d'exécution. Par défaut, le script ne supprime pas les CRD créés par Trident, ce qui rend possible leur désinstallation et leur installation en toute sécurité, même dans le cadre d'un déploiement en cours d'exécution. -
Si vous souhaitez effectuer une mise à niveau vers une version antérieure de Trident, exécutez d'abord le
tridentctl uninstall
Commande de suppression de Trident. Télécharger le fichier désiré "Version Trident" et installer à l'aide detridentctl install
commande. -
Après une installation réussie, si un PVC est bloqué dans le
Pending
phase, exécutionkubectl describe pvc
Peut fournir des informations supplémentaires sur les raisons pour lesquelles Trident n'a pas pu provisionner un volume persistant pour cette demande de volume persistant.
Dépannage d'un échec de déploiement Trident à l'aide de l'opérateur
Si vous déployez Trident à l'aide de l'opérateur, le statut de TridentOrchestrator
modifications de Installing
à Installed
. Si vous observez l' Failed
status, et l'opérateur ne peut pas récupérer en lui-même, il est recommandé de vérifier les journaux de l'opérateur en exécutant la commande suivante :
tridentctl logs -l trident-operator
Traînant les journaux du conteneur de l'opérateur trident peut pointer vers l'emplacement où se trouve le problème. Par exemple, un tel problème pourrait être l'impossibilité d'extraire les images de conteneur requises des registres en amont dans un environnement mis à l'air.
Pour comprendre pourquoi l'installation de Trident a échoué, vous
devrait jeter un coup d'œil au TridentOrchestrator
état.
kubectl describe torc trident-2 Name: trident-2 Namespace: Labels: <none> Annotations: <none> API Version: trident.netapp.io/v1 Kind: TridentOrchestrator ... Status: Current Installation Params: IPv6: Autosupport Hostname: Autosupport Image: Autosupport Proxy: Autosupport Serial Number: Debug: Image Pull Secrets: <nil> Image Registry: k8sTimeout: Kubelet Dir: Log Format: Silence Autosupport: Trident Image: Message: Trident is bound to another CR 'trident' Namespace: trident-2 Status: Error Version: Events: Type Reason Age From Message ---- ------ ---- ---- ------- Warning Error 16s (x2 over 16s) trident-operator.netapp.io Trident is bound to another CR 'trident'
Cette erreur indique qu'il existe déjà un TridentOrchestrator
Utilisé pour installer Trident. Étant donné que chaque cluster Kubernetes peut uniquement
Disposer d'une instance de Trident, l'opérateur s'assure qu'à n'importe quelle occasion
une seule fois active existe TridentOrchestrator
ce qu'il peut
créer.
De plus, l'observation de l'état des pods Trident peut souvent indiquer si quelque chose n'est pas approprié.
kubectl get pods -n trident NAME READY STATUS RESTARTS AGE trident-csi-4p5kq 1/2 ImagePullBackOff 0 5m18s trident-csi-6f45bfd8b6-vfrkw 4/5 ImagePullBackOff 0 5m19s trident-csi-9q5xc 1/2 ImagePullBackOff 0 5m18s trident-csi-9v95z 1/2 ImagePullBackOff 0 5m18s trident-operator-766f7b8658-ldzsv 1/1 Running 0 8m17s
Vous pouvez voir clairement que les modules ne peuvent pas s'initialiser complètement
car une ou plusieurs images de conteneur n'ont pas été extraites.
Pour résoudre le problème, vous devez modifier le TridentOrchestrator
CR.
Vous pouvez également supprimer TridentOrchestrator
, et créer un nouveau
un avec la définition modifiée et précise.
Dépannage d'un déploiement Trident non réussi à l'aide de tridentctl
Pour vous aider à déterminer ce qui s'est mal passé, vous pouvez exécuter à nouveau le programme d'installation à l'aide du -d
argument, qui active le mode débogage et vous aide à comprendre le problème :
./tridentctl install -n trident -d
Après avoir résolu le problème, vous pouvez nettoyer l'installation comme suit, puis exécuter le tridentctl install
commande à nouveau :
./tridentctl uninstall -n trident INFO Deleted Trident deployment. INFO Deleted cluster role binding. INFO Deleted cluster role. INFO Deleted service account. INFO Removed Trident user from security context constraint. INFO Trident uninstallation succeeded.
Retirez complètement Astra Trident et les CRD
Vous pouvez supprimer complètement Astra Trident, tous les CRD créés et les ressources personnalisées associées.
Cette opération ne peut pas être annulée. Ne le faites que si vous souhaitez une toute nouvelle installation d'Astra Trident. Pour désinstaller Astra Trident sans supprimer les CRD, reportez-vous à la section "Désinstaller Astra Trident". |
Pour désinstaller Astra Trident et supprimer complètement les CRD à l'aide de l'opérateur Trident :
kubectl patch torc <trident-orchestrator-name> --type=merge -p '{"spec":{"wipeout":["crds"],"uninstall":true}}'
Pour désinstaller Astra Trident et supprimer complètement les CRD à l'aide de Helm :
kubectl patch torc trident --type=merge -p '{"spec":{"wipeout":["crds"],"uninstall":true}}'
Pour supprimer complètement les CRD après la désinstallation d'Astra Trident à l'aide de tridentctl
tridentctl obliviate crd