3.7. KIE Server のカスタムイメージの作成
カスタムイメージを作成して、KIE Server のデプロイメントにファイルを追加できます。次に、イメージを独自のコンテナーレジストリーにプッシュする必要があります。Red Hat Decision Manager をデプロイする場合は、カスタムイメージを使用するように Operator を設定できます。
カスタムイメージを使用する場合は、自動のバージョンアップグレードを無効にする必要があります。新規バージョンをインストールする場合は、以前と同じ名前と、新規バージョンタグを指定してイメージをビルドし、レジストリーにそのイメージをプッシュします。その後にバージョンを変更すると、Operator が自動的に新規イメージをプルします。Operator での製品バージョンの変更に関する説明は、「Operator を使用してデプロイした環境の変更」 を参照してください。
特に、次のタイプのカスタムイメージを作成できます。
- 追加の RPM パッケージを含めた KIE Server のカスタムイメージ
- 追加の JAR クラスライブラリーを含めた KIE Server のカスタムイメージ
3.7.1. 追加の RPM パッケージを含めたカスタムの KIE Server イメージの作成 リンクのコピーリンクがクリップボードにコピーされました!
追加の RPM パッケージのインストール先のカスタム KIE Server イメージを作成できます。このイメージをカスタムレジストリーにプッシュして、KIE Server のデプロイに使用できます。
Red Hat Enterprise Linux 8 リポジトリーから任意のパッケージをインストールできます。以下の例では、ps ユーティリティーが含まれる procps-ng パッケージをインストールしていますが、変更して他のパッケージをインストールすることができます。
手順
-
podman loginコマンドを使用してregistry.redhat.ioレジストリーの認証を行います。レジストリーの認証に関する詳細は、Red Hat コンテナーレジストリーの認証 を参照してください。 サポートされている KIE Server のベースイメージをダウンロードするには、次のコマンドを入力します。
podman pull registry.redhat.io/rhpam-7/rhpam-kieserver-rhel8:7.13.4
podman pull registry.redhat.io/rhpam-7/rhpam-kieserver-rhel8:7.13.4Copy to Clipboard Copied! Toggle word wrap Toggle overflow ベースイメージをもとにカスタムイメージを定義する
Dockerfileを作成します。このファイルで、現在のユーザーをrootに変更して、yumコマンドで RPM パッケージをインストールしてからUSER 185(Red Hat JBoss EAP ユーザー) に戻します。以下の例では、Dockerfileファイルの内容を示します。FROM registry.redhat.io/rhpam-7/rhpam-kieserver-rhel8:7.13.4 USER root RUN yum -y install procps-ng USER 185
FROM registry.redhat.io/rhpam-7/rhpam-kieserver-rhel8:7.13.4 USER root RUN yum -y install procps-ng USER 185Copy to Clipboard Copied! Toggle word wrap Toggle overflow 必要に応じて RPM ファイルの名前を置き換えます。
yumコマンドは自動的に Red Hat Enterprise Linux 8 リポジトリーからの全依存関係を自動的にインストールします。複数の RPM ファイルをインストールする必要がある場合があります。今回は、RUNコマンドを複数回使用します。Dockerfileを使用してカスタムイメージをビルドします。レジストリー名など、イメージの完全修飾名を指定します。ベースイメージと同じバージョンタグを使用する必要があります。イメージをビルドするには、以下のコマンドを入力します。podman build . --tag registry_address/image_name:7.13.4
podman build . --tag registry_address/image_name:7.13.4Copy to Clipboard Copied! Toggle word wrap Toggle overflow 以下に例を示します。
podman build . --tag registry.example.com/custom/rhpam-kieserver-rhel8:7.13.4
podman build . --tag registry.example.com/custom/rhpam-kieserver-rhel8:7.13.4Copy to Clipboard Copied! Toggle word wrap Toggle overflow ビルドが完了したら、イメージを実行してログインし、カスタマイズが成功したことを確認します。以下のコマンドを入力します。
podman run -it --rm registry_address/image_name:7.13.4 /bin/bash
podman run -it --rm registry_address/image_name:7.13.4 /bin/bashCopy to Clipboard Copied! Toggle word wrap Toggle overflow 以下に例を示します。
podman run -it --rm registry.example.com/custom/rhpam-kieserver-rhel8:7.13.4 /bin/bash
podman run -it --rm registry.example.com/custom/rhpam-kieserver-rhel8:7.13.4 /bin/bashCopy to Clipboard Copied! Toggle word wrap Toggle overflow イメージのシェルプロンプトで、コマンドを入力して RPM がインストールされていることをテストし、
exitと入力します。たとえば、procps-ngの場合はpsコマンドを実行します。ps exit
[jboss@c2fab36b778e ~]$ ps PID TTY TIME CMD 1 pts/0 00:00:00 bash 13 pts/0 00:00:00 ps [jboss@c2fab36b778e ~]$ exitCopy to Clipboard Copied! Toggle word wrap Toggle overflow カスタムイメージをレジストリーにプッシュするには、次のコマンドを入力します。
podman push registry_address/image_name:7.13.4 docker://registry_address/image_name:7.13.4
podman push registry_address/image_name:7.13.4 docker://registry_address/image_name:7.13.4Copy to Clipboard Copied! Toggle word wrap Toggle overflow 以下に例を示します。
podman push registry.example.com/custom/rhpam-kieserver-rhel8:7.13.4 docker://registry.example.com/custom/rhpam-kieserver-rhel8:7.13.4
podman push registry.example.com/custom/rhpam-kieserver-rhel8:7.13.4 docker://registry.example.com/custom/rhpam-kieserver-rhel8:7.13.4Copy to Clipboard Copied! Toggle word wrap Toggle overflow
次のステップ
KIE Server をデプロイする場合は、イメージ名と namespace を設定してレジストリーにカスタムイメージを指定します。Set KIE Server image をクリックして、Kind の値を DockerImage に変更してから、バージョンタグがないレジストリー名など、イメージ名を指定します。以下に例を示します。
registry.example.com/custom/rhpam-kieserver-rhel8
registry.example.com/custom/rhpam-kieserver-rhel8
Operator を使用した KIE Server のデプロイに関する詳細は、「環境のカスタム KIE Server 設定の設定」 を参照してください。
3.7.2. 追加の JAR ファイルを使用したカスタム KIE Server イメージの作成 リンクのコピーリンクがクリップボードにコピーされました!
追加の JAR ファイル (単数、複数問わず) のインストール先のカスタムの KIE Server イメージを作成してサーバーの機能を拡張できます。このイメージをカスタムレジストリーにプッシュして、KIE Server のデプロイに使用できます。
たとえば、カスタムクラス JAR を作成して、カスタムの Prometheus メトリックを KIE Server に提供できます。カスタムクラスの作成手順については、Managing and monitoring KIE Server の Extending Prometheus metrics monitoring in KIE Server with custom metrics を参照してください。
手順
KIE Server で動作するカスタムライブラリーを開発します。以下のドキュメントと例を使用して、ライブラリーを開発できます。
-
JAR ファイルが
targetディレクトリーに配置されるように Maven を使用してライブラリーをビルドします。この例では、custom-kieserver-ext-1.0.0.Final.jarのファイル名を使用します。 -
podman loginコマンドを使用してregistry.redhat.ioレジストリーの認証を行います。レジストリーの認証に関する詳細は、Red Hat コンテナーレジストリーの認証 を参照してください。 サポートされている KIE Server のベースイメージをダウンロードするには、次のコマンドを入力します。
podman pull registry.redhat.io/rhpam-7/rhpam-kieserver-rhel8:7.13.4
podman pull registry.redhat.io/rhpam-7/rhpam-kieserver-rhel8:7.13.4Copy to Clipboard Copied! Toggle word wrap Toggle overflow ベースイメージをもとにカスタムイメージを定義する
Dockerfileを作成します。このファイルは JAR ファイル (単数、複数を問わず) を/opt/eap/standalone/deployments/ROOT.war/WEB-INF/lib/ディレクトリーにコピーする必要があります。以下の例では、Dockerfileファイルの内容を示します。FROM registry.redhat.io/rhpam-7/rhpam-kieserver-rhel8:7.13.4 COPY target/custom-kieserver-ext-1.0.0.Final.jar /opt/eap/standalone/deployments/ROOT.war/WEB-INF/lib/
FROM registry.redhat.io/rhpam-7/rhpam-kieserver-rhel8:7.13.4 COPY target/custom-kieserver-ext-1.0.0.Final.jar /opt/eap/standalone/deployments/ROOT.war/WEB-INF/lib/Copy to Clipboard Copied! Toggle word wrap Toggle overflow Dockerfileを使用してカスタムイメージをビルドします。レジストリー名など、イメージの完全修飾名を指定します。ベースイメージと同じバージョンタグを使用する必要があります。イメージをビルドするには、以下のコマンドを入力します。podman build . --tag registry_address/image_name:7.13.4
podman build . --tag registry_address/image_name:7.13.4Copy to Clipboard Copied! Toggle word wrap Toggle overflow 以下に例を示します。
podman build . --tag registry.example.com/custom/rhpam-kieserver-rhel8:7.13.4
podman build . --tag registry.example.com/custom/rhpam-kieserver-rhel8:7.13.4Copy to Clipboard Copied! Toggle word wrap Toggle overflow カスタムイメージをレジストリーにプッシュするには、次のコマンドを入力します。
podman push registry_address/image_name:7.13.4 docker://registry_address/image_name:7.13.4
podman push registry_address/image_name:7.13.4 docker://registry_address/image_name:7.13.4Copy to Clipboard Copied! Toggle word wrap Toggle overflow 以下に例を示します。
podman push registry.example.com/custom/rhpam-kieserver-rhel8:7.13.4 docker://registry.example.com/custom/rhpam-kieserver-rhel8:7.13.4
podman push registry.example.com/custom/rhpam-kieserver-rhel8:7.13.4 docker://registry.example.com/custom/rhpam-kieserver-rhel8:7.13.4Copy to Clipboard Copied! Toggle word wrap Toggle overflow
次のステップ
KIE Server をデプロイする場合は、イメージ名と namespace を設定してレジストリーにカスタムイメージを指定します。Set KIE Server image をクリックして、Kind の値を DockerImage に変更してから、バージョンタグがないレジストリー名など、イメージ名を指定します。以下に例を示します。
registry.example.com/custom/rhpam-kieserver-rhel8
registry.example.com/custom/rhpam-kieserver-rhel8
Operator を使用した KIE Server のデプロイに関する詳細は、「環境のカスタム KIE Server 設定の設定」 を参照してください。