第1章 OpenShift エクステンションを使用した Serverless Quarkus Java アプリケーションの OpenShift へのデプロイ


従来の Source-to-Image (S2I) ソースワークフローは、OpenShift 内でアプリケーションのデプロイ可能なアーティファクトを生成します。Quarkus OpenShift エクステンションは、S2I バイナリーワークフローを使用して、より効率的なデプロイメントプロセスを提供します。ソースからビルドする代わりに、エクステンションはローカルファイルシステムから JAR ファイルをアップロードします。その結果、ビルドプロセスは従来の S2I 手法よりも最大で 10 倍速くなります。ローカルで開発する場合、およびビルドサーバーまたは継続的インテグレーション (CI) システムから開発する場合に、Quarkus OpenShift エクステンションを使用して、ソースから繰り返し可能なビルドを実行することができます。

以下の手順では、Quarkus OpenShift エクステンションを使用して、Serverless Quarkus Java アプリケーションを OpenShift にデプロイする方法を説明しています。

前提条件

  • Quarkus Maven プロジェクトがあること。
  • OpenShift Serverless Operator がインストールされていること。
  • OpenShift Knative Serving がインストールされていること。
  • Red Hat OpenShift Container Platform クラスターにアクセスでき、最新バージョンの OpenShift CLI (oc) がインストールされていること。
  • OpenJDK 11 がインストールされ、JAVA_HOME 環境変数が Java SDK の場所を指定していること。
  • Apache Maven 3.6.2 以降がインストールされていること。Maven は Apache Maven Project の Web サイトから入手できます。
  • ネイティブコンパイルの場合は、Podman または Docker などのコンテナー環境が必要。
  • kn CLI ツールがインストールされていること。

手順

  1. Quarkus プロジェクトが含まれるディレクトリーに移動します。
  2. OpenShift エクステンションを既存プロジェクトに追加します。

    ./mvnw quarkus:add-extension -Dextensions="openshift"
    Copy to Clipboard Toggle word wrap

    OpenShift エクステンションを追加すると、スクリプトは以下の依存関係を pom.xml ファイルに追加します。

       <dependency>
    	<groupId>io.quarkus</groupId>
     	<artifactId>quarkus-openshift</artifactId>
       </dependency>
    Copy to Clipboard Toggle word wrap
  3. 開発またはテスト環境内で、信頼されていない証明書を使用している場合は、以下の行を src/main/resources/application.properties ファイルに追加します。

    quarkus.kubernetes-client.trust-certs=true
    Copy to Clipboard Toggle word wrap
  4. Open JDK 11 の Red Hat Enterprise Linux 8 イメージを使用するように OpenShift を設定するには、以下の行を application.properties ファイルに追加します。

    quarkus.s2i.base-jvm-image=registry.access.redhat.com/ubi8/openjdk-11
    Copy to Clipboard Toggle word wrap
  5. OpenShift の内部レジストリーからコンテナーイメージをプルするように OpenShift Serverless を設定するには、以下の行を application.properties ファイルに追加します。

    quarkus.container-image.registry=image-registry.openshift-image-registry.svc:5000
    Copy to Clipboard Toggle word wrap
  6. Knative Serving のデプロイメント記述子を作成できるようにするには、以下の行を application.properties ファイルに追加します。

    quarkus.kubernetes.deployment-target=knative
    Copy to Clipboard Toggle word wrap
  7. 変更を application.properties ファイルに保存します。
  8. OpenShift CLI (oc) にログインします。

    oc login
    Copy to Clipboard Toggle word wrap
  9. 新しい OpenShift プロジェクトを作成するには、以下のコマンドを実行します。このコマンドの <project_name> は、新規プロジェクトの名前に置き換えます。

    oc new-project <project_name>
    Copy to Clipboard Toggle word wrap
    注記

    <project_name> は、ホストシステムの username と同じである必要があります。同じでない場合、Quarkus はイメージレジストリーからイメージをプルできません。別の <project_name> を設定する場合は、以下の行を application.properties ファイルに必ず追加します。

    quarkus.container-image.group=<project_name>
    Copy to Clipboard Toggle word wrap
  10. プロジェクトを OpenShift にデプロイするには、以下のコマンドを入力します。

    ./mvnw clean package -Dquarkus.kubernetes.deploy=true
    Copy to Clipboard Toggle word wrap
  11. アプリケーションが正常にデプロイされたことを確認するには、以下のコマンドを実行します。

    kn service list
    Copy to Clipboard Toggle word wrap
  12. アプリケーションの完全な URL を表示するには、以下のコマンドを入力します。ここで、<application_name> は OpenShift プロジェクトにデプロイされたアプリケーションの名前に置き換えます。

     kn route describe <application_name> -o jsonpath='{.status.url}'
    Copy to Clipboard Toggle word wrap
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

Theme

© 2026 Red Hat
トップに戻る