OpenShift Pods mittels Java starten

Um in der OpenShift dynamisch neue Kubernetes Objekte zu erzeugen, kann der Java Client für Kubernetes und OpenShift 3 von fabric8.io verwendet werden. Dieser Client nutzt die REST API der Kubernetes/OpenShift Plattform, um verschiedene Aktionen auszuführen.

Wir verwenden den Kubernetes Client beispielsweise, um in der OpenShift neue Pods zu starten und nach der Berechnung diese wieder zu beenden. Wir haben uns ganz bewusst für den Kubernetes und nicht für den OpenShift Client entschieden. So sind wir plattformunabhängig und können auf andere Kubernetes Plattformen wechseln, ohne unsere Implementierung ändern zu müssen (Open-Closed Prinzip).

Beispiel

Zu Beginn erstellen wir einen Kubernetes Client. Dafür wird die Kubernetes URL der Plattform benötigt:

Mit dem Client starten wir jetzt einen neuen Pod:

Damit auf den soeben erstellten Pod zugegriffen werden kann, legen wir jetzt noch ein Service an:

Wenn der Pod nicht mehr benötigt wird, wird zuerst der Service wieder gelöscht:

Und danach den Pod:

Fazit

Der Client ist sehr mächtig. Er bietet die Möglichkeit eine Kubernetes Plattform dynamisch mittels Java zu orchestrieren. Wenn man sich mit Kubernetes auskennt, wird man keine Probleme bei der Anwendung des Java Clients haben.

Versucht es doch einfach selber.