4.2. Fuse on OpenShift でのアプリケーションの作成およびデプロイ
以下の OpenShift Source-to-Image (S2I) アプリケーション開発ワークフローの 1 つを使用してアプリケーションを作成し、OpenShift にデプロイして、Fuse on OpenShift の使用を開始することができます。
- S2I バイナリーワークフロー
- ビルド入力が バイナリーソース からの S2I です。このワークフローの特徴は、ビルドの一部が開発者自身のマシンで実行されることです。このワークフローはバイナリーパッケージをローカルでビルドした後、バイナリーパッケージを OpenShift に渡します。詳細は、OpenShift 3.5 開発者ガイド の バイナリーソース を参照してください。
- S2I ソースワークフロー
- ビルド入力が Git ソース からの S2I です。このワークフローの特徴は、ビルドがすべて OpenShift サーバー上でビルドされることです。詳細は、OpenShift 3.5 開発者ガイド の Git ソース を参照してください。
4.2.1. S2I バイナリーを使用したアプリケーションの作成およびデプロイ リンクのコピーリンクがクリップボードにコピーされました!
ここでは、OpenShift S2I バイナリーワークフローを使用して、Fuse on OpenShift プロジェクトを作成、ビルド、およびデプロイします。
手順
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-760024-redhat-00001/archetypes-catalog-2.2.0.fuse-760024-redhat-00001-archetype-catalog.xml \ -DarchetypeGroupId=org.jboss.fuse.fis.archetypes \ -DarchetypeArtifactId=spring-boot-camel-xml-archetype \ -DarchetypeVersion=2.2.0.fuse-760024-redhat-00001
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-760024-redhat-00001/archetypes-catalog-2.2.0.fuse-760024-redhat-00001-archetype-catalog.xml \ -DarchetypeGroupId=org.jboss.fuse.fis.archetypes \ -DarchetypeArtifactId=spring-boot-camel-xml-archetype \ -DarchetypeVersion=2.2.0.fuse-760024-redhat-00001
Copy to Clipboard Copied! Toggle word wrap Toggle overflow archetype プラグインが対話モードに切り替わり、残りのフィールドの入力を要求されます。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow プロンプトが表示されたら、
org.example.fis
をgroupId
の値として入力し、fuse76-spring-boot
をartifactId
の値として入力します。残りのフィールドではデフォルト値を使用します。-
前のコマンドが
BUILD SUCCESS
状態で終了した場合、fuse76-spring-boot
サブディレクトリー内に新しい Fuse on OpenShift プロジェクトが作成されているはずです。fuse76-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:8443
Copy 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 openshift
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 以下のコマンドを実行し、Fuse on OpenShift イメージおよびテンプレートがすでにインストールされ、アクセス可能であることを確認します。
oc get template -n openshift
oc get template -n openshift
Copy to Clipboard Copied! Toggle word wrap Toggle overflow イメージおよびテンプレートが事前にインストールされていない場合や、提供されたバージョンが古い場合は、Fuse on OpenShift イメージおよびテンプレートを手作業でインストール (または更新) します。Fuse on OpenShift イメージのインストール方法に関する詳細は、2章管理者向けの基本情報 を参照してください。
これで、
fuse76-spring-boot
プロジェクトをビルドおよびデプロイできるようになりました。OpenShift にログインしている状態で、fuse76-spring-boot
プロジェクトのディレクトリーに移動し、以下のようにプロジェクトをビルドおよびデプロイします。cd fuse76-spring-boot mvn fabric8:deploy -Popenshift
cd fuse76-spring-boot mvn fabric8:deploy -Popenshift
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ビルドに成功すると、以下のような出力が表示されます。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注記このコマンドを初めて実行する場合、Maven は多くの依存関係をダウンロードする必要があるため、数分かかることがあります。2 回目からはビルドが速くなります。
-
ブラウザーで OpenShift コンソールに移動し、クレデンシャル (例: ユーザー名
developer
およびパスワードdeveloper
) を使用してコンソールにログインします。 -
左側のパネルで Home をデプロイメントします。Projects をクリックしてから、プロジェクトダッシュボードに表示する
openshift
プロジェクトを選択します。 fuse76-spring-boot
をクリックし、fuse76-spring-boot
アプリケーションの概要情報ページを表示します。- 左側のパネルで Workloads を展開します。
- Pods をクリックします。openshift プロジェクトで稼働している Pod すべてが表示されます。
Pod の Name (この例では
fuse76-spring-boot-xxxxx
) をクリックし、稼働中の Pod の詳細を表示します。Logs タブをクリックしてアプリケーションログを表示し、ログを下方向にスクロールして、Camel アプリケーションによって生成された乱数のログメッセージを見つけます。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 稼働中の Pod を終了するには以下を行います。
-
openshift
プロジェクトの Project Status ページで、Workloads タブをクリックしてから、fuse76-spring-boot アプリケーションをクリックします。 - Overview タブをクリックし、アプリケーションの概要情報ページを表示します。
-
Pod アイコンの隣にある下矢印
をクリックし、値をゼロにして Pod を停止します。
-
4.2.2. プロジェクトのアンデプロイおよび再デプロイ リンクのコピーリンクがクリップボードにコピーされました!
以下のようにプロジェクトをアンデプロイまたは再デプロイできます。
手順
プロジェクトをアンデプロイするには、以下のコマンドを入力します。
mvn fabric8:undeploy
mvn fabric8:undeploy
Copy to Clipboard Copied! Toggle word wrap Toggle overflow プロジェクトを再デプロイするには、以下のコマンドを入力します。
mvn fabric8:undeploy mvn fabric8:deploy -Popenshift
mvn fabric8:undeploy mvn fabric8:deploy -Popenshift
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
4.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:8443
Copy 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 openshift
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 以下のコマンドを実行し、Fuse on OpenShift テンプレートがすでにインストールされ、アクセス可能であることを確認します。
oc get template -n openshift
oc get template -n openshift
Copy to Clipboard Copied! Toggle word wrap Toggle overflow イメージおよびテンプレートが事前にインストールされていない場合や、提供されたバージョンが古い場合は、Fuse on OpenShift イメージおよびテンプレートを手作業でインストール (または更新) します。Fuse on OpenShift イメージのインストール方法に関する詳細は、2章管理者向けの基本情報 を参照してください。
以下のコマンドを入力し、Red Hat Fuse 7.6 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 をデプロイメントします。Projects をクリックしてから、プロジェクトダッシュボードに表示する
openshift
プロジェクトを選択します。 - Workloads タブをクリックします。選択された namespace (例: openshift) の既存のアプリケーションがすべて表示されます。
s2i-fuse76-spring-boot-camel-xml
をクリックし、クイックスタートの Overview 情報ページを表示します。Resources タブをクリックした後に View logs をクリックし、アプリケーションのビルドログを表示します。
- 左側のパネルで Workloads を展開します。
Pods をクリックした後、
s2i-fuse76-spring-boot-camel-xml-xxxx
をクリックします。アプリケーションの Pod の詳細が表示されます。稼働中の Pod を終了するには以下を行います。
-
openshift
プロジェクトの Project Details ページで、Workloads タブをクリックしてから s2i-fuse76-spring-boot-camel-xml-xxxx アプリケーションをクリックします。 - Overview タブをクリックし、アプリケーションの概要情報ページを表示します。
-
Pod アイコンの隣にある下矢印
をクリックし、値をゼロにして Pod を停止します。
- 下矢印を使用して値をゼロにし、Pod を停止します。
-