2.6.3. バックエンドコンポーネントのデプロイ
Java コンポーネントを作成するには、Java ビルダーイメージをインポートし、Java アプリケーションをダウンロードし、odo
でソースコードをクラスターにプッシュします。
手順
openjdk18
をクラスターにインポートします。$ oc import-image openjdk18 \ --from=registry.access.redhat.com/redhat-openjdk-18/openjdk18-openshift --confirm
イメージに
builder
のタグを付け、イメージが odo でアクセスできるようにします。$ oc annotate istag/openjdk18:latest tags=builder
odo catalog list components
を実行し、作成されたイメージを表示します。$ odo catalog list components Odo Supported OpenShift Components: NAME PROJECT TAGS nodejs openshift 10,8,8-RHOAR,latest openjdk18 myproject latest
コンポーネントのディレクトリーを作成します。
$ mkdir my_components $$ cd my_components
バックエンドアプリケーションのサンプルをダウンロードします。
$ git clone https://github.com/openshift-evangelists/Wild-West-Backend backend
ディレクトリーをバックエンドソースディレクトリーに切り替え、そのディレクトリーに正しいファイルが含まれることを確認します。
$ cd backend $ ls debug.sh pom.xml src
バックエンドのソースファイルを Maven でビルドし、JAR ファイルを作成します。
$ mvn package ... [INFO] -------------------------------------- [INFO] BUILD SUCCESS [INFO] -------------------------------------- [INFO] Total time: 2.635 s [INFO] Finished at: 2019-09-30T16:11:11-04:00 [INFO] Final Memory: 30M/91M [INFO] --------------------------------------
backend
という Java コンポーネントタイプのコンポーネント設定を作成します。$ odo create openjdk18 backend --binary target/wildwest-1.0.jar ✓ Validating component [1ms] Please use `odo push` command to create the component with source deployed
設定ファイルの
config.yaml
は、デプロイ用のコンポーネントについての情報が含まれるバックエンドコンポーネントのローカルディレクトリーに置かれます。以下を使用して
config.yaml
ファイルでバックエンドコンポーネントの設定内容を確認します。$ odo config view COMPONENT SETTINGS ------------------------------------------------ PARAMETER CURRENT_VALUE Type openjdk18 Application app Project myproject SourceType binary Ref SourceLocation target/wildwest-1.0.jar Ports 8080/TCP,8443/TCP,8778/TCP Name backend MinMemory MaxMemory DebugPort Ignore MinCPU MaxCPU
コンポーネントを OpenShift Container Platform クラスターにプッシュします。
$ odo push Validation ✓ Checking component [6ms] Configuration changes ✓ Initializing component ✓ Creating component [124ms] Pushing to component backend of type binary ✓ Checking files for pushing [1ms] ✓ Waiting for component to start [48s] ✓ Syncing files to the component [811ms] ✓ Building component [3s]
odo push
を使用すると、OpenShift Container Platform はバックエンドコンポーネントをホストするためのコンテナーを作成し、そのコンテナーを OpenShift Container Platform クラスターで実行されている Pod にデプロイし、backend
コンポーネントを起動します。以下を検証します。
odo でのアクションのステータス
odo log -f 2019-09-30 20:14:19.738 INFO 444 --- [ main] c.o.wildwest.WildWestApplication : Starting WildWestApplication v1.0 onbackend-app-1-9tnhc with PID 444 (/deployments/wildwest-1.0.jar started by jboss in /deployments)
バックエンドコンポーネントのステータス
$ odo list APP NAME TYPE SOURCE STATE app backend openjdk18 file://target/wildwest-1.0.jar Pushed