Real Life Anwendungen in Openshift

In meinem letzten Beitrag https://blog.doubleslash.de/standardization-through-containerrization/ habe ich kurz beschrieben was Openshift ist und wie man es mit Vagrant ausprobieren kann.

Nun möchte ich an einem kurzen „Real Life“ Beispiel zeigen wie schnell man die Grundlage für eine neue Anwendung schaffen kann.

openshift_blog

Wie im Komponentendiagramm dargestellt soll ein Wildfly 10 mit einer MySQL Datenbank kommunizieren.

Openshift bietet für den WildFly und MySQL bereits Unterstützung und bieten sich für andere Projekte als solide Basis an.

Ich verwende im Beispiel fertige Templates für „wildfly:latest“ (s2i Builder) und „mysql-ephemeral“.

Bevor gestartet werden kann wird ein neue Projekt angelegt. Hierzu führe ich mit dem oc tool folgende Schritte durch:

Als nächsten Schritt legen wir die Datenbank an. Wenn man jetzt nicht genau weiss, was das Template so an Einstellungsmöglichkeiten hat, kann man sich mit dem oc Tool diese einfach anzeigen lassen. Hierfür gibt es die Befehle

Nützliche Informationen sind PARAMETERS und OBJECTS
PARAMETERS gibt die Einstellungsmöglichkeiten wieder (z.B. Benutzer/Passwort).
OBJECTS sind die Openshift Konfigurationen die Angelegt werden (z.B. Labels, Service, Buildconfig, Deploymentconfig …).

Diese Infos lassen sich wie folgt auslesen.

Die MySQL Datenbank wird wie folgt erstellt:

Die Ausgabe spiegelt wieder, was für Paramter gesetzt wurde und was für Ressourcen in Openshift erstellt werden. Hier einen „Service und eine DeploymentConfig“.

Beim WildFly ist das identisch. Hier benutze ich die Openshift Webconsole (die ist hier etwas einfacher :)).

Nach der Anmeldung an der Openshift Webconsole hierzu einfach das Projekt „real-life-app“ auswählen. Danach mit „add to project“ eine neue App erstellen (siehe Screenshot).

oso_wildfly_add

Nach der Auswahl müssen ein paar Parameter angegeben werden.

  • Name: real-life-app
  • Git Repsoitory Url: https://github.com/doubleSlashde/reallifeapp.git (Beispielanwendung auf Basis von Kitchensink)

oso_wildfly_add_params

Mit dem Click auf „Create“ wird die Anwendung erstellt.

Dieser Vorgang dauert etwas. Im Hintergrund wird jetzt das Git Repo gecloned. Das Baseimage geladen und der s2i Build angestoßen. Das Ergebnis ist dann ein Docker Image, welches gestartet wird.

Der Fortschritt kann in der Oberfläche oder mit dem OC Tool (oc status oder oc log real-life-app) verfolgt werden.

In der Übersicht werden jetzt zwei Pods als „Running“ angezeigt.

oso_wildfly_running

Der WildFly ist auch bereits erreichbar unter http://real-life-app-real-life-app.apps.10.2.2.2.xip.io/

Jetzt muss der WildFly noch konfiguriert werden. Das generierte Image kann über sogenannte ENVIRONMENT Variablen kurz ENV auf die Verwendung von MySQL (neben H2 wird auch Postgre per default unterstützt) konfiguriert werden.

Die Konfiguration wird über die sogenannte DeploymentConfig gemacht. Dies ist sinnvoll, da die Verwendung von Datenbank,Passwort,Benutzer etc. parametrisiert werden kann.

Toll beim WildFly Image ist, dass die Service IP für die mysql Datenbank automatisch eingesetzt wird. Dies erspart manuelle Konfiguration. Der Schlüssel liegt hier im Service namen der MySQL Datenbank. Dieser muss einfach „mysql“ lauten.

Für das Beispiel reichen folgende Befehle über das OC Tool:

Nachdem die Parameter gesetzt wurden wird automatisch ein neues Deployment mit den geänderten Variablen getriggert.

Jetzt kann die Anwendung unter http://xip.io/ aufgerufen werden.

War das Deployment erfolgreich ist diese Seite zu sehen und sollte funktionieren.

oso_wildfly_finished

Viel Spaß beim Ausprobieren!

Referenzen:

Zurück zur Übersicht

Ein Kommentar zur “Real Life Anwendungen in Openshift

Kommentar verfassen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

*Pflichtfelder

*