OpenShift 4 之 Quarkus(2)使用S2I部署Quarkus应用

末鹿安然 提交于 2020-02-24 10:45:32


我们除了可以参考《OpenShift 4 之 Quarkus(1)创建第一个Quarkus应用》部署由Quarkus编译生成的可执行程序外,还可以通过OpenShift提供的针对Quarkus提供的S2I功能自动从应用源码完成在OpenShift上的应用部署。

将Quarkus源码按可执行程序部署到OpenShift

以下过程的部署的应用是https://github.com/quarkusio/quarkus-quickstarts.git#getting-started中的Quarkus应用代码,构建过程使用的Builder-Image是quay.io/quarkus/ubi-quarkus-native-s2i:19.3.1-java8(也可以用quay.io/quarkus/ubi-quarkus-native-s2i:19.3.1-java11)。

# To build the image on OpenShift
$ oc new-project quarkus-quickstart-native
$ oc new-app quay.io/quarkus/ubi-quarkus-native-s2i:19.3.1-java8~https://github.com/quarkusio/quarkus-quickstarts.git --context-$ dir=getting-started --name=quarkus-quickstart-native
$ oc logs -f bc/quarkus-quickstart-native

# To create the route
$ oc expose svc/quarkus-quickstart-native

# Get the route URL
$ export URL="http://$(oc get route | grep quarkus-quickstart-native | awk '{print $2}')"
$ curl $URL/hello/greeting/quarkus

由于将Java应用编译成可执行程序需要更多的资源,因此在日志中如果发现资源不够,可以执行以下命令扩展构建可以使用的资源量。

$ oc patch bc/quarkus-quickstart-native -p '{"spec":{"resources":{"limits":{"cpu":"4", "memory":"4Gi"}}}}'
$ oc start-build quarkus-quickstart-native

将Quarkus源码按Java应用部署到OpenShift

以下过程的部署的应用是https://github.com/quarkusio/quarkus-quickstarts.git#getting-started中的Quarkus应用代码,构建过程使用的Builder-Image是registry.access.redhat.com/redhat-openjdk-18/openjdk18-openshift。

$ oc new-project quarkus-quickstart-java
$ oc new-app registry.access.redhat.com/redhat-openjdk-18/openjdk18-openshift~https://github.com/quarkusio/quarkus-quickstarts.git --context-dir=getting-started --name=quarkus-quickstart-java
$ oc logs -f bc/quarkus-quickstart-java

# To create the route
$ oc expose svc/quarkus-quickstart-java

# Get the route URL
$ export URL="http://$(oc get route | grep quarkus-quickstart-java | awk '{print $2}')"
$ curl $URL/hello/greeting/quarkus
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!