第3章 Quarkus Java アプリケーションの OpenShift へのデプロイ
Quarkus OpenShift エクステンションを使用すると、Docker ビルドストラテジーを使用してアプリケーションを OpenShift にデプロイできます。コンテナーは OpenShift クラスター内にビルドされ、イメージストリームとして提供されます。
Quarkus プロジェクトには、事前に生成された Dockerfile と手順が含まれています。カスタム Dockerfile を使用する場合は、src/main/docker ディレクトリー、またはモジュール内の任意の場所にファイルを追加する必要があります。また、quarkus.openshift.jvm-dockerfile プロパティーを使用して Dockerfile へのパスを設定する必要があります。
前提条件
-
quarkus-openshiftエクステンションが含まれる Quarkus Maven プロジェクトがある。 ocを使用して OpenShift にログインし、プロジェクトを選択している。- OpenShift プロジェクトの namespace を確認するには、OpenShift プロジェクトの namespace の確認 を参照してください。
手順
- Quarkus プロジェクトが含まれるディレクトリーに移動します。
application.propertiesファイルで以下のプロパティーを設定します。Docker ビルドストラテジーを設定します。
quarkus.openshift.build-strategy=docker(オプション) 信頼されていない証明書を使用している場合は、
KubernetesClientを設定します。quarkus.kubernetes-client.trust-certs=true(オプション) サービスを公開して OpenShift ルートを作成します。
quarkus.openshift.expose=true(オプション) カスタム Dockerfile へのパスを設定します。
quarkus.openshift.jvm-dockerfile=<path_to_your_dockerfile>以下の例は、
Dockerfile.custom-jvmへのパスを示しています。quarkus.openshift.jvm-dockerfile=src/main/resources/Dockerfile.custom-jvm
Quarkus アプリケーションをパッケージ化し、現在の OpenShift プロジェクトにデプロイします。
./mvnw clean package -Dquarkus.kubernetes.deploy=true
検証
現在の OpenShift プロジェクトに関連付けられている Pod のリストを表示します。
oc get podsアプリケーションの Pod のログ出力を取得するには、以下のコマンドを入力します。
<pod_name>は、お使いのアプリケーションの名前の接頭辞が付いた最新の Pod の名前になります。oc logs -f <pod_name>