第4章 S2I を使用して Red Hat build of Quarkus アプリケーションを OpenShift Container Platform にデプロイする


Source-to-Image (S2I) メソッドを使用して、Red Hat build of Quarkus アプリケーションを OpenShift Container Platform にデプロイできます。S2I では、Git リポジトリーを使用するか、ビルド時にソースをアップロードして、ソースコードをビルドコンテナーに提供する必要があります。

デプロイメント手順は、Red Hat build of Quarkus アプリケーションで使用される Java バージョンによって異なります。

4.1. Java 17 で Red Hat build of Quarkus アプリケーションを OpenShift Container Platform にデプロイする

S2I 方式を使用して、Java 17 を実行する Red Hat build of Quarkus アプリケーションを OpenShift Container Platform にデプロイできます。

4.1.1. 前提条件

  • Java 17 でビルドされた Quarkus アプリケーションがある。
  • オプション: quarkus-openshift エクステンションが含まれる Quarkus Maven プロジェクトがある。
  • 正しい OpenShift プロジェクト名前空間で作業しています。
  • プロジェクトは Git リポジトリーでホストされます。

4.1.2. 手順

  1. pom.xml ファイルを開き、Java バージョンを 17 に設定します。

    <maven.compiler.source>17</maven.compiler.source>
    <maven.compiler.target>17</maven.compiler.target>
  2. 次のコマンドを入力して、Java 17 アプリケーションをパッケージ化します。

    ./mvnw clean package
  3. pom.xml ファイルと同じレベルに、.s2i という名前のディレクトリーを作成します。
  4. .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
  5. 変更をリモート Git リポジトリーにコミットし、プッシュします。
  6. 次のコマンドを入力して、サポートされている OpenShift Container Platform イメージをインポートします。

    oc import-image ubi9/openjdk-17 --from=registry.access.redhat.com/ubi9/openjdk-17 --confirm
    注記
    • OpenShift イメージレジストリーを使用し、同じプロジェクト内のイメージストリームからプルしている場合は、Pod サービスアカウントにすでに正しい権限が付与されているはずです。
    • 他の OpenShift Container Platform プロジェクトまたは保護されたレジストリーからイメージをプルする場合は、追加の設定手順が必要になることもあります。

    詳細は、Red Hat OpenShift Container Platform の ドキュメントを参照してください。

  7. プロジェクトをビルドし、アプリケーションを作成し、OpenShift Container Platform サービスをデプロイします。

    oc new-app registry.access.redhat.com/ubi9/openjdk-17~<git_path> --name=<project_name>
    • <git_path> を、Quarkus プロジェクトをホストする Git リポジトリーのパスに置き換えます。たとえば、oc new-app registry.access.redhat.com/ubi8/openjdk-21~https://github.com/johndoe/code-with-quarkus.git --name=code-with-quarkus です。

      Git リポジトリー用に SSH キーを設定していない場合は、Git パスを指定する際に、SSH URL の代わりに HTTPS URL を使用します。

    • <project_name> を アプリケーションの名前に置き換えます。
  8. プロジェクトの更新バージョンをデプロイするには、変更を Git リポジトリーにプッシュしてから、次のコマンドを実行します。

    oc start-build <project_name>
  9. アプリケーションにルートを公開するには、次のコマンドを実行します。

    oc expose svc <project_name>

4.1.3. 検証

  1. 現在の OpenShift Container Platform プロジェクトに関連付けられている Pod をリスト表示します。

    oc get pods
  2. アプリケーションの Pod のログ出力を取得するには、次のコマンドを実行し、<pod_name> を アプリケーション名の前に付けた最新の Pod の名前に置き換えます。

    oc logs -f <pod_name>
Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

© 2024 Red Hat, Inc.