搜索

3.2. 将 Eclipse Vert.x 应用部署到 OpenShift

download PDF

要将 Eclipse Vert.x 应用部署到 OpenShift,请在应用中配置 pom.xml 文件,然后使用 OpenShift Maven 插件。

注意

Fabric8 Maven 插件不再被支持。使用 OpenShift Maven 插件在 OpenShift 上部署 Eclipse Vert.x 应用。如需更多信息,请参阅从 Fabric8 Maven 插件迁移到 Eclipse JKube 的部分

您可以通过在 pom.xml 文件中替换 jkube.generator.from URL 来指定 Java 镜像。镜像在 红帽生态系统目录 中可用。

<jkube.generator.from>IMAGE_NAME</jkube.generator.from>

例如,使用 OpenJDK 8 的 RHEL 7 的 Java 镜像被指定为:

<jkube.generator.from>registry.access.redhat.com/redhat-openjdk-18/openjdk18-openshift:latest</jkube.generator.from>

3.2.1. 支持的 Eclipse Vert.x 的 Java 镜像

Eclipse Vert.x 通过可用于不同操作系统的各种 Java 镜像进行认证和测试。例如,对于带有 OpenJDK 8 或 OpenJDK 11 的 RHEL 7 提供了 Java 镜像。

Eclipse Vert.x 引入了对使用 Red Hat OpenJDK 8 和 Red Hat OpenJDK 11 的 OCI 兼容 通用基本镜像 OpenShift 构建和部署 Eclipse Vert.x 应用程序的支持

您需要 Docker 或 podman 身份验证来访问红帽生态系统目录中的 RHEL 8 镜像。

下表列出了用于不同架构的 Eclipse Vert.x 支持的容器镜像。这些容器镜像在 红帽生态系统目录 中提供。在目录中,您可以搜索并下载下表中列出的镜像。镜像页面包含访问镜像所需的身份验证过程。

表 3.1. OpenJDK 镜像和架构
JDK (OS)支持的构架红帽生态系统目录中可用的镜像

OpenJDK8 (RHEL 7)

x86_64

redhat-openjdk-18/openjdk18-openshift

OpenJDK11 (RHEL 7)

x86_64

openjdk/openjdk-11-rhel7

OpenJDK8 (RHEL 8)

x86_64

ubi8/openjdk-8-runtime

OpenJDK11 (RHEL 8)

x86_64、IBM Z 和 IBM Power 系统

ubi8/openjdk-11

注意

在 RHEL 7 主机上使用基于 RHEL 8 的容器(例如,OpenShift 3 或 OpenShift 4)具有有限的支持。如需更多信息,请参阅 Red Hat Enterprise Linux Container Compatibility Matrix

3.2.2. 为 OpenShift 部署准备 Eclipse Vert.x 应用

要将 Eclipse Vert.x 应用程序部署到 OpenShift,它必须包含:

  • 在应用程序的 pom.xml 文件中启动程序配置集信息。

在以下流程中,使用带有 OpenShift Maven 插件的配置集来构建和部署应用到 OpenShift。

前提条件

流程

  1. 在应用程序根目录下的 pom.xml 文件中添加以下内容:

    <!-- Specify the JDK builder image used to build your application. -->
    <properties>
      <jkube.generator.from>registry.access.redhat.com/redhat-openjdk-18/openjdk18-openshift:latest</jkube.generator.from>
    </properties>
    
    ...
    
    <profiles>
        <profile>
          <id>openshift</id>
          <build>
            <plugins>
              <plugin>
                <groupId>org.eclipse.jkube</groupId>
                <artifactId>openshift-maven-plugin</artifactId>
                <version>1.1.1</version>
                <executions>
                  <execution>
                    <goals>
                      <goal>resource</goal>
                      <goal>build</goal>
                      <goal>apply</goal>
                    </goals>
                  </execution>
                </executions>
              </plugin>
            </plugins>
          </build>
        </profile>
    </profiles>
  2. 替换 pom.xml 文件中的 jkube.generator.from 属性,以指定您要使用的 OpenJDK 镜像。

    • x86_64 架构

      • RHEL 7 with OpenJDK 8

        <jkube.generator.from>registry.access.redhat.com/redhat-openjdk-18/openjdk18-openshift:latest</jkube.generator.from>
      • RHEL 7 with OpenJDK 11

        <jkube.generator.from>registry.access.redhat.com/openjdk/openjdk-11-rhel7:latest</jkube.generator.from>
      • RHEL 8 with OpenJDK 8

        <jkube.generator.from>registry.access.redhat.com/ubi8/openjdk-8:latest</jkube.generator.from>
    • x86_64、s390x (IBM Z)和 ppc64le (IBM Power Systems)架构

      • RHEL 8 with OpenJDK 11

        <jkube.generator.from>registry.access.redhat.com/ubi8/openjdk-11:latest</jkube.generator.from>

3.2.3. 使用 OpenShift Maven 插件将 Eclipse Vert.x 应用部署到 OpenShift

要将 Eclipse Vert.x 应用程序部署到 OpenShift,您必须执行以下操作:

  • 登录您的 OpenShift 实例。
  • 将应用部署到 OpenShift 实例。

前提条件

  • 已安装 oc CLI 客户端。
  • 已安装 Maven。

流程

  1. 使用 oc 客户端登录您的 OpenShift 实例。

    $ oc login ...
  2. 在 OpenShift 实例中创建一个新项目。

    $ oc new-project MY_PROJECT_NAME
  3. 使用应用的根目录中的 Maven 将应用部署到 OpenShift。应用程序的根目录包含 pom.xml 文件。

    $ mvn clean oc:deploy -Popenshift

    此命令使用 OpenShift Maven 插件在 OpenShift 上启动 S2I 进程,并启动容器集。

  4. 验证部署。

    1. 检查应用程序的状态,并确保您的 Pod 正在运行。

      $ oc get pods -w
      NAME                             READY     STATUS      RESTARTS   AGE
      MY_APP_NAME-1-aaaaa               1/1       Running     0          58s
      MY_APP_NAME-s2i-1-build           0/1       Completed   0          2m

      MY_APP_NAME-1-aaaaa pod 在完全部署并启动后应处于 Running 状态。

      具体 pod 名称会有所不同。

    2. 确定 pod 的路由。

      路由信息示例

      $ oc get routes
      NAME                 HOST/PORT                                                     PATH      SERVICES        PORT      TERMINATION
      MY_APP_NAME         MY_APP_NAME-MY_PROJECT_NAME.OPENSHIFT_HOSTNAME      MY_APP_NAME      8080

      pod 的路由信息为您提供了用于访问它的基本 URL。

      在这个示例中 ,http://MY_APP_NAME-MY_PROJECT_NAME.OPENSHIFT_HOSTNAME 是用于访问应用程序的基本 URL。

    3. 验证您的应用是否在 OpenShift 中运行。

      $ curl http://MY_APP_NAME-MY_PROJECT_NAME.OPENSHIFT_HOSTNAME
      Greetings!
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.