5.2. Fuse on OpenShift でのアプリケーションの作成およびデプロイ
以下の OpenShift Source-to-Image (S2I) アプリケーション開発ワークフローの 1 つを使用してアプリケーションを作成し、OpenShift にデプロイして、Fuse on OpenShift の使用を開始することができます。
- S2I バイナリーワークフロー
- ビルド入力が バイナリーソース からの S2I です。このワークフローの特徴は、ビルドの一部が開発者自身のマシンで実行されることです。このワークフローはバイナリーパッケージをローカルでビルドした後、バイナリーパッケージを OpenShift に渡します。詳細は、OpenShift Container PlatformBuildsガイドの Binary Source を参照してください。
- S2I ソースワークフロー
- ビルド入力が Git ソース からの S2I です。このワークフローの特徴は、ビルドがすべて OpenShift サーバー上でビルドされることです。詳細は、OpenShift Container PlatformBuildsガイドの Git Source を参照してください。
5.2.1. S2I バイナリーを使用したアプリケーションの作成およびデプロイ リンクのコピーリンクがクリップボードにコピーされました!
ここでは、OpenShift S2I バイナリーワークフローを使用して、Fuse on OpenShift プロジェクトを作成、ビルド、およびデプロイします。
- JDK11 を使用したクイックスタートの実行
- ランタイム時に JDK11 ベースのイメージを使用する場合は、コンパイル時に正しい JDK11 プロファイルを使用します。JDK11 を使用してクイックスタートをビルドおよびデプロイする場合は、ビルドマシンに JDK11 をインストールし、正しい JDK11 プロファイルを使用してクイックスタートをビルドするようにしてください。
手順
Maven の archetype を使用して、新しい Fuse on OpenShift プロジェクトを作成します。この例では、サンプル Spring Boot Camel プロジェクトを作成する archetype を使用します。新しいシェルプロンプトを開き、以下の Maven コマンドを入力します。
mvn org.apache.maven.plugins:maven-archetype-plugin:2.4:generate \ -DarchetypeCatalog=https://maven.repository.redhat.com/ga/io/fabric8/archetypes/archetypes-catalog/2.2.0.fuse-sb2-790047-redhat-00004/archetypes-catalog-2.2.0.fuse-sb2-790047-redhat-00004-archetype-catalog.xml \ -DarchetypeGroupId=org.jboss.fuse.fis.archetypes \ -DarchetypeArtifactId=spring-boot-camel-xml-archetype \ -DarchetypeVersion=2.2.0.fuse-sb2-790047-redhat-00004
mvn org.apache.maven.plugins:maven-archetype-plugin:2.4:generate \ -DarchetypeCatalog=https://maven.repository.redhat.com/ga/io/fabric8/archetypes/archetypes-catalog/2.2.0.fuse-sb2-790047-redhat-00004/archetypes-catalog-2.2.0.fuse-sb2-790047-redhat-00004-archetype-catalog.xml \ -DarchetypeGroupId=org.jboss.fuse.fis.archetypes \ -DarchetypeArtifactId=spring-boot-camel-xml-archetype \ -DarchetypeVersion=2.2.0.fuse-sb2-790047-redhat-00004Copy to Clipboard Copied! Toggle word wrap Toggle overflow archetype プラグインが対話モードに切り替わり、残りのフィールドの入力を要求されます。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow プロンプトが表示されたら、
org.example.fisをgroupIdの値として入力し、fuse79-spring-bootをartifactIdの値として入力します。残りのフィールドにはデフォルト値を使用します。-
前のコマンドが
BUILD SUCCESS状態で終了した場合、fuse79-spring-bootサブディレクトリー内に新しい Fuse on OpenShift プロジェクトが作成されているはずです。fuse79-spring-boot/src/main/resources/spring/camel-context.xmlファイルの XML DSL コードを確認します。デモンストレーションコードは、乱数が含まれるメッセージを継続的にログに送信する、シンプルな Camel ルートを定義します。 Fuse on OpenShift プロジェクトのビルドおよびデプロイを準備するため、以下のように OpenShift サーバーにログインします。
oc login -u developer -p developer https://OPENSHIFT_IP_ADDR:8443
oc login -u developer -p developer https://OPENSHIFT_IP_ADDR:8443Copy to Clipboard Copied! Toggle word wrap Toggle overflow IP アドレスは常に同じではないため、
OPENSHIFT_IP_ADDRは OpenShift サーバーの IP アドレスのプレースホルダーになります。この値を実際の IP アドレスに置き換えます。注記developerパスワードを持つdeveloperユーザーは、CDK による仮想 OpenShift サーバーで自動作成される標準のアカウントです。リモートサーバーにアクセスする場合は、OpenShift 管理者が提供する URL とクレデンシャルを使用します。次のように、
openshiftプロジェクトに切り替えます (まだopenshiftプロジェクトにない場合)。oc project openshift
oc project openshiftCopy to Clipboard Copied! Toggle word wrap Toggle overflow 以下のコマンドを実行し、Fuse on OpenShift イメージおよびテンプレートがすでにインストールされ、アクセス可能であることを確認します。
oc get template -n openshift
oc get template -n openshiftCopy to Clipboard Copied! Toggle word wrap Toggle overflow イメージおよびテンプレートが事前にインストールされていない場合や、提供されたバージョンが古い場合は、Fuse on OpenShift イメージおよびテンプレートを手作業でインストール (または更新) します。Fuse on OpenShift イメージのインストール方法に関する詳細は、2章管理者向けの基本情報 を参照してください。
これで、
fuse79-spring-bootプロジェクトをビルドおよびデプロイできるようになりました。OpenShift にログインしている状態で、fuse79-spring-bootプロジェクトのディレクトリーに移動し、以下のようにプロジェクトをビルドおよびデプロイします。cd fuse79-spring-boot mvn oc:deploy -Popenshift
cd fuse79-spring-boot mvn oc:deploy -PopenshiftCopy to Clipboard Copied! Toggle word wrap Toggle overflow ビルドに成功すると、以下のような出力が表示されます。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注記このコマンドを初めて実行する場合、Maven は多くの依存関係をダウンロードする必要があるため、数分かかることがあります。2 回目からはビルドが速くなります。
-
ブラウザーで OpenShift コンソールに移動し、クレデンシャル (例: ユーザー名
developerおよびパスワードdeveloper) を使用してコンソールにログインします。 -
左側のパネルで Home をデプロイメントし、Status をクリックして
openshiftプロジェクトの Project Status ページを表示します。 fuse79-spring-boot をクリックし、fuse79-spring-boot アプリケーションの概要情報ページを表示します。
- 左側のパネルで Workloads を展開します。
- Pods をクリックします。openshift プロジェクトで稼働している Pod すべてが表示されます。
Pod の Name (この例では
fuse79-spring-boot-xxxxx) をクリックし、稼働中の Pod の詳細を表示します。
Logs タブをクリックしてアプリケーションログを表示し、ログを下方向にスクロールして、Camel アプリケーションによって生成された乱数のログメッセージを見つけます。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 稼働中の Pod を終了するには以下を行います。
-
openshiftプロジェクトの Project Status ページで、fuse79-spring-boot アプリケーション をクリックします。 - Overview タブをクリックし、アプリケーションの概要情報ページを表示します。
-
Desired Count の横にある
アイコンをクリックします。Edit Count ウインドウが表示されます。
- 下矢印を使用して値をゼロにし、Pod を停止します。
-
5.2.2. プロジェクトのアンデプロイおよび再デプロイ リンクのコピーリンクがクリップボードにコピーされました!
以下のようにプロジェクトをアンデプロイまたは再デプロイできます。
手順
プロジェクトをアンデプロイするには、以下のコマンドを入力します。
mvn oc:undeploy
mvn oc:undeployCopy to Clipboard Copied! Toggle word wrap Toggle overflow プロジェクトを再デプロイするには、以下のコマンドを入力します。
mvn oc:undeploy mvn oc:deploy -Popenshift
mvn oc:undeploy mvn oc:deploy -PopenshiftCopy to Clipboard Copied! Toggle word wrap Toggle overflow
5.2.3. S2I ソースワークフローを使用したアプリケーションの作成およびデプロイ リンクのコピーリンクがクリップボードにコピーされました!
ここでは、OpenShift S2I ソースワークフローを使用して、テンプレートをベースとした Fuse on OpenShift アプリケーションをビルドおよびデプロイします。最初に、リモート Git リポジトリーに保存されたクイックスタートプロジェクトを使用します。OpenShift コンソールを使用すると、このクイックスタートプロジェクトを OpenShift サーバーでダウンロード、ビルド、およびデプロイできます。
手順
次のように、OpenShift サーバーにログインします。
oc login -u developer -p developer https://OPENSHIFT_IP_ADDR:8443
oc login -u developer -p developer https://OPENSHIFT_IP_ADDR:8443Copy to Clipboard Copied! Toggle word wrap Toggle overflow IP アドレスは常に同じではないため、
OPENSHIFT_IP_ADDRは OpenShift サーバーの IP アドレスのプレースホルダーになります。この値を実際の IP アドレスに置き換えます。注記developerパスワードを持つdeveloperユーザーは、CDK による仮想 OpenShift サーバーで自動作成される標準のアカウントです。リモートサーバーにアクセスする場合は、OpenShift 管理者が提供する URL とクレデンシャルを使用します。次のように、
openshiftプロジェクトに切り替えます (まだopenshiftプロジェクトにない場合)。oc project openshift
oc project openshiftCopy to Clipboard Copied! Toggle word wrap Toggle overflow 以下のコマンドを実行し、Fuse on OpenShift テンプレートがすでにインストールされ、アクセス可能であることを確認します。
oc get template -n openshift
oc get template -n openshiftCopy to Clipboard Copied! Toggle word wrap Toggle overflow イメージおよびテンプレートが事前にインストールされていない場合や、提供されたバージョンが古い場合は、Fuse on OpenShift イメージおよびテンプレートを手作業でインストール (または更新) します。Fuse on OpenShift イメージのインストール方法に関する詳細は、2章管理者向けの基本情報 を参照してください。
以下のコマンドを入力し、Red Hat Fuse 7.9 Camel XML DSL with Spring Boot クイックスタートテンプレートの実行に必要なリソースを作成します。これにより、クイックスタートのデプロイメント設定およびビルド設定が作成されます。クイックスタートのデフォルトパラメーターや作成されたリソースの情報はターミナルに表示されます。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - ブラウザーで https://OPENSHIFT_IP_ADDR の OpenShift Web コンソールに移動します (OPENSHIFT_IP_ADDR はクラスターの IP アドレスに置き換えます)。クレデンシャル (例: ユーザー名 developer、パスワード developer) を使用して、コンソールにログインします。
- 左側のパネルで Home をデプロイメントします。Status をクリックして Project Status ページを表示します。選択された namespace (例: openshift) の既存のアプリケーションがすべて表示されます。
s2i-fuse7-spring-boot-camel-xmlをクリックし、クイックスタートの Overview 情報ページを表示します。
Resources タブをクリックした後に View logs をクリックし、アプリケーションのビルドログを表示します。
- 左側のパネルで Workloads を展開します。
Pods をクリックした後、
s2i-fuse7-spring-boot-camel-xml-xxxxをクリックします。アプリケーションの Pod の詳細が表示されます。
稼働中の Pod を終了するには以下を行います。
-
openshiftプロジェクトの Project Status ページで、s2i-fuse7-spring-boot-camel-xml-xxxx アプリケーションをクリックします。 - Overview タブをクリックし、アプリケーションの概要情報ページを表示します。
-
Desired Count の横にある
アイコンをクリックします。Edit Count ウインドウが表示されます。
- 下矢印を使用して値をゼロにし、Pod を停止します。
-