Résoudre les problèmes de provisionnement de logiciels

Cette page explique comment résoudre les problèmes courants de provisionnement de logiciels que vous pouvez rencontrer.

Résoudre les problèmes d'amorçage du plan de contrôle

Pour résoudre les problèmes liés au processus du plan de contrôle d'amorçage, consultez les ressources suivantes dans le cluster KIND :

  1. Examinez le pod anthos-cluster-operator :

    kubectl logs deployment/anthos-cluster-operator -c operator -n kube-system
    
  2. Inspectez les ressources AddOn :

    kubectl get AddOn -A
    

    Vous pouvez également afficher les ressources avec la commande gpc-addons pour en savoir plus.

  3. Consultez les ressources AddOnSet :

    kubectl get AddOnSet -A
    

    Si l'amorçage du plan de contrôle ne se termine pas après la création du cluster d'infrastructure de l'organisation, par exemple lors d'un pivot de ressources, exportez manuellement le fichier kubeconfig :

    kubectl get secret root-admin-kubeconfig -n root -o jsonpath="{.data.value}" | base64 -d > /root/path/to/root-admin-kubeconfig.yaml
    

Résoudre les problèmes de création de clusters

Pour résoudre les problèmes liés à la création du cluster, procédez comme suit :

  1. Examinez l'état actuel du cluster et vérifiez si l'objet Harbor-operator ou Harbor existe et vérifiez son état à partir du cluster KIND dans la ressource AddOnSet en exécutant la commande suivante :

    kubectl get addonset -n fleet-root root-admin -o yaml
    

    Après avoir exécuté cette commande, recherchez l'étape actuelle dans status.currentStage.

  2. Depuis le cluster d'infrastructure de l'organisation, vérifiez les ressources dans l'espace de noms harbor-system. Si vous avez déployé l'objet HarborCluster à l'aide de la commande kubectl get harborcluster harbor -n harbor-system, cela indique que l'installation est passée à la deuxième étape, l'étape Harbor.

  3. Inspectez le champ status dans l'objet HarborCluster :

    kubectl -n harbor-system get harborcluster harbor
    

    Si l'état indique healthy, vérifiez sa fonctionnalité via le portail Web à l'aide de la commande docker push.

  4. Accédez au portail Web à l'URL signalée. Par exemple : https://10.200.0.36:10443.

  5. Dans le programme d'amorçage, exécutez la commande docker push.

    Si l'état est unhealthy, consultez les détails des conditions d'état en exécutant l'entrée suivante :

    kubectl -n harbor-system get harborcluster harbor -o yaml
    

    Si l'état indique healthy, accédez à la section Vérifier l'état d'Istio. Si l'état healthy ne s'affiche pas, passez à la section suivante, Évaluer les ressources de l'espace de noms Harbor.

Évaluer les ressources d'espace de noms Harbor

Ces étapes ne doivent être effectuées que si les ressources harbor-system n'ont pas l'état healthy. Pour vérifier l'état de vos ressources harbor-system, consultez Résoudre les problèmes de création de clusters.

  1. Évaluez les ressources de l'espace de noms harbor-system :

    kubectl get all -n harbor-system
    
  2. Vérifiez l'état des ressources liées à l'opérateur Harbor, y compris les opérateurs PostgreSQL et Redis qui sont créés en tant que sous-graphiques lors de la deuxième étape du processus de création du cluster d'infrastructure de l'organisation. Vérifiez que les opérateurs suivants sont à l'état Running :

    deployment/harbor-operator-harbor-operator
    deployment/harbor-operator-postgres-operator
    deployment/harbor-operator-redisoperator
    
  3. Vérifiez que l'état des ressources des composants PostgreSQL, Redis et Harbor est healthy. Si certains pods ne sont pas à l'état healthy, examinez les détails du pod en échec à l'aide des commandes suivantes :

    kubectl get pod -o wide
    kubectl describe pod
    

    Vous pouvez également afficher les journaux de l'opérateur de gestion à l'aide de cette commande :

    kubectl logs -f deploy/harbor-operator-postgres-operator
    
  4. Pour vérifier la ressource PostgreSQL, consultez statefulset/postgresql-harbor-system-harbor.

  5. Pour vérifier la ressource Redis, consultez les éléments suivants :

    1. Instance Redis :statefulset/rfr-harbor-redis
    2. Sentinel Redis :deployment/rfs-harbor-redis

    Les composants principaux de Harbor ne sont déployés que lorsque les deux composants sont prêts.

    Si certains pods de composants principaux Harbor échouent, examinez les journaux du pod en échec. Dans certains cas, un problème de communication se produit avec les instances PostgreSQL ou Redis.

    Par exemple, si le composant principal de Harbor ne parvient pas à se connecter à PostgreSQL ou à Redis avec les identifiants fournis, il peut y avoir un problème avec l'opérateur Harbor, qui est responsable de la configuration des identifiants avant le déploiement des composants principaux de Harbor.

Vérifier l'état d'Istio

Pour vérifier que l'état du pod est istio, tel que istio-system et service/istio-ingressgateway, vérifiez si le port 10443 est exposé.