4.5. Statut de l’opérateur
Comprendre l’état du système dans Operator Lifecycle Manager (OLM) est important pour prendre des décisions concernant et débogage des problèmes avec les opérateurs installés. L’OLM fournit un aperçu des abonnements et des sources de catalogue connexes concernant leur état et les actions effectuées. Cela aide les utilisateurs à mieux comprendre la santé de leurs opérateurs.
4.5.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 cluster dédiés par défaut sont gérés par l’opérateur de versions de cluster (CVO) et ils 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.5.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>Consultez la commande de description d’oc pour inspecter une ressource d’abonnement:
$ oc describe sub <subscription_name> -n <operator_namespace>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
Name: cluster-logging Namespace: openshift-logging Labels: operators.coreos.com/cluster-logging.openshift-logging= Annotations: <none> API Version: operators.coreos.com/v1alpha1 Kind: Subscription # ... Conditions: Last Transition Time: 2019-07-29T13:42:57Z Message: all available catalogsources are healthy Reason: AllCatalogSourcesHealthy Status: False Type: CatalogSourcesUnhealthy # ...
Les opérateurs de cluster dédiés par défaut sont gérés par l’opérateur de versions de cluster (CVO) et ils 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.5.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-marketplaceExemple de sortie
NAME DISPLAY TYPE PUBLISHER AGE certified-operators Certified Operators grpc Red Hat 55m community-operators Community Operators grpc Red Hat 55m example-catalog Example Catalog grpc Example Org 2m25s redhat-marketplace Red Hat Marketplace grpc Red Hat 55m redhat-operators Red Hat Operators grpc Red Hat 55mLa 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-marketplaceExemple de sortie
Name: example-catalog Namespace: openshift-marketplace Labels: <none> Annotations: operatorframework.io/managed-by: marketplace-operator target.workload.openshift.io/management: {"effect": "PreferredDuringScheduling"} API Version: operators.coreos.com/v1alpha1 Kind: CatalogSource # ... Status: Connection State: Address: example-catalog.openshift-marketplace.svc:50051 Last Connect: 2021-09-09T17:07:35Z Last Observed State: TRANSIENT_FAILURE Registry Service: Created At: 2021-09-09T17:05:45Z Port: 50051 Protocol: grpc Service Name: example-catalog Service Namespace: openshift-marketplace # ...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-marketplaceExemple de sortie
NAME READY STATUS RESTARTS AGE certified-operators-cv9nn 1/1 Running 0 36m community-operators-6v8lp 1/1 Running 0 36m marketplace-operator-86bfc75f9b-jkgbc 1/1 Running 0 42m example-catalog-bwt8z 0/1 ImagePullBackOff 0 3m55s redhat-marketplace-57p8c 1/1 Running 0 36m redhat-operators-smxx8 1/1 Running 0 36mLorsqu’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-marketplaceExemple de sortie
Name: example-catalog-bwt8z Namespace: openshift-marketplace Priority: 0 Node: ci-ln-jyryyg2-f76d1-ggdbq-worker-b-vsxjd/10.0.128.2 ... Events: Type Reason Age From Message ---- ------ ---- ---- ------- Normal Scheduled 48s default-scheduler Successfully assigned openshift-marketplace/example-catalog-bwt8z to ci-ln-jyryyf2-f76d1-fgdbq-worker-b-vsxjd Normal AddedInterface 47s multus Add eth0 [10.131.0.40/23] from openshift-sdn Normal BackOff 20s (x2 over 46s) kubelet Back-off pulling image "quay.io/example-org/example-catalog:v1" Warning Failed 20s (x2 over 46s) kubelet Error: ImagePullBackOff Normal Pulling 8s (x3 over 47s) kubelet Pulling image "quay.io/example-org/example-catalog:v1" Warning Failed 8s (x3 over 47s) kubelet Failed to pull image "quay.io/example-org/example-catalog:v1": rpc error: code = Unknown desc = reading manifest v1 in quay.io/example-org/example-catalog: unauthorized: access to the requested resource is not authorized Warning Failed 8s (x3 over 47s) kubelet Error: ErrImagePullDans 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.