« Alle Blog Einträge

Kubernetes Hosting Dashboard: Alles, was Sie über Web UI wissen müssen

Kubernetes erlaubt es Ihnen, schneller und sicherer Anwendungen zu entwickeln. In vergangenen Artikeln haben wir Sie bereits in das Thema Kubernetes eingeführt und Ihnen im Detail Cluster erklärt. Im heutigen Artikel erklären wir Ihnen das Web-UI-Dashboard von Kubernetes, mit dem Sie ihre Anwendungen, Cluster und Pods managen können – wie es aufgebaut ist und wie Sie Ihre erste Anwendung bereitstellen. 

Kubernetes Hosting: Das Web UI Dashboard

Das Web-UI-Dashboard ist eine Benutzeroberfläche, mit dessen Hilfe Sie Ihre Kubernetes-Anwendungen verwalten können. Wie der Name verrät, ist sie webbasiert und damit einfach über den Browser abrufbar. Mit Hilfe des Dashboards stellen Sie containerbasierte Anwendungen in einem Kubernetes-Cluster bereit, beheben dortige Fehler und verwalten Ihre Cluster-Ressourcen.

Das Dashboard gibt Ihnen einen Überblick über die Anwendungen, die auf Ihrem Cluster aktiv sind und erlaubt es Ihnen, einzelne Kubernetes-Ressourcen zu erstellen oder zu ändern, Pods neu zu starten oder Ihr Deployment zu skalieren. Ebenso hält es Informationen über den Zustand der Kubernetes-Ressourcen in Ihrem Cluster bereit und meldet mögliche Fehler.

Willkommensseite bei leerem Cluster

Greifen Sie erstmalig auf das Dashboard eines leeren Clusters zu, wird Ihnen die Willkommensseite angezeigt. Diese verweist auf eine Dashboard-Anleitung, sowie auf einen Button, mit dessen Hilfe Sie Ihre erste Anwendung bereitstellen können. 

Überblick über das Web UI Dashboard für Kubernetes Hosting

Nutzen Sie Kubernetes Hosting, gibt Ihnen das Web-UI-Dashboard übersichtlich Einblick in Ihre Cluster und Ihre laufenden Anwendungen. Wir zeigen Ihnen, wie das Dashboard funktioniert und welche Bereiche Ihnen was ermöglichen.

Navigation

Sofern es in Ihrem Cluster bereits definierte Kubernetes-Objekte gibt, werden sie in der Startansicht Ihres Dashboards angezeigt. Standardmäßig werden hier nur solche angezeigt, die dem Default-Namespace zugewiesen sind. Im Navigationsmenü können Sie aber auswählen, die Objekte welches Namespaces Sie anzeigen lassen möchten und so zwischen den einzelnen Ansichten switchen. 

Admin Overview

In dem Bereich Admin Overview erhalten Cluster- und Namespace-Administratoren einen Überblick über die vorhandenen Nodes, Namespaces und über die persistenten Volumes – inkl. genauere Detailansichten. In der Nodes-Übersicht werden bspw. Kennzahlen zur CPU- und Speichernutzung übergreifend über alle Nodes angezeigt. Genauso lassen sich aber Detailansichten zum Status, Ressourcen und Pods einzelner Nodes anzeigen. 

Workloads

Unter Workloads finden Sie alle Anwendungen, die in dem ausgewählten Namespace derzeit laufen, kategorisiert nach der Art des Workloads (bspw. deployments, replica sets, stateful sets, o.Ä.). Die einzelnen Workloads können ebenso individuell betrachtet werden. In der individuellen Detailansicht können die Workload-spezifischen Informationen angezeigt werden, wie die zur Verfügung stehenden Pods oder ihre aktuelle Speichernutzung.

Services

Unter Services werden Ihnen die Kubernetes-Ressourcen angezeigt, die es Ihnen ermöglichen, Anwendungen extern zugänglich zu machen. Es werden u.a. die Pods angezeigt, die von ihnen angesprochen werden, genauso wie interne Endpunkte für Cluster-Verbindungen, sowie externe Endpunkte für externe Nutzer. 

Storage

Unter Storage sehen Sie die aktuelle Speichernutzung der Anwendungen. 

Config Maps and Secrets

Hier werden Ihnen alle Kubernetes-Ressourcen angezeigt, die für die Live-Konfiguration der Anwendungen benutzt werden, die in den Clustern laufen. Die Ansicht erlaubt Ihnen, Config-Objekte zu bearbeiten oder zu managen und Informationen anzuzeigen, die per Standardeinstellung verborgen sind. 

Logs viewer

Im Logs viewer finden Sie eine Übersicht der vorhandenen Pods, sowie eine Liste und Logs der Container, die zu einem bestimmten Pod zugehörig sind. 

Containerbasierte Anwendungen bereitstellen

Um containerbasierte Anwendungen bereitstellen zu können, können Sie verschiedene Wege wählen. Mittels hilfreichem Assistenten können Sie die Anwendungsdetails entweder manuell eingeben oder Sie laden eine YAML- oder JSON-Datei mit der bereits hinterlegten Anwendungskonfiguration hoch. Um mit der Bereitstellung zu beginnen, klicken Sie oben rechts auf den Button “Create”. 

Wir geben einen Überblick über die notwendigen Eingaben:

  • App name: Hier geben Sie den Namen Ihrer Anwendung ein. Dieser muss in dem entsprechenden Kubernetes-Space einmalig sein und mit einem kleinen Buchstaben anfangen und mit einem kleinen Buchstaben oder einer Zahl aufhören. Dazwischen dürfen ausschließlich kleine Buchstaben, Zahlen und Bindestriche verwendet werden bei einer Gesamtlänge von 24 Ziffern.
  • Container image: Hier muss die URL eines öffentlichen Docker-Container-Images auf einer beliebigen Registry oder eines privaten Images angegeben werden. Die Angabe des Container-Images muss mit einem Doppelpunkt enden.
  • Anzahl der Pods: Hier legen Sie die Anzahl der Pods fest, in der Ihre Anwendung bereitgestellt werden soll. 
  • Service (optional): Für einige Teile Ihrer Anwendung (z. B. Frontends) möchten Sie vielleicht einen Dienst auf eine externe, u.U. öffentliche IP-Adresse außerhalb Ihres Clusters aufsetzen (externer Dienst). Hinweis: Für externe Dienste müssen Sie eventuell einen oder mehrere Ports öffnen, um dies zu tun. Andere Services, die nur von innerhalb des Clusters sichtbar sind, werden als interne Services bezeichnet.

Neben diesen Hauptthemen gibt es noch erweiterte Einstellungen, die Sie optional vornehmen können, um die Bereitstellung individueller zu konfigurieren. Dazu zählen descriptions, labels oder die CPU requirements.

Hochladen einer YAML- oder JSON-Datei

Alternativ zur manuellen Eingabe haben Sie die Möglichkeit der deklarativen Konfiguration, bei der Sie eine eine YAML- oder eine JSON-Datei hochladen, in der die gesamte Konfiguration in Form eines Kubernetes-API-Ressourcenschematas bereits hinterlegt ist. So müssen Sie einfach nur die entsprechende Datei hochladen, statt die Eingaben individuell vorzunehmen.

servinga: Managed Kubernetes Hosting

Für Kubernetes-Spezialisten ist das Web-UI-Dashboard eine sinnvolle und übersichtliche Möglichkeit, die Cluster und Anwendungen der eigenen Kubernetes-Umgebung zu organisieren. Wer hier über keine tiefergehende Expertise verfügt oder nicht die Ressourcen aufbringen möchte, Kubernetes selber zu managen, aber trotzdem die Vorzüge der Umgebung genießen will, für den haben wir unser Managed Kubernetes konzipiert. 

Mit Managed Kubernetes fassen wir unsere Kubernetes-Leistungen zusammen, die zum Ziel haben, dass Sie Kubernetes in Ihrem Unternehmen einsetzen können, ohne es selbst aufsetzen oder organisieren zu müssen – denn das übernehmen wir gerne für Sie, sodass Sie die Möglichkeit haben, sich voll und ganz auf Ihr Kerngeschäft zu fokussieren. Unser Kubernetes Hosting wird auf OpenStack betrieben und befindet sich in deutschen TIER3+ Rechenzentren. So können Sie sich gewiss sein: Ihre Daten sind sicher und wir kümmern uns um Ihre Anliegen. 

Fazit

Mit dem Web-UI-Dashboard gibt es eine übersichtliche Plattform, um die eigene Kubernetes-Umgebung, inkl. ihrer Cluster, Pods und Anwendungen, zu managen. Vorausgesetzt wird trotzdem ein tiefergehendes Verständnis der Materie, genauso wie zeitliche Ressourcen, um die Organisation und Konfiguration vorzunehmen. Mit unserem Managed-Kubernetes-Angebot schaffen wir hier Abhilfe.

« Alle Blog Einträge

Managed Kubernetes Cluster: Definition, Setup und Aufbau

Die von Google entwickelte Plattform Kubernetes – oder kurz K8s – ermöglicht die automatisierte Bereitstellung von Anwendungscontainern und dient der schnellen, effizienten und kostengünstigen Entwicklung, Installation und Inbetriebnahme von Anwendungen. Die sogenannten Kubernetes Cluster sind die größte Einheit im Kubernetes-Kosmos – auf diese werfen wir in dem heutigen Artikel einen ausführlichen Blick.

Was ist ein Kubernetes Cluster?

Kubernetes Cluster bilden die höchste Ebene in einer K8s-Umgebung. Die Cluster stellen einen Zusammenschluss von sogenannten Nodes dar, die wiederum Server sind – entweder in Form von Hardware oder Virtual Machines. Ein Cluster besteht in der Regel aus mindestens drei Nodes, die aufgeteilt werden können in eine Master Node und zwei Worker Nodes. Innerhalb des Clusters kommunizieren die Nodes untereinander, um gewisse Anwendungen oder Aktionen durchzuführen. Von außen betrachtet, können diese drei Nodes als ein geschlossenes Konstrukt betrachtet werden. 

Die Anwendungen werden auf einen Cluster aufgespielt und der übernimmt schließlich ihre Orchestrierung. Der Cluster Master koordiniert die Arbeit und verteilt sie auf die einzelnen Nodes innerhalb des Clusters und installiert diese. Die Nodes geben die Befehle des Cluster Masters an die einzelnen Container weiter und kann so deren Arbeit z.B. stoppen oder sich fortsetzen lassen. 

Gleichzeitig geben die Nodes ebenso Feedback in Form von Statusberichten zurück an den Cluster Master. So erfährt dieser, ob gewisse Nodes z.B. repariert werden müssen, überlastet sind oder entfernt werden sollten – und kann die Arbeit so auf die unterschiedlichen Nodes verteilen, je nach aktuellem Bedarf und Status der jeweiligen Bestandteile. 

Die Kubernetes-Technologie ist die Kommunikationsplattform für die einzelnen Cluster, inkl. ihrer Nodes und des jeweiligen Cluster Masters – das heißt letztlich der Hardware, auf der Kubernetes angewandt wird. Wie bereits in unserer Kubernetes Einführung erläutert, besteht ein Cluster noch aus weiteren Bestandteilen: den Pods und Containern. Die wiederum stellen die Software-Ebene dar. 

Was ist der Vorteil von einem Managed Kubernetes Cluster? 

Mit Hilfe von Kubernetes und Kubernetes Clustern können gewöhnliche Entwicklungsprozesse von Anwendungen deutlich vereinfacht werden. Aber: Das Aufsetzen, Managen und Updaten von Clustern ist mit Aufwand verbunden, da jeder Cluster individuell aufgebaut und schließlich betreut werden muss. Und es wird noch aufwendiger, wenn Anwendungen über die Umgebung hinaus aufgesetzt werden müssen.

Klassische Aufgaben, die Kubernetes Clustern anfallen: 

  • neue Cluster erstellen
  • Cluster entfernen
  • Wartung und Aktualisierung von Nodes
  • Kubernetes API updaten
  • Cluster sichern und upgraden

Um diese Prozesse zu vereinfachen, gibt es die Möglichkeit von Managed Kubernetes Clustern. Hierbei geben Anbieter wie servinga Ihnen die Möglichkeit, Ihre Cluster einfach über ein einziges Dashboard übersichtlich zu steuern. 

Setup: Ein oder mehrere Kubernetes Cluster?

Grundsätzlich bist du frei im Aufbau deiner Kubernetes-Infrastruktur. Du kannst deine Anwendungen über einen Kubernetes Cluster laufen lassen oder aber mehrere parallel einsetzen. Letzteres ist im Aufsetzen und Verwalten definitiv mehr Aufwand, bringt aber den einen oder anderen Vorteil mit sich. Im Endeffekt ist der individuelle Fall entscheidend, welche Variante sinnvoll oder notwendig ist.

Höhere Verfügbarkeit

Größter Vorteil einer Architektur mit mehreren Clustern ist sicher die erhöhte Verfügbarkeit deiner Anwendungen. Fallen einzelne Cluster aus, können andere Cluster einspringen und die Aufgaben übernehmen. Oder: Wenn unterschiedliche Aufgaben einer Anwendung auf unterschiedliche Cluster aufgeteilt sind, können einzelne Cluster und Aufgaben ausfallen – gleichzeitig bleiben die anderen aber verfügbar und die Funktionalität grundsätzlich erhalten.

Individualität einzelner Cluster bleibt gewährleistet

In der Regel empfiehlt es sich, alle Cluster gleichermaßen zu aktualisieren – mit der gleichen Kubernetes-Version, den gleichen IaaS-Ressourcen und Sicherheitsupdates. In manchen Fällen kann es aber je nach Anwendung und Task ratsam sein, mit dieser Gleichschaltung zu brechen und auf unterschiedliche Versionen zu setzen. Das ist aber natürlich nur möglich, wenn Sie auf eine Multi-Cluster-Infrastruktur setzen. 

Unterschiedliche Aufgaben für unterschiedliche Cluster

Nur, wenn Sie auf mehrere Cluster setzen, haben Sie die Möglichkeit, einzelne Teilaufgaben Ihrer Anwendungen auf unterschiedliche Cluster zu verteilen. So lassen sich diese leichter managen und die Ursachen bei gewissen Störungen beheben. 

Managed Kubernetes Hosting Dashboard

Unsere Aufgabe ist es, Ihnen das Managed Kubernetes Hosting möglichst einfach zu machen. Dafür bieten wir Ihnen unser K8s Hosting aufbauend auf der OpenStack-Technologie an – befindet sich in deutschen TIER3+ Rechenzentren, bietet hohe Geschwindigkeiten und ist hochverfügbar. Zudem ist das Management der Umgebung mit unserem Kubernetes Dashboard spielend leicht.

In unserem Dashboard überwachen Sie die Auslastung Ihrer Cluster jederzeit und von überall. Es unterstützt Sie bei der Überwachung Ihrer Daemon-Sets, Implementierungen und Pods. In der Performance-Übersicht behalten Sie den Überblick über alle Performance-Indikatoren, die für den Betrieb einer Containerinfrastruktur in einem Hochgeschwindigkeitscluster erforderlich sind. 

Was ist Kubernetes?

Kubernetes hilft Unternehmen dabei, in kürzester Zeit neue Anwendungen zu entwickeln, zu testen und aktiv zu schalten. Dabei werden Ihre Anwendungen in sogenannte Container verpackt, mit deren Hilfe sie einfacher zwischen unterschiedlichen Umgebungen bewegt werden können und dabei weiter in gleicher Abhängigkeit zueinander stehen. Das heißt: Während sich die Abhängigkeiten ohne Kubernetes auf Entwicklungs-, Test- und Produktivumgebung ständig ändern und je nach Umgebung dementsprechend unterschiedliche Fehler auftauchen können, passiert das mit Kubernetes nicht.

Das beschleunigt den Prozess von der Entwicklung einer Umgebung bis hin zum aktiven Einsatz enorm und macht im fortlaufenden Betrieb die Wartung und Betreuung deutlich einfacher, wodurch Sie als Unternehmen von geringeren Kosten und reduzierten Ressourcen profitieren – und Ihre neue Technologie gleichzeitig schneller einsetzen können. Als Technologie von Google wird Kubernetes ständig weiterentwickelt.

Fazit

Kubernetes Cluster bilden die höchste Ebene einer Kubernetes-Umgebung und stellen die Hardware der Infrastruktur dar – sei es nun auf tatsächlichen Rechnern oder auf einer virtuellen Maschine. Je nach Fall können in einer Kubernetes-Umgebung ein oder mehrere Cluster eingesetzt werden, was unterschiedliche Vor- und Nachteile mit sich bringt. Cluster bestehen aus einem Cluster Master, der die Nodes orchestriert.