Fehlerbehebung bei der Softwarebereitstellung

Auf dieser Seite wird beschrieben, wie Sie häufige Probleme bei der Softwarebereitstellung beheben können.

Fehlerbehebung beim Bootstrapping der Steuerungsebene

Wenn Sie Probleme mit dem Bootstrap-Steuerungsebenenprozess beheben möchten, prüfen Sie die folgenden Ressourcen im KIND-Cluster:

  1. Sehen Sie sich den Pod anthos-cluster-operator an:

    kubectl logs deployment/anthos-cluster-operator -c operator -n kube-system
    
  2. Prüfen Sie die AddOn-Ressourcen:

    kubectl get AddOn -A
    

    Mit dem Befehl gpc-addons können Sie sich auch die Ressourcen ansehen, um weitere Informationen zu erhalten.

  3. Prüfen Sie die AddOnSet-Ressourcen:

    kubectl get AddOnSet -A
    

    Wenn die Verarbeitung des Bootstrap der Steuerungsebene nach der Erstellung des Organisationsinfrastrukturclusters nicht abgeschlossen wird, z. B. während eines Ressourcenpivots, exportieren Sie die Datei kubeconfig manuell:

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

Fehlerbehebung bei der Clustererstellung

So beheben Sie Probleme beim Erstellen des Clusters:

  1. Sehen Sie sich die aktuelle Phase des Clusters an und prüfen Sie, ob das Objekt Harbor-operator oder Harbor vorhanden ist. Prüfen Sie den Status des Objekts im KIND-Cluster in der AddOnSet-Ressource, indem Sie den folgenden Befehl ausführen:

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

    Suchen Sie nach dem Ausführen dieses Befehls in status.currentStage nach der aktuellen Phase.

  2. Prüfen Sie im Infrastrukturcluster der Organisation die Ressourcen im Namespace harbor-system. Wenn Sie das HarborCluster-Objekt über den Befehl kubectl get harborcluster harbor -n harbor-system bereitgestellt haben, bedeutet das, dass die Installation in die zweite Phase, die Harbor-Phase, übergegangen ist.

  3. Prüfen Sie das Feld status im Objekt HarborCluster:

    kubectl -n harbor-system get harborcluster harbor
    

    Wenn der Status healthy lautet, prüfen Sie die Funktionalität über das Webportal mit dem Befehl docker push.

  4. Rufen Sie das Webportal über die gemeldete URL auf. Beispiel: https://10.200.0.36:10443.

  5. Führen Sie im Bootstrapper den Befehl docker push aus.

    Wenn der Status unhealthy ist, sehen Sie sich die Details der Statusbedingungen an, indem Sie den folgenden Eintrag ausführen:

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

    Wenn der Status healthy lautet, fahren Sie mit dem Abschnitt Istio-Status prüfen fort. Wenn der Status nicht healthy lautet, fahren Sie mit dem nächsten Abschnitt Harbor-Namespace-Ressourcen auswerten fort.

Harbor-Namespace-Ressourcen bewerten

Diese Schritte müssen nur ausgeführt werden, wenn die harbor-system-Ressourcen nicht den Status healthy haben. Informationen zum Prüfen des Status Ihrer harbor-system-Ressourcen finden Sie unter Fehlerbehebung bei der Clustererstellung.

  1. Bewerten Sie die Ressourcen des Namespace harbor-system:

    kubectl get all -n harbor-system
    
  2. Prüfen Sie den Status der Ressourcen, die mit dem Harbor-Operator zusammenhängen, einschließlich der PostgreSQL- und Redis-Operatoren, die in der zweiten Phase der Erstellung des Organisationsinfrastrukturclusters als untergeordnete Diagramme erstellt werden. Prüfen Sie, ob die folgenden Operatoren den Status Running haben:

    deployment/harbor-operator-harbor-operator
    deployment/harbor-operator-postgres-operator
    deployment/harbor-operator-redisoperator
    
  3. Prüfen Sie, ob die Ressourcen für die PostgreSQL-, Redis- und Harbor-Komponenten alle den Status healthy haben. Wenn sich einige Pods nicht im Status healthy befinden, prüfen Sie die Details des fehlerhaften Pods mit den folgenden Befehlen:

    kubectl get pod -o wide
    kubectl describe pod
    

    Mit diesem Befehl können Sie auch die Logs des verwaltenden Operators aufrufen:

    kubectl logs -f deploy/harbor-operator-postgres-operator
    
  4. Die PostgreSQL-Ressource finden Sie unter statefulset/postgresql-harbor-system-harbor.

  5. So prüfen Sie die Redis-Ressource:

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

    Die Harbor-Kernkomponenten werden erst bereitgestellt, wenn die beiden Komponenten bereit sind.

    Wenn einige Pods der Harbor-Kernkomponenten fehlschlagen, sehen Sie sich die Logs des fehlgeschlagenen Pods an. In einigen Fällen gibt es ein Kommunikationsproblem mit PostgreSQL- oder Redis-Instanzen.

    Wenn die Harbor-Kernkomponente beispielsweise mit den bereitgestellten Anmeldedaten keine Verbindung zu PostgreSQL oder Redis herstellen kann, liegt möglicherweise ein Problem mit dem Harbor-Operator vor, der für die Einrichtung der Anmeldedaten vor der Bereitstellung von Harbor-Kernkomponenten verantwortlich ist.

Istio-Status prüfen

Prüfen Sie, ob der Pod-Status istio lautet, z. B. istio-system und service/istio-ingressgateway, indem Sie prüfen, ob Port 10443 freigegeben ist.