Red Hat OpenShift Application Runtimes
OpenShift 全部俺 Advent Calendar 2017
Red Hat OpenShift Application Runtimesがリリースされたのでさわってみたいと思います。Spring BootやVert.x, WildFly Swarmなどを使ってOpenShift上でマイクロサービスアプリケーションの開発をサポートする製品です。
https://launch.openshift.io/ というサイトでプロジェクトのひな型が作成できるので、まずはそれを利用してWildFly Swarmのプロジェクトを見てみましょう。
生成されたプロジェクトはローカル開発とOpenShiftを利用した開発の両方に対応するfabric8を活用したプロジェクトのようです。oc get all
を見てみると、Binaryビルドなので、ソースからOpenShift側でビルドされるのではなく、ローカルでビルドしたwarファイルを転送してコンテナイメージをビルドしている構成です。
$ mvn clean fabric8:deploy (長いので省略) $ oc get all NAME TYPE FROM LATEST buildconfigs/booster-crud-wildfly-swarm-s2i Source Binary 1 NAME TYPE FROM STATUS STARTED DURATION builds/booster-crud-wildfly-swarm-s2i-1 Source Binary Complete 2 minutes ago 2m3s NAME DOCKER REPO TAGS UPDATED imagestreams/booster-crud-wildfly-swarm 172.30.1.1:5000/test-rhoar/booster-crud-wildfly-swarm latest 50 seconds ago NAME REVISION DESIRED CURRENT TRIGGERED BY deploymentconfigs/booster-crud-wildfly-swarm 1 1 1 config,image(booster-crud-wildfly-swarm:latest) NAME HOST/PORT PATH SERVICES PORT TERMINATION WILDCARD routes/booster-crud-wildfly-swarm booster-crud-wildfly-swarm-test-rhoar.192.168.42.143.nip.io booster-crud-wildfly-swarm 8080 None NAME READY STATUS RESTARTS AGE po/booster-crud-wildfly-swarm-1-deploy 1/1 Running 0 18s po/booster-crud-wildfly-swarm-1-fgdj8 0/1 Running 0 15s po/booster-crud-wildfly-swarm-s2i-1-build 0/1 Completed 0 2m NAME DESIRED CURRENT READY AGE rc/booster-crud-wildfly-swarm-1 1 1 0 18s NAME CLUSTER-IP EXTERNAL-IP PORT(S) AGE svc/booster-crud-wildfly-swarm 172.30.79.11 <none> 8080/TCP 20s
BuildConfigを見ると利用イメージがregistry.access.redhat.com/redhat-openjdk-18/openjdk18-openshift
になっているので、これを使えば手元でビルドしてバイナリ転送ではなく、OpenShift側でソースからビルド(s2iビルド)でも大丈夫でしょう。
というわけでRHOARを利用した最小のSwarmプロジェクト https://github.com/nekop/hello-swarm を作ってみました。
$ oc new-project test-swarm $ oc new-app registry.access.redhat.com/redhat-openjdk-18/openjdk18-openshift~https://github.com/nekop/hello-swarm $ oc expose svc hello-swarm $ curl hello-swarm-test-rhoar.192.168.42.143.nip.io hello world