第1章 Red Hat build of Quarkus アプリケーションを OpenShift Container Platform にデプロイする
アプリケーション開発者は、1 つの Maven コマンドを使用して、Quarkus アプリケーションを Red Hat OpenShift Container Platform にデプロイできます。この機能は、Docker ビルドストラテジーや Source-to-Image (S2I) ストラテジーなど、複数のデプロイメントオプションをサポートする quarkus-openshift エクステンションによって提供されます。
ここでは、Quarkus アプリケーションを実稼働環境にデプロイするための推奨されるワークフローを学習できます。Quarkus アプリケーションをデプロイする他の方法は、Quarkus community の Deploying on OpenShift を参照してください。
前提条件
- OpenJDK 17 または 21 がインストールされている。
-
JAVA_HOME環境変数を Java SDK の場所に設定している。 - Apache Maven 3.8.6 以降がインストールされている。
quarkus-openshiftエクステンションが含まれる Quarkus Maven プロジェクトがある。- Quarkus OpenShift エクステンションを追加するには、Quarkus OpenShift エクステンションの追加 を参照してください。
OpenShift Container Platform クラスターとインストールされている
ocツールの最新の互換バージョンにアクセスできる。-
ocツールのインストールは、CLI ツール を参照してください。
-
1.1. OpenShift Container Platform のビルドストラテジーと Red Hat build of Quarkus リンクのコピーリンクがクリップボードにコピーされました!
OpenShift Container Platform は、コンテナー化されたアプリケーションの開発および実行に使用する Kubernetes ベースのプラットフォームです。Kubernetes アップストリームプロジェクトは追加のストラテジーを提供していますが、Red Hat は Quarkus の次のストラテジーのみサポートします。
1.1.1. OpenShift Container Platform ビルドストラテジーの概要 リンクのコピーリンクがクリップボードにコピーされました!
- Docker ビルド
- このストラテジーは、OpenShift Container Platform クラスターの外 (ローカルまたは CI 環境) にアーティファクトをビルドし、それを Dockerfile と併せて OpenShift Container Platform ビルドシステムに提供します。アーティファクトには、JAR ファイルまたはネイティブ実行可能ファイルが含まれます。コンテナーは OpenShift Container Platform クラスター内にビルドされ、イメージストリームとして提供されます。
OpenShift Container Platform Docker ビルドストラテジーは、JVM を対象とする Quarkus アプリケーション、またはネイティブ実行可能ファイルにコンパイルされた Quarkus アプリケーションをサポートすることから、推奨ビルドストラテジーとなっています。ただし、以前の Quarkus バージョンとの互換性を考慮して、デフォルトのビルドストラテジーは S2I です。OpenShift Container Platform Docker ビルドストラテジーを選択するには、quarkus.openshift.build-strategy プロパティーを使用します。
- Source to Image (S2I)
- ビルドプロセスは、OpenShift Container Platform クラスター内で実行されます。Red Hat build of Quarkus は、S2I を使用して Red Hat build of Quarkus を JVM アプリケーションとしてデプロイすることを完全にサポートしています。
- バイナリー S2I
- このストラテジーでは、S2I ビルドプロセスへの入力として JAR ファイルを使用するため、アプリケーションのビルドとデプロイが高速化されます。
1.1.2. Quarkus でサポートされるビルドストラテジー リンクのコピーリンクがクリップボードにコピーされました!
次の表は、Red Hat build of Quarkus 3.8 でサポートされるビルドストラテジーの概要を示しています。
| ビルドストラテジー | Red Hat build of Quarkus ツールのサポート | JVM のサポート | ネイティブのサポート | JVM Serverless のサポート | ネイティブ Serverless のサポート |
|---|---|---|---|---|---|
| Docker ビルド | はい | はい | はい | はい | はい |
| S2I バイナリー | はい | はい | いいえ | いいえ | いいえ |
| Source S2I | いいえ | はい | いいえ | いいえ | いいえ |