4.9. Dépannage des problèmes de l’opérateur
Lorsque vous rencontrez des problèmes d’opérateur, vérifiez l’état de l’abonnement de l’opérateur. Consultez la santé de la pod de l’opérateur à travers le cluster et rassemblez les journaux de l’opérateur pour le diagnostic.
4.9.1. Conditions d’abonnement à l’opérateur Copier lienLien copié sur presse-papiers!
Les abonnements peuvent signaler les types d’état suivants:
État de l’état | Description |
---|---|
| Certaines ou toutes les sources de catalogue à utiliser en résolution sont malsaines. |
| Il manque un plan d’installation pour un abonnement. |
| Le plan d’installation d’un abonnement est en attente d’installation. |
| Le plan d’installation d’un abonnement a échoué. |
| La résolution de dépendance pour un abonnement a échoué. |
Les opérateurs de clusters AWS sont gérés par l’opérateur de version CVO (Cluster Version Operator) et n’ont pas d’objet d’abonnement. Les opérateurs d’applications sont gérés par Operator Lifecycle Manager (OLM) et ils ont un objet d’abonnement.
4.9.2. Affichage du statut d’abonnement de l’opérateur en utilisant le CLI Copier lienLien copié sur presse-papiers!
En utilisant le CLI, vous pouvez voir l’état de l’abonnement à l’opérateur.
Conditions préalables
- En tant qu’utilisateur, vous avez accès au cluster avec le rôle d’administrateur dédié.
- L’OpenShift CLI (oc) a été installé.
Procédure
Abonnements à l’opérateur de liste:
oc get subs -n <operator_namespace>
$ oc get subs -n <operator_namespace>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Consultez la commande de description d’oc pour inspecter une ressource d’abonnement:
oc describe sub <subscription_name> -n <operator_namespace>
$ oc describe sub <subscription_name> -n <operator_namespace>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Dans la sortie de commande, trouvez la section Conditions pour l’état des types de condition d’abonnement Opérateur. Dans l’exemple suivant, le type de condition de CatalogSourcesUnsanté a un statut de faux parce que toutes les sources de catalogue disponibles sont saines:
Exemple de sortie
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
Les opérateurs de clusters AWS sont gérés par l’opérateur de version CVO (Cluster Version Operator) et n’ont pas d’objet d’abonnement. Les opérateurs d’applications sont gérés par Operator Lifecycle Manager (OLM) et ils ont un objet d’abonnement.
4.9.3. Affichage de l’état de la source du catalogue de l’opérateur en utilisant le CLI Copier lienLien copié sur presse-papiers!
Il est possible d’afficher l’état d’une source de catalogue de l’opérateur à l’aide du CLI.
Conditions préalables
- En tant qu’utilisateur, vous avez accès au cluster avec le rôle d’administrateur dédié.
- L’OpenShift CLI (oc) a été installé.
Procédure
Énumérez les sources du catalogue dans un espace de noms. À titre d’exemple, vous pouvez vérifier l’espace de noms openshift-marketplace, qui est utilisé pour les sources de catalogue à l’échelle du cluster:
oc get catalogsources -n openshift-marketplace
$ oc get catalogsources -n openshift-marketplace
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Exemple de sortie
Copy to Clipboard Copied! Toggle word wrap Toggle overflow La commande oc described permet d’obtenir plus de détails et d’état sur une source de catalogue:
oc describe catalogsource example-catalog -n openshift-marketplace
$ oc describe catalogsource example-catalog -n openshift-marketplace
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Exemple de sortie
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Dans l’exemple précédent, le dernier état observé est TRANSIENT_FAILURE. Cet état indique qu’il y a un problème à établir une connexion pour la source du catalogue.
Énumérez les pods dans l’espace de noms où votre source de catalogue a été créée:
oc get pods -n openshift-marketplace
$ oc get pods -n openshift-marketplace
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Exemple de sortie
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Lorsqu’une source de catalogue est créée dans un espace de noms, un pod pour la source du catalogue est créé dans cet espace de noms. Dans l’exemple précédent, l’état de la pod example-catalog-bwt8z est ImagePullBackOff. Ce statut indique qu’il y a un problème à tirer l’image de l’index de la source du catalogue.
Consultez la commande de description d’oc pour inspecter un pod pour obtenir des informations plus détaillées:
oc describe pod example-catalog-bwt8z -n openshift-marketplace
$ oc describe pod example-catalog-bwt8z -n openshift-marketplace
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Exemple de sortie
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Dans l’exemple précédent, les messages d’erreur indiquent que l’image d’index de la source du catalogue ne parvient pas à tirer avec succès en raison d’un problème d’autorisation. À titre d’exemple, l’image d’index peut être stockée dans un registre qui nécessite des identifiants de connexion.
4.9.4. État de la pod de l’opérateur d’interrogation Copier lienLien copié sur presse-papiers!
Il est possible de répertorier les pods d’opérateur dans un cluster et leur statut. Il est également possible de recueillir un résumé détaillé de la pod de l’opérateur.
Conditions préalables
- En tant qu’utilisateur, vous avez accès au cluster avec le rôle d’administrateur dédié.
- Le service API est toujours fonctionnel.
- L’OpenShift CLI (oc) a été installé.
Procédure
Liste Opérateurs fonctionnant dans le cluster. La sortie comprend la version de l’opérateur, la disponibilité et les informations de disponibilité:
oc get clusteroperators
$ oc get clusteroperators
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Liste Les pods d’opérateur s’exécutant dans l’espace de noms de l’opérateur, plus le statut du pod, le redémarrage et l’âge:
oc get pod -n <operator_namespace>
$ oc get pod -n <operator_namespace>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Afficher un résumé détaillé de la pod de l’opérateur:
oc describe pod <operator_pod_name> -n <operator_namespace>
$ oc describe pod <operator_pod_name> -n <operator_namespace>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
4.9.5. Collecte des journaux de l’opérateur Copier lienLien copié sur presse-papiers!
Lorsque vous rencontrez des problèmes d’opérateur, vous pouvez recueillir des informations de diagnostic détaillées à partir des journaux de pod de l’opérateur.
Conditions préalables
- En tant qu’utilisateur, vous avez accès au cluster avec le rôle d’administrateur dédié.
- Le service API est toujours fonctionnel.
- L’OpenShift CLI (oc) a été installé.
- Les noms de domaine entièrement qualifiés des machines de plan de contrôle ou de contrôle sont disponibles.
Procédure
Énumérez les pods d’opérateur qui s’exécutent dans l’espace de noms de l’opérateur, ainsi que le statut, le redémarrage et l’âge du pod:
oc get pods -n <operator_namespace>
$ oc get pods -n <operator_namespace>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Journaux d’examen pour une pod d’opérateur:
oc logs pod/<pod_name> -n <operator_namespace>
$ oc logs pod/<pod_name> -n <operator_namespace>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Dans le cas où une pod d’opérateur a plusieurs conteneurs, la commande précédente produira une erreur qui inclut le nom de chaque conteneur. Journal de requête à partir d’un conteneur individuel:
oc logs pod/<operator_pod_name> -c <container_name> -n <operator_namespace>
$ oc logs pod/<operator_pod_name> -c <container_name> -n <operator_namespace>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Lorsque l’API n’est pas fonctionnelle, examinez la pod et le conteneur de l’opérateur sur chaque nœud de plan de contrôle en utilisant SSH à la place. <master-node>.<cluster_name>.<base_domain> par des valeurs appropriées.
Liste des gousses sur chaque nœud de plan de contrôle:
ssh core@<master-node>.<cluster_name>.<base_domain> sudo crictl pods
$ ssh core@<master-node>.<cluster_name>.<base_domain> sudo crictl pods
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Dans le cas de n’importe quelle gousse d’opérateur qui ne montre pas d’état prêt, inspectez en détail l’état de la gousse. <operator_pod_id> par l’ID du pod de l’opérateur listé dans la sortie de la commande précédente:
ssh core@<master-node>.<cluster_name>.<base_domain> sudo crictl inspectp <operator_pod_id>
$ ssh core@<master-node>.<cluster_name>.<base_domain> sudo crictl inspectp <operator_pod_id>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Liste des conteneurs liés à une pod d’opérateur:
ssh core@<master-node>.<cluster_name>.<base_domain> sudo crictl ps --pod=<operator_pod_id>
$ ssh core@<master-node>.<cluster_name>.<base_domain> sudo crictl ps --pod=<operator_pod_id>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Dans le cas d’un conteneur de l’opérateur qui ne montre pas d’état prêt, inspectez en détail l’état du conteneur. <container_id> par un identifiant de conteneur listé dans la sortie de la commande précédente:
ssh core@<master-node>.<cluster_name>.<base_domain> sudo crictl inspect <container_id>
$ ssh core@<master-node>.<cluster_name>.<base_domain> sudo crictl inspect <container_id>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Examinez les journaux pour tous les conteneurs de l’opérateur qui ne montrent pas d’état prêt. <container_id> par un identifiant de conteneur listé dans la sortie de la commande précédente:
ssh core@<master-node>.<cluster_name>.<base_domain> sudo crictl logs -f <container_id>
$ ssh core@<master-node>.<cluster_name>.<base_domain> sudo crictl logs -f <container_id>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow NoteLe service OpenShift Red Hat sur les nœuds de cluster AWS 4 exécutant Red Hat Enterprise Linux CoreOS (RHCOS) est immuable et compte sur les opérateurs pour appliquer des modifications de cluster. L’accès aux nœuds de cluster en utilisant SSH n’est pas recommandé. Avant d’essayer de recueillir des données diagnostiques sur SSH, vérifiez si les données recueillies en exécutant oc adm doivent recueillir et si d’autres commandes oc sont suffisantes à la place. Cependant, si le service OpenShift Red Hat sur AWS API n’est pas disponible, ou si le kubelet ne fonctionne pas correctement sur le nœud cible, les opérations oc seront affectées. Dans de telles situations, il est possible d’accéder à des nœuds en utilisant ssh core@<node>.<cluster_name>.<base_domain>.