So überwachen Sie Kubernetes mit dem offiziellen Dashboard

0
239

Das Kubernetes Dashboard ist eine offizielle Anwendung, mit der Sie Ihre Ressourcen einsehen und bearbeiten können über eine webbasierte grafische Oberfläche. Durch die Bereitstellung einer Dashboard-Instanz in Ihrem Cluster können Sie Aktivitäten visualisieren, ohne Sequenzen komplexer Terminalbefehle ausführen zu müssen.

Dashboard installieren

Selbstverwaltete Kubernetes-Installationen Das Dashboard ist nicht standardmäßig enthalten. Sie müssen kubectl apply mit der öffentlich gehosteten Manifestdatei des Dashboards verwenden, um eine Instanz in Ihrem Cluster bereitzustellen:

kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.3.1/aio/deploy/recommended.yaml

Dadurch wird das Dashboard mit den empfohlenen Standardeinstellungen eingerichtet.

Zugriff auf das Dashboard

Bei der Basisinstallation wird das Dashboard nicht öffentlich zugänglich gemacht, wodurch die Clustersicherheit gewährleistet wird. Sie können Zugriff erhalten, indem Sie den kubectl-Proxy verwenden, um den Host-Port 8001 Ihrem Cluster zuzuordnen:

kubectl-Proxy

Sie sollten jetzt das Dashboard in Ihrem Browser laden können, indem Sie diese URL besuchen:

http://localhost:8001/api/v1/namespaces/kubernetes-dashboard/services/https:kubernetes-dashboard:/proxy/Werbung

Die Anfrage an localhost:8001 wird vom Kubectl-Proxy verarbeitet und an Ihren Cluster weitergeleitet. Der Cluster antwortet mit der Dashboard-Benutzeroberfläche.

Dashboard öffentlich verfügbar machen

Sie können das Dashboard öffentlich verfügbar machen, wenn Sie direkten HTTP-Zugriff benötigen von Geräten, auf denen kubectl nicht verfügbar ist. Verwenden Sie kubectl, um die Dienstressource des Dashboards zu bearbeiten:

kubectl –namespace kubernetes-dashboard edit service kubernetes-dashboard

Dadurch wird das YAML-Manifest der Ressource in Ihrem Standard-Texteditor geöffnet. Suchen Sie die Zeile mit Typ: ClusterIP und ändern Sie sie in Typ:NodePort. Speichern und schließen Sie die Datei. Die Änderung wird auf Ihren Cluster angewendet.

Verwenden Sie als Nächstes Kubectl, um den zugewiesenen Port zu überprüfen:

kubectl –namespace kubernetes-dashboard get service kubernetes-dashboard NAME TYPE CLUSTER-IP PORT(S) ALTER kubernetes-dashboard NodePort 10.100.110.101 443:31730/TCP 1m

In diesem Beispiel wurde das Dashboard angegeben Port 31730. Sie können jetzt auf die Weboberfläche zugreifen, indem Sie auf diesen Port der öffentlichen IP-Adresse Ihres Clusters zugreifen.

Verwenden des Dashboards Mit verwalteten Clustern

Viele verwaltete Kubernetes-Anbieter aktivieren entweder das Dashboard standardmäßig oder bieten eine Ein-Klick-Installationsmethode. Wenn eine solche Option verfügbar ist, ist es am einfachsten, sie zu verwenden, anstatt die App manuell zu installieren und zu warten.

Werbung

MicroK8s-Benutzer können das integrierte Dashboard-Plugin zu . hinzufügen Aktivieren Sie das Dashboard mit einem einzigen Befehl. Das Dashboard wird standardmäßig an die ClusterIP des Clusters gebunden.

Dashboard erkunden

Der Dashboard-Startbildschirm zeigt eine Übersicht über die Aktivität in Ihrem Cluster an. Farbige Kreisdiagramme oben geben Ihnen einen Überblick über den Zustand Ihrer Ressourcen. Mit diesen können Sie schnell erkennen, ob eine Aktion erforderlich ist:

  • Hellgrün – Dies sind gesunde aktive Ressourcen, wie zum Beispiel Pods.
  • Dunkelgrün – Dies sind fehlerfreie, aber gestoppte Ressourcen, einschließlich inaktiver Pods und geplanter Cron-Jobs, die abgeschlossen und beendet wurden.
  • Gelb– Gelbe Abschnitte zeigen an, dass sich Ressourcen in einem vorübergehenden Zustand befinden, z. B. ein Pod, der gestartet wird und darauf wartet, dass sein Container-Image abgerufen wird.
  • Rot
  • stark> – Ein rotes Kreisstück bedeutet, dass eine ausgefallene Ressource aufgrund eines Fehlers angehalten wurde.

Unterhalb der Kreisdiagramme zeigen Tabellen eine Aufschlüsselung für jeden Ressourcentyp in Ihrem Cluster. Scrollen Sie nach unten, um Cron-Jobs, Bereitstellungen, Pods, Replikatsätze, Dienste, Volumes und andere integrierte Ressourcen anzuzeigen.

Mit der linken Seitenleiste können Sie zu einem bestimmten Abschnitt springen. Wenn Sie auf einen Ressourcentyp klicken, wird seine Tabelle auf einem speziellen Bildschirm angezeigt, sodass Sie sich auf die benötigten Informationen konzentrieren können.

Auswählen eines Namensbereichs

Das Dashboard zeigt standardmäßig alle übereinstimmenden Ressourcen in Ihrem Cluster an. Verwenden Sie das Dropdown-Menü oben links, um die Ergebnisse einem bestimmten Namespace zuzuordnen, sodass Sie Systemkomponenten ausschließen können. Der Filter gilt für alle Bildschirme, bis Sie ihn erneut ändern.

Eine weitere Möglichkeit, die Anzeige einzuschränken, besteht darin, die Suchleiste oben auf dem Bildschirm zu verwenden. Auf diese Weise können Sie übereinstimmende Ressourcen für alle Ressourcentypen finden und einen Ergebnisbildschirm anzeigen, der dasselbe Mehrtabellenformat wie der Startbildschirm verwendet.

Ressourcen erstellen

Klicken Sie auf das “+” oben rechts, um eine neue Ressource zu erstellen. Auf diese Weise können Sie eine kubectl-kompatible Kubernetes-Manifestdatei hochladen oder einfügen. Der Effekt ist der gleiche wie beim Ausführen von kubectl apply.

Werbung

Es gibt auch eine grundlegende Implementierung eines formularbasierten Bereitstellungserstellers. Klicken Sie auf die Schaltfläche “Aus Formular erstellen” -Tab und füllen Sie dann die Felder aus, um einen neuen Satz von Pods in Ihrem Cluster zu starten.

  • App-Name – Geben Sie einen Namen für Ihre neue Bereitstellung an.
  • Container-Image– Das Docker-Image, das für Ihre neuen Container abgerufen werden soll. Dieser muss für Ihren Cluster zugänglich sein.
  • Anzahl der Pods – Geben Sie die anfängliche Anzahl der zu erstellenden Pods an. Kubernetes stellt sicher, dass es so viele aktive Container-Replikate gibt und trägt so zur Gewährleistung der Verfügbarkeit bei.
  • Service– In diesem Feld können Sie Ihre Container über einen internen oder externen Service bereitstellen. Wählen Sie “intern” erlaubt nur den Zugriff von innerhalb Ihres Clusters. Wählen Sie den Diensttyp aus, und geben Sie dann den Port ein, von dem Datenverkehr akzeptiert werden soll, und den Container-Port, dem die Zuordnung erfolgen soll.

Durch Drücken von “Erweiterte Optionen anzeigen” zeigt mehrere weitere Felder an, mit denen Sie Labels, Umgebungsvariablen, CPU- und Speicherbeschränkungen sowie ein optionales Image-Pull-Secret einrichten können. Letztere akzeptiert ein docker.json-Konfigurations-Snippet, das Anmeldeinformationen für die Docker-Registrierung bereitstellt, aus der Sie ziehen.

Klicken Sie auf die Schaltfläche “Bereitstellen” Schaltfläche, um mit der Bereitstellung in Ihrem Cluster zu beginnen. Bearbeiten Sie die erstellten Ressourcen anschließend manuell, wenn Sie mehr Optionen benötigen, als das Formular bietet.

Ressourcen werden bearbeitet, indem Sie auf das Symbol mit den drei Punkten auf der rechten Seite einer beliebigen Tabellenzeile klicken. Wählen Sie “Bearbeiten” aus dem Menü, um ein Popup mit der YAML-Darstellung des aktuellen Manifests der Ressource zu starten. Nehmen Sie die gewünschten Änderungen vor und drücken Sie dann auf “Aktualisieren” um Ihre Änderungen anzuwenden. Es ist dasselbe wie das Ausführen von kubectl apply in Ihrem Terminal.

Überwachen der Knotenressourcennutzung

Das Dashboard bietet eine Visualisierung des Ressourcenverbrauchs des Knotens. Klicken Sie auf die Schaltfläche “Knoten” in der linken Seitenleiste und wählen Sie dann einen Knoten aus der Tabelle aus. Der nächste Bildschirm bietet detaillierte Informationen zum Knoten, einschließlich Betriebssystem, Kubelet-Version und interner IP-Adresse.

Werbung

Scrollen Sie auf der Seite nach unten, um Grafiken zum CPU- und Speicherverbrauch anzuzeigen. Die “Pods” Diagramm zeigt an, wie viele Pods basierend auf seiner aktuellen Zuweisung für den Knoten geplant werden könnten. Weiter unten auf der Seite werden die “Pods” Tabelle listet alle Pods auf, die bereits auf dem Knoten ausgeführt werden.

Anzeigen von Pod-Logs

Eine häufige Verwendung des Dashboards ist die Überwachung der Live-Protokollausgabe von Pods und Jobs. Suchen Sie das zu überprüfende Element in einer der Ressourcentabellen des Dashboards. Klicken Sie auf das Symbol mit den drei Punkten ganz rechts und wählen Sie dann die Option “Logs” Menüpunkt aus dem Menü.

Klicken Sie oben rechts in der Protokollanzeige auf das Symbol mit den drei Punkten, um die automatische Aktualisierung zu aktivieren. Überprüfen der “Auto-Refresh (alle 5s)” Mit dieser Option können Sie Protokolle kontinuierlich streamen. Das Ändern des Aktualisierungsintervalls wird unten erläutert.

Mit den anderen Menüoptionen können Sie die Protokollanzeige anpassen, indem Sie die Schriftgröße verringern, einen Farbmodus auswählen und auswählen, ob Zeitstempel angezeigt werden. Die Aktivierung der letzteren Option ist sinnvoll, wenn die Container-Log-Ausgabe keine eigenen Zeitstempel enthält.

Dashboard-Einstellungen

Die App verfügt über eine Handvoll globaler Einstellungen, mit denen Sie die Reaktionsfähigkeit optimieren können. Diese finden Sie über die “Einstellungen” Link unten in der linken Seitenleiste.

Ziehen Sie das Schieberegler, um die Intervalle für die automatische Aktualisierung für die Protokollanzeige und Ressourcentabellen anzupassen. Wenn Sie diese Werte reduzieren, erhalten Sie eine Live-Ansicht der Daten, können jedoch die Leistung bei langsamen Netzwerkverbindungen verringern.

Werbung

Sie können auch die Anzahl der Elemente ändern, die auf jeder Tabellenseite angezeigt werden. Erhöhen Sie die “Elemente pro Seite” wenn Sie es leid sind, jedes Mal, wenn Sie sich Ihre Ressourcen ansehen, durch Seiten klicken müssen.

Zusammenfassung

Das Kubernetes-Dashboard ist ein nützliches Add-on, mit dem Sie Überwachen Sie die Aktivität Ihres Clusters über Ihren Webbrowser. Es kann auch grundlegende Anforderungen an die Bearbeitung von Ressourcen erfüllen, Sie müssen jedoch die meiste Zeit mit Manifest-Textdateien arbeiten. Das Formular zur Ressourcenerstellung ist nur für die einfachsten Anwendungsfälle geeignet und funktioniert bei vorhandenen Elementen überhaupt nicht.

Die Aktivierung des Dashboards ist optional und wird nicht unbedingt für alle nützlich sein Szenarien. Wenn Sie mit dem Terminal vertraut sind, sich Sorgen um die Sicherheit machen oder versuchen, den Ressourcenverbrauch im Hintergrund zu minimieren, verlieren Sie nichts, wenn Sie sich an die vertrauten CLI-Tools halten.

Die Bereitstellung des Dashboards sollte ein unkompliziertes Verfahren sein, wenn Sie es brauchen, egal ob Sie eine Fernüberwachung oder eine einfachere Möglichkeit zur Überwachung mehrerer Cluster suchen, ohne mit Kubectl-Kontexten jonglieren zu müssen.