4.2. 使用 Java 21 将红帽构建的 Quarkus 应用程序部署到 OpenShift Container Platform。


您可以使用 S2I 方法部署运行 Java 21 到 OpenShift Container Platform 的红帽构建的 Quarkus 应用程序。

4.2.1. 先决条件

  • 可选: 您有一个 Quarkus Maven 项目,其中包含 quarkus-openshift 扩展。
  • 您在正确的 OpenShift Container Platform 项目命名空间中工作。
  • 您的项目托管在 Git 存储库中。

4.2.2. 流程

  1. 打开 pom.xml 文件,并将 Java 版本设置为 21:

    Copy to Clipboard Toggle word wrap
    <maven.compiler.source>21</maven.compiler.source>
    <maven.compiler.target>21</maven.compiler.target>
  2. 输入以下命令打包您的 Java 21 应用程序:

    Copy to Clipboard Toggle word wrap
    ./mvnw clean package
  3. 在与 pom.xml 文件相同的级别上创建名为 .s2i 的目录。
  4. .s2i 目录中创建一个名为 environment 的文件并添加以下内容:

    Copy to Clipboard Toggle word wrap
    MAVEN_S2I_ARTIFACT_DIRS=target/quarkus-app
    S2I_SOURCE_DEPLOYMENTS_FILTER=app lib quarkus quarkus-run.jar
    JAVA_OPTIONS=-Dquarkus.http.host=0.0.0.0
    AB_JOLOKIA_OFF=true
    JAVA_APP_JAR=/deployments/quarkus-run.jar
  5. 提交您的更改并推送到远程 Git 存储库。
  6. 输入以下命令导入支持的 OpenShift Container Platform 镜像:

    Copy to Clipboard Toggle word wrap
    oc import-image ubi9/openjdk-21 --from=registry.access.redhat.com/ubi9/openjdk-21 --confirm
    注意
    • 如果使用 OpenShift 镜像 registry 并从同一项目中的镜像流拉取,则您的 Pod 服务帐户必须已具有正确的权限。
    • 如果您要在其他 OpenShift Container Platform 项目或安全 registry 中拉取镜像,则可能需要额外的配置步骤。如需更多信息,请参阅 Red Hat Openshift Container Platform 文档。
    • 如果要在 IBM Z 基础架构上部署,请输入 oc import-image ubi9/openjdk-21 --from=registry.redhat.io/ubi9/openjdk-21 --confirm。有关此镜像的详情,请查看 Red Hat build of OpenJDK 21
  7. 构建项目、创建应用程序并部署 OpenShift Container Platform 服务:

    Copy to Clipboard Toggle word wrap
    oc new-app registry.access.redhat.com/ubi8/openjdk-21~<git_path> --name=<project_name>
    • 使用托管 Quarkus 项目的 Git 存储库路径替换 。例如,oc new-app registry.access.redhat.com/ubi9/openjdk-21~https://github.com/johndoe/code-with-quarkus.git --name=code-with-quarkus

      如果您没有为 Git 存储库配置 SSH 密钥,在指定 Git 路径时,请使用 HTTPS URL 而不是 SSH URL。

    • <project_name > 替换为应用程序的名称。

      注意

      如果要在 IBM Z 基础架构上部署,请输入 oc new-app ubi9/openjdk-21~ --name=<project_name&gt;。

  8. 要部署项目的更新版本,请将更改推送到 Git 存储库,然后运行:

    Copy to Clipboard Toggle word wrap
    oc start-build <project_name>
  9. 要为应用程序公开路由,请运行以下命令:

    Copy to Clipboard Toggle word wrap
    oc expose svc <project_name>

4.2.3. 验证

  1. 列出与当前 OpenShift Container Platform 项目关联的 pod:

    Copy to Clipboard Toggle word wrap
    oc get pods
  2. 要获取应用程序的 pod 的日志输出,请运行以下命令,将 < pod_name& gt; 替换为应用程序名称前缀的最新 pod 的名称:

    Copy to Clipboard Toggle word wrap
    oc logs -f <pod_name>
返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat, Inc.