2 minutes reading time (428 words)

Openshift - Automatisierte Installation in Azure

hamburg-3021820_1280

Auf einen Einführungsartikel über die Bedeutung von OpenShift und den Vorteilen gegenüber einer nativen Kubernetes Installation verzichten wir bewusst. Dazu gibt es genügend Artikel im Netz und auch Red Hat schreibt dazu: https://www.openshift.com/learn/topics/kubernetes/

Alle, die schon mal für Tests oder Demos eine hochverfügbare Openshift Installation benötigt haben, oder ohne großen Aufwand einfach mal ausprobieren wollen, wie sich so eine Umgebung verhält, sind hier genau richtig.

Für eine Kundendemo haben wir die Installation einer Openshift 3.11 Installation auf Basis des Microsoft OpenShift Container Platform Deployment Templates (https://github.com/Microsoft/openshift-container-platform) vollständig automatisiert!

Den Link zu den Skripten und der Anleitung findet Ihr am Ende des Artikels. Zunächst wollen wir allerdings in möglichst wenigen Worten einen Überblick über die Komponenten der Installation geben (eine ausführlichere Beschreibung findet Ihr in der offiziellen Dokumentation (https://docs.openshift.com/container-platform/3.11/architecture/index.html) :

Beschreibung der Komponenten

Folgende Komponenten werden von unserem Skript deployed:

  • 3 Master Nodes
  • 2 Infrastructure Nodes
  • 2 Application Nodes
  • 1 Bastion host
  • Shared Storage / Persistent Storage
  • Loadbalancer für die Anwendungen
  • Loadbalancer für die Master Nodes

Nachfolgendes Bild stellt schematisch die Verbindung der einzelnen Komponenten dar:

Quelle: https://access.redhat.com/webassets/avalon/d/Reference_Architectures-2018-Deploying_and_Managing_OpenShift_3.9_on_Azure-en-US/images/582f7bc50a94c64d5fbc330296a2697a/topology.png

Master Nodes

Der Master verwaltet die Knoten des Clusters und bestimmt, auf welchen Nodes welche Pods laufen. Der Master Node beinhaltet die Kontrollinstanzen einschließlich des API Servers, den Controller Manager Server und ETCD.

Application Nodes

Die Application Nodes stellen die Laufzeitumgebungen für Container bereit.

Infrastructure Nodes

Auf den Infrastructure Nodes laufen intern benötigte Komponenten wie die Registry, Prometheus und Hawkular Metriken sowie Elastic Search, Fluentd und Kibana(EFK) Containers für aggregiertes Logging.

Bastion Host

Der Bastion-Host verwaltet alle Installationsprozesse, führt die Ansiblen Skripte aus und bietet sicheren Zugriff innerhalb des OpenShift-Cluster-Netzwerks.

Shared Storage / Persistent Storage

Für viele Anwendungscontainer, wie auch für die oben erwähnten Monitoring und Logging Container, wird nicht-flüchtiger Speicher benötigt. In Azure verwenden wir natürlich den Storage von Azure, es gibt allerdings noch zahlreiche andere Optionen (https://docs.openshift.com/container-platform/3.11/architecture/additional_concepts/storage.html).

Loadbalancer für die Anwendungen

Um den Applikations-Traffic zu dem korrekten Knoten zu leiten, auf dem der Pod gerade läuft, wird ein Loadbalancer benötigt. In unserem Fall der von Azure.

Loadbalancer für die OpenShift Master Nodes

Um die Anfragen an die Master Nodes zu verteilen, wird auch hier ein Loadbalancer benötigt.

Die Skripte

Die Skripte stehen in unserem Bitbucket Repo https://bitbucket.org/teal-consulting/repo-teal-openshift/ bereit. Die Installationsanleitung findet Ihr in der beiliegenden readme Datei.

Solltet Ihr Probleme bei der Verwendung oder Verbesserungsvorschläge haben, meldet Euch gerne in den Kommentaren.

P.S. Wem das immer noch zu viel Aufwand ist, dem sei das Projekt Minishift (https://github.com/minishift/minishift) ans Herz gelegt. Damit könnt Ihr eine funktionsfähige Openshift Installation auf Eurem Notebook installieren.

Openshift - Automated Installation in Azure
Provider Management in the context of out-tasking ...

Related Posts

 

Comments

No comments made yet. Be the first to submit a comment
Guest
Freitag, 22. März 2019
© 2019 TEAL Technology Consulting GmbH