2017
Oktober
16
2017

Gastbeitrag APPUiO: OpenShift auf cloudscale.ch

Die Buzzwords der Stunde sind Container, Docker, Kubernetes. Passend dazu berichten wir in diesem Gastbeitrag über OpenShift – ein Open-Source-Projekt basierend auf ebendiesen Technologien. Wir möchten Ihnen in diesem Beitrag aber auch zeigen, dass OpenShift weit mehr ist als einfach nur "Docker und Kubernetes" und geben Ihnen eine kurze Einführung zu OpenShift auf cloudscale.ch:

Von Tobias Brunner, APPUiO-Team

Was ist OpenShift und warum sollte ich es nutzen?

OpenShift selbst wird als "die sicherste und umfassendste Enterprise-Grade Container-Plattform basierend auf den Industrie-Standards Docker und Kubernetes" beschrieben. Es ist aber noch weit mehr! OpenShift ist ein kompletter Kubernetes-Cluster mit vielen Features, die das Produkt abrunden: Integrierte Build-Pipelines, Docker Registry, Applikationsrouter (Load-Balancer), höchste Sicherheit basierend auf SELinux und einem RBAC-System (Role-Based Access Control System), eine webbasierte Konsole für einfachen Zugang zur Plattform, zentrales Logging-System, Metriken jedes einzelnen PoDs, Konfigurationsmanagement mit Ansible, Source-to-Image-Builds und vieles mehr.

Ein Vergleich lässt sich mit dem Linux Kernel anstellen: Wie Linux-Distributionen zusammen mit dem Linux Kernel ein Gesamtpaket schnüren, so bündelt OpenShift Kubernetes zu einer umfänglichen Lösung. Somit ist OpenShift eine Kubernetes-Distribution – eine der ersten überhaupt.

OpenShift gibt es in zwei verschiedenen Varianten:

  • OpenShift Container Platform: Die kommerzielle Version von Red Hat zur Installation im eigenen Datacenter oder in der Cloud.
  • OpenShift Origin: Das Open-Source-Projekt und gleichzeitig die Upstream-Version der kommerziellen Variante. Das Projekt ist sehr aktiv auf GitHub: https://github.com/openshift/origin

Mit OpenShift erhalten Software-Entwickler die Möglichkeit, in kürzeren Iterationen zu entwickeln und zu testen. Jeder Commit in Git kann den ganzen Prozess von der Entwicklung bis zum produktiven Betrieb automatisiert anstossen. Dafür bietet OpenShift automatische Image-Builds, Speicherverwaltung, Deployment, Skalierung, Monitoring, Logging und vieles mehr. Mit diesem System kann die sogenannte "Time-to-Market" stark verkürzt werden – so sind zum Beispiel stündliche oder noch häufigere Deployments problemlos möglich.

Wie beginne ich mit OpenShift?

Es gibt viele Wege mit OpenShift zu starten. Ein paar Hinweise und Beispiele zum Einstieg:

  • Mit den offiziellen Ansible Playbooks kann ein OpenShift-Cluster, z.B. bei cloudscale.ch, installiert und konfiguriert werden. Mit diesen Playbooks sind alle Aspekte bis ins kleinste Detail konfigurierbar. Des Weiteren helfen die Playbooks dabei, den Cluster zu pflegen und auf den neusten Stand zu bringen. Dokumentiert sind diese Playbooks sowohl direkt im Git Repository als auch auf der Dokumentationsseite.

  • Ein lokaler OpenShift-Cluster auf der eigenen Workstation kann z.B. mit Minishift (basierend auf Minikube) oder mit dem simplen Kommando "oc cluster up" gestartet werden. Dafür muss nur der OpenShift Client "oc" von GitHub heruntergeladen, ausgepackt und ausführbar gemacht werden. So wird ein kompletter OpenShift-Cluster auf dem lokalen Docker Daemon gestartet:


    % oc cluster up
    Starting OpenShift using openshift/origin:v3.6.0 ...
    Pulling image openshift/origin:v3.6.0
    Pulled 1/4 layers, 28% complete
    Pulled 2/4 layers, 83% complete
    Pulled 3/4 layers, 88% complete
    Pulled 4/4 layers, 100% complete
    Extracting
    Image pull complete
    OpenShift server started.
    
    The server is accessible via web console at:
        https://127.0.0.1:8443
    
    You are logged in as:
        User:     developer
        Password: <any value>
    
    To login as administrator:
        oc login -u system:admin
    
    % oc new-app https://github.com/appuio/example-php-sti-helloworld.git
    [...]
    % oc expose svc example-php-sti-helloworld
    [...]
    % curl -s
    http://example-php-sti-helloworld-myproject.127.0.0.1.nip.io/ | grep title
        <title>APPUiO PHP Demo</title>
    
  • Das APPUiO Techlab auf GitHub bietet eine Schritt-für-Schritt Anleitung, welche erklärt, wie Applikationen auf OpenShift betrieben werden können. Wer soziale Interaktion bevorzugt, dem wird durch APPUiO ein kostenloser halbtägiger Hands-On-Workshop angeboten (siehe https://appuio.ch/techlabs.html für weitere Informationen sowie die Anmeldung).

  • Eine umfangreiche Dokumentation zum Thema Microservices-Architektur bringt Licht in die Entwicklung und das Betreiben von Cloud-Native Applikationen, welche perfekt auf OpenShift laufen: APPUiO Microservices Example

Die verfügbare Dokumentation zu OpenShift ist bereits sehr umfangreich und wird laufend ausgebaut. Zu finden ist sie unter https://docs.openshift.com für die OpenShift Container Platform und unter https://docs.openshift.org für OpenShift Origin. APPUiO bietet unter http://docs.appuio.ch/ eine eigene spezifische Dokumentation, welche vom APPUiO-Team und der Community auf GitHub gepflegt wird.

Warum soll ich OpenShift auf cloudscale.ch betreiben?

Nach ersten Gehversuchen mit OpenShift auf eigener Hardware vor über zwei Jahren haben wir uns auf die Suche nach einem Schweizer Infrastruktur-Partner für den Betrieb der APPUiO Public Plattform gemacht. Mit cloudscale.ch haben wir den perfekten Partner dafür gefunden. Gemeinsam mit den Engineers von cloudscale.ch konnte eine passend zugeschnitte Umgebung für die Anforderungen von OpenShift geschaffen werden.

Einige wichtige Features, die cloudscale.ch unter anderem bietet, sind: ein privates Netzwerk zwischen virtuellen Servern für die Cluster-Kommunikation, einen S3-kompatiblen Object Storage z.B. für die Docker Registry Daten, Floating IPs für die Hochverfügbarkeit, zusätzliche SSD Disks für eine passende Node Partitionierung, natives IPv6 und vieles mehr.

Heute ist cloudscale.ch für APPUiO ein wichtiger Pfeiler für den stabilen Betrieb der Public Plattform.


APPUiO Logo

Über APPUiO

APPUiO – die Swiss Container Platform – ist ein managed OpenShift Service von Puzzle und VSHN. Wir betreiben OpenShift auf jeder Cloud nach Kundenwunsch – insbesondere auf cloudscale.ch.

Mit über zwei Jahren Erfahrung mit OpenShift v3 sind wir der führende Provider in der Schweiz mit einem umfassenden Wissen zum Betrieb von OpenShift. Wir betreiben nicht nur dutzende private OpenShift-Cluster, sondern auch eine Public Shared Plattform. Die Public Plattform betreiben wir seit Beginn auf der Infrastruktur von cloudscale.ch und haben hier einen zuverlässigen Partner gefunden, der uns bei spezifischen Implementationswünschen stets entgegengekommen ist.

Der Betrieb einer komplexen Plattform wie OpenShift ist nicht einfach – es gibt sehr viele Komponenten in einem grossen Gesamtsystem. Aus diesem Grund haben wir über 120 Cluster-Checks und über 50 Checks pro Server entwickelt, welche den korrekten Betrieb der Plattform überwachen. Darin enthalten sind Checks, welche einen kompletten End-to-End Test (vom Builden des Source Codes bis hin zum Test der Applikation über HTTPS) durchführen, um die komplette Funktionalität eines Clusters überprüfen zu können. Viele unserer Tools und Skripte sind auf GitHub unter der APPUiO Organisation zu finden. Für Fragen sind wir im APPUiO Forum oder im APPUiO Community Chat erreichbar.

Um OpenShift noch heute kostenlos zu testen nehmen Sie bitte Kontakt mit cloudscale.ch oder APPUiO auf.

Zurück zur Übersicht