Am 08. Mai 2019 veranstalteten wir in München ein weiteres Meetup aus unserer Reihe von Coding Katas. Angekündigt hatten wir unser Meetup wie immer in den beiden Gruppen München Coding Dojo Meetup und OC|Expert Camp München.
Von den 20 angemeldeten Teilnehmern erschienen 14. Die No-Show Rate lag damit bei erfreulich niedrigen 30 % Prozent.

Wir starteten das Meetup mit einigen Slides, um eine Einführung in OpenShift bzw. OKD zu geben. Die nicht ganz klare Bedeutung des Akronyms OKD (Origin community distribution of Kubernetes that powers Red Hat OpenShift) nahmen die Teilnehmer mit Humor auf. In Folge wurde auf die Unterschiede zwischen Kubernetes, OpenShift und OKD eingegangen, um im Anschluss die wichtigsten Ressourcen-Typen und Konzepte zu erläutern (Namespace, Label, Pod, ConfigMap, Service und Route).

Meetup München OpenShift 08. Mai 2019
Philipp (OKD-Experte) und Manuel (Organisator) von OPITZ CONSULTING

Da das Meetup als Coding Kata bzw. als Meetup mit Hands-on beworben wurde, lag der Fokus auf dem praktischen Anteil. In der ersten Aufgabe wurde – noch gemeinsam – ein Docker Image mit einer Spring Boot Applikation als Pod deployed und die Commands des OpenShift CLIs ausgetestet.
Im Folgenden durften sich die Teilnehmer daran versuchen, die Spring Boot Applikation in dem Docker Image über eine ConfigMap-Ressource mit Umgebungsvariablen zu konfigurieren und über eine Service-Ressource Load Balancing und Service Discovery bereitzustellen. Um die Applikation über den Browser erreichbar zu machen, galt es, noch eine Route zu definieren.
Die ultimative Aufgabe bestand darin, eine Dummy-Applikation namens Dogbook (geschrieben in NodeJS) als DeploymentConfig zu deployen, inklusive Service, Route und ConfigMap. Besondere Features von DeploymentConfigs auf OpenShift sind unter anderem:

  • Automatische Rollouts basierend auf Triggern
  • Rolling Updates
  • History der letzten n Versionen
  • Rollback-Funktion zu letzten n Versionen (automatisch/manuell)
Dogbook Screen Recording
Dogbook Screen Recording

Als Hilfsmittel während des Hands-ons konnte die teils lückenhafte Dokumentation von OpenShift herangezogen werden. Um den Lerneffekt zu steigern, sollte die Web Console von OpenShift explizit nicht verwendet werden. Stattdessen hieß es:

YAMLs schreiben!!!

Lessons Learned

  • Nicht jeder kennt sich mit YAML-Syntax aus. Eine kurze Einführung kann daher nicht schaden.
  • Bei einem Meetup mit Hands-on braucht man auf jeden Fall Unterstützung durch mindestens eine weitere Person, die in dem Thema technisch versiert ist. Während man am Tischende sitzt und vorprogrammiert, kann es auf Teilnehmerseite zu so einigen Fragen oder Problemen kommen.
  • Virtuelle Maschinen in der Cloud (AWS EC2) eignen sich perfekt für ein solches Meetup, da sie ein großes Zeitersparnis bieten. Die Teilnehmer müssen so keine Installationen auf dem lokalen Rechner ausführen und Works-on-my-Machine Probleme gehören (theoretisch) der Vergangenheit an. Alle können sich direkt an die Aufgaben setzen und gemeinsam beginnen.
  • Bei der Verteilung der IP-Adressen und Hostnamen für die virtuellen Maschinen haben wir noch Verbesserungsbedarf. Bei Hostnamen wie ec2-01-234-567-89.eu-central-1.compute.amazonaws.com kann man schnell einen Fehler beim Abtippen machen. → Irgendwie digital verteilen.
  • Visual Studio Code eignet sich mit dem Light-Theme perfekt für das YAML-Schreiben auf dem Beamer, da Einrückungen über vertikale Striche dargestellt werden und die Farben auch auf dem Beamer gut erkennbar sind. Andere Editoren zeigen meist zusätzlich alle Leerzeichen an, was bei den Teilnehmern beim Abtippen schnell zu Verwirrung führen kann:
YAML für eine DeploymentConfig in Visual Studio Code (Ligth Theme)

Wenngleich die Zeit knapp war und das YAML-Schreiben zu so später Uhrzeit viel Konzentration erforderte, waren die Teilnehmer von OpenShift bzw. OKD durchweg begeistert. Ein Teilnehmer nahm sich sogar vor, in der nächsten Woche einige der Applikationen bei ihm auf der Arbeit nach OpenShift zu migrieren. Wie immer rundeten Pizza und Bier den Abend ab.

Alle Beiträge von philpz

Schreibe einen Kommentar