一步到位地将 Quarkus 应用程序部署到 OpenShift
作为应用程序开发者,您只需一步即可构建和部署 Quarkus 应用程序到 OpenShift。完成以下命令之一
quarkus build quarkus deploy openshift
./mvnw install -Dquarkus.openshift.deploy=true
./gradlew build -Dquarkus.openshift.deploy=true
使用这些命令,您可以在本地构建应用程序,触发容器镜像构建,并自动应用生成的 OpenShift 资源。
生成的资源使用 Kubernetes Deployment
,但仍然使用 OpenShift 特定的资源,例如 Route
、BuildConfig
等。
先决条件
-
您已安装 OpenJDK 17 或更高版本。
-
您已将
JAVA_HOME
环境变量设置为 Java SDK 的位置。 -
您有权访问 OpenShift 集群,并且已安装最新的兼容版本的
oc
CLI 工具。 -
您正在正确的 OpenShift 项目命名空间中工作。
要运行此部署,不需要在 Quarkus 项目中包含 |
步骤
-
一步触发构建和部署
quarkus build quarkus deploy openshift
./mvnw install -Dquarkus.openshift.deploy=true
./gradlew build -Dquarkus.openshift.deploy=true
如果您想立即测试您的应用程序,请将 例如,将 |
从 OpenShift 4.14 开始, 由于此更改,请考虑以下事项
有关弃用、如何设置和使用自动回滚、触发器、生命周期挂钩和自定义策略的更多信息,请参阅 Red Hat 知识库文章DeploymentConfig API 在 Red Hat OpenShift Container Platform 4.14 中已被弃用。 |
验证
-
验证是否已创建镜像流和服务资源,并使用 OpenShift Web 控制台部署应用程序。
quarkus.container-image.group=<project/namespace name>
或者,运行以下 OpenShift 命令行界面 (CLI) 命令
oc get is (1) oc get pods (2) oc get svc (3)
1 列出创建的镜像流。 2 列出与您当前的 OpenShift 项目关联的 Pod。 3 列出 Kubernetes 服务。 -
要获取应用程序 Pod 的日志输出,请输入以下命令
oc logs -f <pod_name>
默认情况下,该服务不会暴露给外部世界。 因此,如果您在构建应用程序之前没有通过设置
quarkus.openshift.route.expose=true
属性来自动暴露创建的服务,您可以手动暴露该服务。oc expose svc/openshift-quickstart (1) oc get routes (2) curl http://<route>/hello (3)
1 暴露服务。 2 获取已暴露路由的列表。 3 访问您的应用程序。