4.2. Java 21 で Red Hat build of Quarkus アプリケーションを OpenShift Container Platform にデプロイする
S2I メソッドを使用して、Java 21 を実行する Red Hat build of Quarkus アプリケーションを OpenShift Container Platform にデプロイできます。
4.2.1. 前提条件 リンクのコピーリンクがクリップボードにコピーされました!
-
オプション:
quarkus-openshiftエクステンションが含まれる Quarkus Maven プロジェクトがある。 - 正しい OpenShift Container Platform プロジェクト namespace で作業している。
- プロジェクトが Git リポジトリーでホストされている。
4.2.2. 手順 リンクのコピーリンクがクリップボードにコピーされました!
pom.xmlファイルを開き、Java バージョンを 21 に設定します。<maven.compiler.source>21</maven.compiler.source> <maven.compiler.target>21</maven.compiler.target>次のコマンドを入力して、Java 21 アプリケーションをパッケージ化します。
./mvnw clean package-
pom.xmlファイルと同じレベルに、.s2iという名前のディレクトリーを作成します。 .s2iディレクトリーにenvironmentという名前のファイルを作成し、以下の内容を追加します。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- 変更をリモート Git リポジトリーにコミットし、プッシュします。
次のコマンドを入力して、サポートされている OpenShift Container Platform イメージをインポートします。
oc import-image ubi9/openjdk-21 --from=registry.access.redhat.com/ubi9/openjdk-21 --confirm注記- OpenShift イメージレジストリーを使用し、同じプロジェクト内のイメージストリームからプルしている場合は、Pod サービスアカウントには適切な権限がすでに付与されている必要があります。
- 他の OpenShift Container Platform プロジェクトまたは保護されたレジストリーからイメージをプルする場合は、追加の設定手順が必要になることもあります。詳細は、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 を参照してください。
プロジェクトをビルドしてアプリケーションを作成し、OpenShift Container Platform サービスをデプロイします。
oc new-app registry.access.redhat.com/ubi8/openjdk-21~<git_path> --name=<project_name><git_path>は、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 パスを指定する際に、SSH URL の代わりに HTTPS URL を使用します。
<project_name>は、アプリケーションの名前に置き換えます。注記IBM Z インフラストラクチャー上にデプロイする場合は、代わりに
oc new-app ubi9/openjdk-21~<git_path> --name=<project_name>と入力します。
プロジェクトの更新バージョンをデプロイするには、変更を Git リポジトリーにプッシュしてから、次のコマンドを実行します。
oc start-build <project_name>アプリケーションにルートを公開するには、次のコマンドを実行します。
oc expose svc <project_name>
4.2.3. 検証 リンクのコピーリンクがクリップボードにコピーされました!
現在の OpenShift Container Platform プロジェクトに関連付けられている Pod をリスト表示します。
oc get podsアプリケーションの Pod のログ出力を取得するには、次のコマンドを実行します。
<pod_name>は、アプリケーション名を先頭に付けた最新の Pod の名前に置き換えます。oc logs -f <pod_name>