The English version of quarkus.io is the official project site. Translated sites are community supported on a best-effort basis.
このページを編集

ワンステップでQuarkusアプリケーションをOpenShiftにデプロイ

アプリケーション開発者として、Quarkusアプリケーションをビルドし、OpenShiftにデプロイします。 以下のコマンドのいずれかを実行してください:

コマンドラインインタフェース
quarkus build quarkus deploy openshift
Maven
./mvnw install -Dquarkus.openshift.deploy=true
Gradle
./gradlew build -Dquarkus.openshift.deploy=true

これらのコマンドで、アプリケーションをローカルにビルドし、コンテナイメージのビルドをトリガーし、生成されたOpenShiftリソースを自動的に適用します。

生成されたリソースは Kubernetes Deployment を使用しますが、 RouteBuildConfig などの OpenShift 固有のリソースを使用します。

前提条件

  • OpenJDK 17 以降がインストールされていること

  • 環境変数 JAVA_HOME をJava SDKの場所に設定していること

  • OpenShift クラスタにアクセスでき、 oc CLIツールの最新互換バージョンがインストールされていること

  • 正しい OpenShift プロジェクトの名前空間で作業していること

このディプロイメントを実行するには、 quarkus-openshift エクステンションを Quarkus プロジェクトに含める必要はありません。

ビルドとデプロイをワンステップで

  1. ビルドとデプロイをワンステップでトリガーします:

コマンドラインインタフェース
quarkus build quarkus deploy openshift
Maven
./mvnw install -Dquarkus.openshift.deploy=true
Gradle
./gradlew build -Dquarkus.openshift.deploy=true

アプリケーションをすぐにテストしたい場合は、 quarkus.openshift.route.expose 設定プロパティを true に設定し、自動的にサービスを公開します。

例えば、上記のコマンドに -Dquarkus.openshift.route.expose=true を追加します。 詳細については、 ルートを公開する を参照してください。

OpenShift 4.14 で、 DeploymentConfig オブジェクトは非推奨となりました。 Deployment は、 quarkus-openshift エクステンションのデフォルトかつ優先的なデプロイメント種類となりました。

この変更に伴い、以下のことを検討してください:

  • 以前 DeploymentConfig を使用してデプロイしたアプリケーションを再デプロイする場合、デフォルトでは、それらのアプ リケーションは Deployment を使用しますが、以前の DeploymentConfig は削除されません。 これは新しいアプリケーションと古いアプリケーションの両方をデプロイすることになるため、古い DeploymentConfig を手動で削除する必要があります。 DeploymentConfig を使用し続けたい場合は、 quarkus.openshift.deployment-kindDeploymentConfig に明示的に設定することで可能です。

  • Deployment は Kubernetes リソースであり、OpenShift 固有のものではないため、 DeploymentConfig`のように `ImageStream リソースを活用することはできません。 したがって、イメージの参照には、イメージをホストするコンテナ・イメージ・レジストリを含める必要があります。

非推奨、自動ロールバック、トリガー、ライフサイクルフック、カスタムストラテジーの設定方法と使用方法の詳細については、Red Hat Knowledgebase の記事 DeploymentConfig API is being deprecated in Red Hat OpenShift Container Platform 4.14 を参照してください。

検証

  1. OpenShiftウェブコンソールを使用して、イメージストリームとサービスリソースが作成され、アプリケーションがデプロイされていることを確認します。

    quarkus.container-image.group=<project/namespace name>

    あるいは、以下の OpenShift コマンドライン・インターフェイス (CLI) コマンドを実行します:

    oc get is (1)
    oc get pods (2)
    oc get svc (3)
    1 作成されたイメージストリームを一覧表示します。
    2 現在の OpenShift プロジェクトに関連するポッドを一覧表示します。
    3 Kubernetesサービスをリストアップします。
  2. アプリケーションのポッドのログ出力を取得するには、次のコマンドを入力します:

    oc logs -f <pod_name>

    デフォルトでは、サービスは外部に公開されません。 したがって、アプリケーションをビルドする前に quarkus.openshift.route.expose=true プロパティを設定して、作成したサービスを自動的に公開しなかった場合は、手動でサービスを公開することができます。

    oc expose svc/openshift-quickstart (1)
    oc get routes (2)
    curl http://<route>/hello (3)
    1 サービスの公開
    2 公開されているルートのリストを取得します。
    3 アプリケーションにアクセスします。

関連コンテンツ