Comment déboguer et résoudre les problèmes de conteneur courants dans Container Station ?
Container Station vous permet de déployer des applications et des conteneurs tiers sur votre appareil QNAP. Les images open source utilisées pour créer ces conteneurs peuvent introduire des problèmes de déploiement.
QNAP ne fournit pas de support technique pour les images tierces. Suivez ces étapes pour diagnostiquer et résoudre les problèmes courants liés aux conteneurs.
Vérification de la configuration du conteneur
Les conteneurs héritent de tous les attributs de l'image source. Analysez le fichier image pour identifier les vulnérabilités de sécurité, les erreurs de configuration et les menaces de porte dérobée avant le déploiement.
Si le conteneur rencontre des problèmes après le déploiement, analysez les journaux du conteneur pour diagnostiquer et résoudre les problèmes.
Examen des informations relatives à l'image
Examinez les conditions préalables de l'image et effectuez toutes les étapes requises avant de déployer le conteneur.
Par exemple, déployer un conteneur PostgreSQL à l’aide de l'image postgres nécessite de définir la variable d'environnement POSTGRES_PASSWORD. Le conteneur ne parvient pas à se déployer sans cette variable.
POSTGRES_PASSWORD dans la section Environnement.Analyse des journaux d'événements de Container Station
Container Station enregistre toutes les activités des applications et des conteneurs. Les journaux d’échec fournissent des messages d’erreur explicites, notamment le nom de l’application ou du conteneur, le code d’erreur et les détails de l’erreur.
- Ouvrez Container Station.
- Cliquez sur Journaux d'événements.
- Localiser les journaux d’échec.
Exemple 1
Dans cet exemple, le journal des événements a enregistré un échec de démarrage car les ports spécifiés étaient déjà utilisés par d'autres services, empêchant le conteneur de se lier aux interfaces réseau requises.
Exemple 2
Le journal des événements a enregistré un échec de démarrage dans cet exemple en raison d'une commande de point d'entrée mal configurée, ce qui a empêché le conteneur d'exécuter le processus prévu.
Vérification des journaux de conteneur individuels
Analysez les journaux de conteneurs individuels pour détecter les messages d’erreur et d’avertissement. Container Station enregistre les états d'erreur détaillés, tels que les variables d'environnement manquantes, les formats de nommage non valides, les échecs de récupération d'image et les échecs d'initialisation.
- Ouvrez Container Station.
- Cliquez sur Conteneurs.
- Sélectionnez un conteneur pour ouvrir la page d'autorisation.
- Cliquez sur Journaux.
- Examinez les messages d'erreur et d'avertissement.
Exemple 1
Le journal des événements a enregistré un échec de démarrage car la variable d'environnement MYSQL_ROOT_PASSWORD n'a pas été définie avant le déploiement du conteneur MySQL, ce qui a provoqué sa fermeture immédiatement après l'initialisation.
Exemple 2
Le journal des événements a enregistré un échec de démarrage car le conteneur Rancher a été déployé à l'aide d l’image rancher/rancher sans activer le mode privilégié. Sans le drapeau --privileged, le conteneur n'a pas pu s'initialiser correctement.
Vérification de la compatibilité des images
Assurez-vous que l’image est compatible avec l’architecture du processeur et le système d’exploitation de votre appareil QNAP. Des versions d'image ou des architectures incorrectes empêchent les conteneurs de s'exécuter.
Vérification de la compatibilité de la plateforme
Vérifiez que la plate-forme d’image correspond à l’architecture du processeur de votre appareil QNAP. Si vous transférez une image à partir d’un autre appareil QNAP, vérifiez que les deux appareils utilisent la même architecture.
Docker
La page de l'image Docker fournit une liste des architectures et des systèmes d'exploitation pris en charge pour chaque version d'image. Voici les directives générales de compatibilité pour les images Docker :
linux/arm/v7les images prennent en charge les architectures ARM 32 bits.linux/arm64/v8les images prennent en charge les architectures ARM 64 bits.linux/amd64les images prennent en charge les architectures x86 64 bits.
LXD
Pour plus de détails sur la compatibilité, visitez Serveur d'images LXD. Voici les directives générales de compatibilité architecturale pour les conteneurs LXD :
armhfles conteneurs prennent en charge les architectures ARM 32 bits.arm64les conteneurs prennent en charge les architectures ARM 64 bits.amd64les conteneurs prennent en charge les architectures x86 64 bits.
Identification de l'incompatibilité des conteneurs
Les conteneurs Docker incompatibles peuvent enregistrer un exec format error, indiquant une incompatibilité d'architecture.
Lors du déploiement de conteneurs LXD incompatibles, Container Station enregistre les journaux d'échec dans la page Journaux d'événements.
Vérification de la compatibilité du format de page
QNAP a mis à jour la taille de la page système de 4K à 32K pour améliorer les performances sur des appareils ARM 32 bits spécifiques. Cette modification peut limiter l’accès du conteneur aux ressources mémoire, provoquant des erreurs de segmentation. Vérifiez la compatibilité des conteneurs tiers avant le déploiement.
| Série | Modèles |
|---|---|
| TS-x31P | TS-531P |
| TS-x31P3 | TS-231P3, TS-431P3 |
| TS-x31X | TS-231X, TS-431X, TS-531X, TS-831X, TS-431X2, TS-431X3 |
| TS-x31KX | TS-431KX |
| TS-x31XU | TS-431XU, TS-431XU-RP, TS-831XU, TS-831XU-RP, TS-1231XU, TS-1231XU-RP |
| TS-x31XeU | TS-431XeU |
| TS-x35 | TS-1635 |
Vérification de la configuration du système QNAP
Assurez-vous que l'appareil QNAP est correctement configuré pour le déploiement et l'orchestration de conteneurs.
Vérification des paramètres du réseau
- Connectez-vous à votre appareil QNAP et ouvrez Réseau et commutateur virtuel.
- Sélectionnez le mode Avancé.
- Allez dans Réseau > Commutateur virtuel.
- Identifiez les segments de réseau utilisés par le réseau de conteneurs.
- Rendez-vous dans Panneau de configuration > Système > Sécurité > Liste des autorisations/refus .RemarqueSi QuFirewall est installé sur votre appareil, assurez-vous qu'il est activé, puis ouvrez QuFirewall et ajoutez les segments de réseau requis à la liste autorisée.
- Assurez-volus que les segments de réseau du conteneur sont ajoutés à la liste autorisée.
ImportantQNAP recommande fortement d'ajouter les plages IP suivantes à la liste d'autorisation :10.0.3.0/24,10.0.5.0/24,10.0.7.0/24,172.29.0.0/22,172.30.0.0/22. Si les services Kubernetes sont activés, ajoutez également10.42.0.0/24(Réseau de pods Kubernetes CIDR).
Vérification des paramètres d'autorisation avancés
- Allez dans Panneau de configuration > Privilège > Dossiers partagés> Autorisations avancées.
- Désactivez Activer les autorisations avancées sur les dossiers.
- Cliquez sur Appliquer.
- Accédez à Panneau de configuration > Privilège > Quota et vérifiez les paramètres de quota d'utilisateurs.RemarqueLes paramètres de quota s'appliquent uniquement si la gestion des quotas est activée.AvertissementVérifiez les paramètres de quota utilisateur pour vous assurer qu’aucune restriction de quota involontaire n’est en place. Des paramètres de quota accidentels peuvent amener le conteneur à signaler des erreurs en raison de limitations de stockage.
Vérification de la configuration du stockage et du réseau
- Allez dans Stockage et snapshots > Stockage > Stockage/Snapshots.
- Vérifiez la capacité de stockage disponible.
RemarqueSi l'état est différent de Prêt, vérifiez l'état du disque pour détecter les erreurs de stockage. Pour plus de détails, voir dans États des disques dans le Guide de l'utilisateur de QTS ou QuTS Hero.
Vérification de la configuration réseau
Assurez-vous que les paramètres réseau sont correctement configurés en suivant ces étapes :
- Accédez à Réseau et commutateur virtuel > Réseau > Interfaces et vérifiez si les paramètres du DNS et de la passerelle.
- Assurez-vous que le serveur DHCP peut attribuer des adresses IP aux conteneurs à l’aide d’un commutateur virtuel. Pour plus de détails, voir dans Configuration du commutateur virtuel dans le Guide de l'utilisateur de QTS ou QuTS Hero.RemarqueLe paramètre Ne pas attribuer d'adresses IP (à des fins spéciales, telles que la construction d'un réseau externe ou d'un réseau isolé) dans la configuration du commutateur virtuel est destiné à des configurations réseau spécifiques. Si vous n’avez pas besoin d’une configuration réseau personnalisée, il est recommandé de désactiver ce paramètre.
Cependant, si vous configurez un réseau externe ou isolé, activez-le. Sachez que ce paramètre peut affecter la configuration réseau du conteneur. Pour plus de détails, voir Créer un commutateur virtuel en mode avancé dans le guide de l'utilisateur de QTS ou QuTS hero. - Accédez à Container Station > Préférences > Paramètres réseau et assurez-vous que les segments du réseau de conteneurs ne sont pas en conflit avec l'environnement local.ImportantContainer Station utilise
10.0.3.0/24,10.0.5.0/24, et10.0.7.0/24comme réseaux IP par défaut.
Consulter l'aide et la documentation en ligne
Plusieurs images sont open source, permettant aux utilisateurs de modifier le code source. Si aucune des méthodes de dépannage ne résout le problème, l’image source peut être incompatible ou corrompue. Dans ce cas, QNAP recommande de visiter le site Web de l'image pour plus d'informations ou d'utiliser d'autres images de la même catégorie.
Si l'image provient du registre Docker, vous pouvez trouver plus de détails sur la page de Vue d'ensemble de l'image. Par exemple, l'image ubuntu dans Docker fournit des liens de référence rapides pour plus d'informations.