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:
Sehen Sie sich den Pod
anthos-cluster-operator
an:kubectl logs deployment/anthos-cluster-operator -c operator -n kube-system
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.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:
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 derAddOnSet
-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.Prüfen Sie im Infrastrukturcluster der Organisation die Ressourcen im Namespace
harbor-system
. Wenn Sie dasHarborCluster
-Objekt über den Befehlkubectl get harborcluster harbor -n harbor-system
bereitgestellt haben, bedeutet das, dass die Installation in die zweite Phase, die Harbor-Phase, übergegangen ist.Prüfen Sie das Feld
status
im ObjektHarborCluster
:kubectl -n harbor-system get harborcluster harbor
Wenn der Status
healthy
lautet, prüfen Sie die Funktionalität über das Webportal mit dem Befehldocker push
.Rufen Sie das Webportal über die gemeldete URL auf. Beispiel:
https://10.200.0.36:10443
.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 nichthealthy
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.
Bewerten Sie die Ressourcen des Namespace
harbor-system
:kubectl get all -n harbor-system
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
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 Statushealthy
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
Die PostgreSQL-Ressource finden Sie unter
statefulset/postgresql-harbor-system-harbor
.So prüfen Sie die Redis-Ressource:
- Redis-Instanz:
statefulset/rfr-harbor-redis
- 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.
- Redis-Instanz:
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.