Debugging für Red Hat OpenShift-Webkonsole, OperatorHub, interne Registry und andere Komponenten
Virtuelle Private Cloud Klassische Infrastruktur
Red Hat OpenShift-Cluster verfügen über viele integrierte Komponenten, die zusammen das Entwicklererlebnis vereinfachen. Sie können beispielsweise die Red Hat OpenShift-Webkonsole verwenden, um Ihre Cluster-Workloads zu verwalten und bereitzustellen,
oder Operatoren anderer Anbieter aus OperatorHub aktivieren, um Ihren Cluster mit einem Servicenetz und anderen Funktionen zu erweitern.
Zu den häufig verwendeten Komponenten gehören die folgenden. Wenn diese Komponenten fehlschlagen, überprüfen Sie die folgenden Debugschritte.
- Red Hat OpenShift-Webkonsole im Projekt
openshift-console - OperatorHub im Projekt
openshift-marketplace - Interne Registry im Projekt
openshift-image-registry
Schritt 1: Kontokonfiguration überprüfen
Vergewissern Sie sich, dass Ihr IBM Cloud-Konto ordnungsgemäß eingerichtet ist. Einige gängige Szenarios, die eine ordnungsgemäße Ausführung der Standardkomponenten behindern könnten, sind folgende:
- Wenn Ihr klassischer Cluster über mehrere Zonen verfügt oder Sie einen VPC-Cluster haben, müssen Sie VRF- oder VLAN Spanning aktivieren. Um zu prüfen, ob VRF bereits
aktiviert ist, führen Sie
ibmcloud account showaus. Um zu überprüfen, ob VLAN-Spanning aktiviert ist, führen Sieibmcloud oc vlan spanning getaus. - Falls einige Benutzer des Kontos eine Multi-Faktor-Authentifizierung (MFA) wie TOTP verwenden, stellen Sie sicher, dass Sie die MFA für alle Benutzer des IBM Cloud-Kontos aktivieren.
Die Aktivierung der MFA auf Benutzerebene wird nicht unterstützt. Wenn die MFA für einige Benutzer aktiviert ist, aber nicht für alle Benutzer auf Kontoebene aktiviert ist, können Authentifizierungsfehler auftreten.
Schritt 2: Öffentliches Gateway überprüfen
-
Für VPC-Cluster mit aktivierten öffentlichen und privaten Cloud-Serviceendpunkten:
Überprüfen Sie, dass ein öffentliches Gateway in jedem VPC-Teilnetz aktiviert ist, dem Ihr Cluster angehängt ist. Für Standardkomponenten wie die Webkonsole und den OperatorHub sind öffentliche Gateways erforderlich, um eine sichere öffentliche Verbindung für Aktionen wie das Extrahieren von Images per Pull-Operation aus fernen privaten Registrys zu verwenden.
- Verwenden Sie die Konsole oder Befehlszeilenschnittstelle von IBM Cloud, um sicherzustellen, dass in jedem Teilnetz, an das Ihr Cluster angeschlossen ist, ein öffentliches Gateway aktiviert ist.
- Starten Sie in der Webkonsole die Komponenten für den Developer-Katalog neu.
- Bearbeiten Sie die ConfigMap für den "samples.operator".
oc edit configs.samples.operator.openshift.io/cluster
- Bearbeiten Sie die ConfigMap für den "samples.operator".
- Ändern Sie den Wert für
managementStatevonRemovedinManaged. 3. Speichern Sie die ConfigMap und schließen Sie sie. Daraufhin werden Ihre Änderungen automatisch angewendet.
-
Für Classic-Cluster mit aktivierten öffentlichen und privaten Cloud-Serviceendpunkten:
Überprüfen Sie, ob Ihr Cluster öffentliche Konnektivität besitzt, damit die Netzkomponenten bei ihrer Bereitstellung Nachrichten an den Master senden können.
- Überprüfen Sie den Masterstatus. Lautet der Masterstatus nicht Ready, prüfen Sie den Status und befolgen Sie alle verfügbaren Fehlerbehebungsinformationen, um das Problem zu lösen.
ibmcloud oc cluster get -c CLUSTER_NAME_OR_ID ``` 1. Überprüfen Sie in der **Master-Status**-Ausgabe, dass Ihr Cluster über eine **URL des öffentlichen Serviceendpunkts** verfügt. Wenn Ihr Cluster keinen Endpunkt für den Public-Cloud-Dienst hat, aktivieren Sie diesen. 1. Überprüfen Sie, dass mindestens ein paar Workerknoten in Ihrem Cluster eine **Öffentliche IP**-Adresse haben. Wenn kein Worker-Knoten diese Funktion erfüllt, müssen Sie öffentliche VLANs für mindestens einen Worker-Pool einrichten. ```sh {: pre} ibmcloud oc workers -c CLUSTER_NAME_OR_ID ```
Schritt 3: Firewalls und Netzrichtlinien überprüfen
Überprüfen Sie alle Firewalls oder Netzrichtlinien, um sicherzustellen, dass Sie keinen eingehenden oder ausgehenden Datenverkehr für den OperatorHub oder andere Red Hat OpenShift-Komponenten blockieren.
- Wenn Sie eine IBM Cloud IAM-Zulassungsliste (Identity and Access Management) generiert haben, indem Sie angeben, welche IP-Adressen Zugriff auf Ihren Cluster haben, müssen Sie die CIDR-Notationen der Steuerebene von Red Hat OpenShift on IBM Cloud für die Zonen in der Region, in der sich Ihr Cluster befindet, zur Zulassungsliste hinzufügen.
- Nur klassisch: Wenn Sie über eine Firewall verfügen, öffnen Sie die erforderlichen Ports und IP-Adressen in Ihrer Firewall.
- Nur VPC: Wenn Sie den Datenverkehr mit VPC-ACLs oder Sicherheitsgruppen steuern, stellen Sie sicher, dass Sie die mindestens erforderlichen Regeln für den eingehenden und den ausgehenden Datenverkehr zulassen.
Schritt 4: Cluster-Setup überprüfen
Stellen Sie sicher, dass Ihr Cluster ordnungsgemäß konfiguriert ist. Wenn Sie Ihren Cluster gerade erst erstellt haben, warten Sie eine Weile, bis Ihre Clusterkomponenten vollständig bereitgestellt sind.
- Rufen Sie die Details zu Ihrem Cluster ab.
ibmcloud oc cluster get -c CLUSTER_NAME_OR_ID - Prüfen Sie die Ausgabe des vorherigen Schritts, um die Ingress-Unterdomäne zu überprüfen.
- Wenn Ihr Cluster keine Unterdomäne hat, finden Sie weitere Informationen unter Nach der Clustererstellung ist keine Ingress-Unterdomäne vorhanden.
- Wenn Ihr Cluster über eine Unterdomäne verfügt, fahren Sie mit dem nächsten Schritt fort.
- Überprüfen Sie, ob Ihr Cluster über die Version des Patchs verfügt. Wenn auf Ihrem Cluster nicht die neueste Version des Patchs ausgeführt wird, aktualisieren Sie den Cluster und die Workerknoten.
- Aktualisieren Sie den Cluster-Master auf die neueste Patchversion für Ihre Haupt- und Nebenversion des Clusters.
ibmcloud oc cluster master update -c CLUSTER_NAME_OR_ID --version MAJOR.MINOR_openshift-f ``` 2. Listen Sie Ihre Workerknoten auf. ```sh {: pre} ibmcloud oc worker ls -c CLUSTER_NAME_OR_ID ``` 3. [Aktualisieren Sie die Workerknoten](/docs/openshift?topic=openshift-update#worker_node), damit sie mit der Masterversion des Clusters übereinstimmen. ```sh {: pre} ibmcloud oc worker update -c CLUSTER_NAME_OR_ID -w WORKER1_ID -w WORKER2_ID -w WORKER3_ID ``` - Überprüfen Sie den Status des Clusters. Wenn der Zustand nicht normal ist, überprüfen Sie den Zustand des Clusters und beheben Sie alle Probleme.
- Überprüfen Sie den Masterstatus. Wenn der Zustand nicht normal ist, überprüfen Sie den Hauptgesundheitsstatus und beheben Sie alle Probleme.
- Überprüfen Sie die Workerknoten, auf denen die Red Hat OpenShift-Komponenten möglicherweise ausgeführt werden. Lautet der Status nicht normal, lesen Sie die Informationen unter Debugging der Workerknoten.
ibmcloud oc worker ls -c CLUSTER_NAME_OR_ID
Schritt 5: Beim Cluster anmelden
Melden Sie sich bei Ihrem Cluster an. Dabei ist zu beachten, dass Sie, wenn das Abrufen des Anmeldetokens über die Red Hat OpenShift-Webkonsole für Sie keine Option ist, über die CLI auf den Cluster zugreifen können.
Nur VPC: Wenn Sie den Private-Cloud-Serviceendpunkt aktiviert haben, müssen Sie mit dem privaten Netz über Ihre VPC-VPN-Verbindung verbunden sein, um auf die Webkonsole zuzugreifen.
Schritt 6: Komponentenpods überprüfen
Überprüfen Sie den Status der Red Hat OpenShift-Komponenten-Pods, die nicht funktionieren.
- Prüfen Sie den Status des Pods.
oc get pods -n <project> - Wenn sich ein Pod nicht im Status Running befindet, beschreiben Sie den Pod und prüfen Sie die Ereignisse. Es kann beispielsweise ein Fehler angezeigt werden, dass der Pod nicht geplant werden kann, weil nicht genügend CPU-
oder Speicherressourcen vorhanden sind, was häufig der Fall ist, wenn Sie über einen Cluster mit weniger als 3 Workerknoten verfügen. Ändern Sie die Größe Ihres klassischen Worker-Pools oder Ändern Sie die Größe Ihres VPC-Worker-Pools und versuchen Sie es erneut.
oc describe pod -n <project> <pod> - Wenn im Ereignisabschnitt keine hilfreichen Informationen angezeigt werden, überprüfen Sie die Podprotokolle auf Fehlernachrichten oder andere Fehlerbehebungsinformationen.
oc logs pod -n <project> <pod> - Starten Sie den Pod erneut und überprüfen Sie, ob er den Status Running erreicht.
oc delete pod -n <project> <pod>
Schritt 7: Systempods überprüfen
Wenn die Pods in einwandfreiem Zustand sind, prüfen Sie, ob in anderen Systempods Fehler auftreten. Oft ist der Zustand einer Komponente von dem einer anderen abhängig.
So verfügt der OperatorHub beispielsweise über eine Gruppe von Images, die in externen Registrys wie z. B. quay.io gespeichert sind. Diese Images werden mit einer Pull-Operation in die interne Registry extrahiert, damit sie in allen
Projekten Ihres Red Hat OpenShift-Clusters verwendet werden können. Wenn eine der OperatorHub-Komponenten oder internen Registry-Komponenten nicht ordnungsgemäß eingerichtet ist, z. B. aufgrund fehlender Berechtigungen oder Rechenressourcen,
werden der OperatorHub und Katalog nicht angezeigt.
- Prüfen Sie auf anstehende Pods.
oc get pods --all-namespaces | grep Pending - Beschreiben Sie die Pods und prüfen Sie, ob Ereignisse vorhanden sind.
Einige häufige Nachrichten, die Ihnen in denoc describe pod -n <project_name> <pod_name>openshift-image-registry-Pods möglicherweise angezeigt werden, sind:- Eine
Volume could not be created-Fehlernachricht, weil Sie den Cluster ohne die richtige Speicherberechtigung erstellt haben. Red Hat OpenShift on IBM Cloud-Cluster werden standardmäßig mit einer Dateispeichereinheit zum Speichern von Images für das System und anderen Pods geliefert. Überarbeiten Sie Ihre Infrastrukturberechtigungen und starten Sie den Pod erneut. - Die Fehlernachricht
order will exceed maximum number of storage volumes allowed, weil Sie das kombinierte Kontingent aus den Datei- und Blockspeichereinheiten, die pro Konto zulässig sind, überschritten haben. Entfernen Sie nicht verwendete Speichereinheiten oder erhöhen Sie Ihr Speicherkontingent und starten Sie den Pod erneut. - Eine Nachricht, dass Images nicht gespeichert werden können, da die Dateispeichereinheit voll ist. Ändern Sie die Größe Ihrer Speichereinheit und starten Sie den Pod erneut.
- Eine
Pull image still failed due to error: unauthorized: authentication required-Fehlernachricht, da die interne Registry keine Images aus einer externen Registry extrahieren kann. Überprüfen Sie, ob die geheimen Schlüssel für Image-Pull-Operationen für das Projekt festgelegt sind, und starten Sie den Pod erneut.
- Eine
- Überprüfen Sie den Knoten Knoten, auf dem die fehlerhaften Pods ausgeführt werden. Wenn alle Pods auf demselben Workerknoten ausgeführt werden, hat der Workerknoten möglicherweise ein Netzkonnektivitätsproblem. Laden Sie den
Workerknoten erneut.
ibmcloud oc worker reload -c CLUSTER_NAME_OR_ID -w WORKER_NODE_ID
Schritt 8: Überprüfen Sie das VPN
Überprüfen Sie, ob das VPN im Cluster ordnungsgemäß eingerichtet ist.
- Überprüfen Sie, ob der VPN-Pod läuft.
oc get pods -n kube-system -l app=vpn - Überprüfen Sie die VPN-Protokolle und suchen Sie nach einer Meldung
ERRORwie „“WORKERIP:<port>``WORKERIP:10250, die darauf hinweist, dass der VPN-Tunnel nicht funktioniert.oc logs -n kube-system <vpn_pod> --tail 10 - Wenn der Worker-IP-Fehler angezeigt wird, überprüfen Sie, ob die Kommunikation zwischen Workern unterbrochen ist. Melden Sie sich bei einem
calico-node-Pod im Projektcalico-systeman und suchen Sie nach dem gleichen FehlerWORKERIP:10250.oc exec -n calico-system <calico-node_pod> -- date - Wenn die Kommunikation zwischen Workern unterbrochen ist, achten Sie darauf, VRF- oder VLAN Spanning zu aktivieren.
- Wenn Sie einen anderen Fehler als den vom VPN oder vom Pod
calico-nodeerhalten, starten Sie den VPN-Pod neu.oc delete pod -n kube-system <vpn_pod> - Sollte das VPN weiterhin nicht funktionieren, überprüfen Sie den Worker-Knoten, auf dem der Pod ausgeführt wird.
oc describe pod -n kube-system <vpn_pod> | grep "Node:" - Sperren Sie den Worker-Knoten, damit der VPN-Pod auf einen anderen Worker-Knoten umverteilt wird.
oc cordon <worker_node> - Überprüfen Sie die VPN-Pod-Protokolle noch einmal. Wenn der Pod nicht keinen Fehler mehr aufweist, hat der Workerknoten möglicherweise ein Netzkonnektivitätsproblem. Laden Sie den Workerknoten erneut.
ibmcloud oc worker reload -c CLUSTER_NAME_OR_ID -w WORKER_NODE_ID
Schritt 9: Cluster-Master aktualisieren
Aktualisieren Sie den Cluster-Master, um die Red Hat OpenShift-Standardkomponenten zu konfigurieren. Aktualisieren Sie den Cluster und warten Sie einige Minuten, bis der Vorgang abgeschlossen wurde.
ibmcloud oc cluster master refresh -c CLUSTER_NAME_OR_ID
Schritt 10: Vorgang wiederholen
Versuchen Sie, die Red Hat OpenShift-Komponente erneut zu verwenden.
Wenn der Fehler weiterhin besteht, finden Sie weitere Informationen unter Feedback, Fragen und Unterstützung.