サンプルアプリケーションのデプロイ
演習の概要
このモジュールでは、Node.jsのサンプルアプリケーションのデプロイを実行します。
プロジェクトの作成
アプリケーションの作成場所となる「プロジェクト」を、「新規プロジェクトを作成します」をクリックして作成します。この例では、「test-project20」を入力しています。1つのOpenShiftクラスター内に、同じ名前を持つプロジェクトを複数作成できませんので、プロジェクト名は適宜変更してください。


サンプルアプリケーションの作成
プロジェクトの作成が完了したら、「+追加」からサンプルアプリケーションを作成します。「すべてのサービス」を選択して、ビルダーイメージの「Node.js」を選択します。


「作成」を選択して、「サンプルを試す」をクリックしてアプリケーションのビルドに利用するGitリポジトリーのURLを指定します。最後に「作成」をクリックします。入力パラメータは全てデフォルトのままにします。
このソースコード作成方法については、 Node.js アプリケーションの開発およびデプロイを参考にしてください。 |


「作成」がクリックできない状態の場合、アプリケーションの「名前」の テキストフィールドに任意の名前を入力してください。

Node.jsのサンプルアプリのデプロイが完了すると、「トポロジー」メニューからデプロイしたアプリのトポロジーや情報を確認できます。トポロジーにある、Node.jsアイコンの右上部にある「矢印」アイコンをクリックすると、デプロイしたNode.jsアプリにアクセスできます。

このアプリケーションに付けられる「名前」は、OpenShift上で作成されるリソースに付けられるラベルとして扱われます。 この例だと「nodejs-ex-git-app」という名前が付けられており、関連するリソースに「app=nodejs-ex-git」というラベル(上記画像の青四角部分)が付けられていることを確認できます。
アプリケーションの外部アクセス用のURLについては自動作成されますが、
サンプルアプリケーション作成画面に表示される「詳細なルーティングオプションの表示」から任意の名前も指定できます。
OpenShiftクラスターで利用されるドメイン名(OpenShiftクラスターのコンソールのURLから確認できる apps.XXXXX.openshiftapps.com
)を末尾に付けたホスト名を指定することで、
アプリケーション開発時のコンソールテストに利用できます。
次の例では、nodejs001-project20.apps.rosa.hcp-01.n7b6.p3.openshiftapps.com
というホスト名から、
サンプルアプリケーションにアクセスできるように指定しています。

サンプルアプリケーションの削除
アプリケーションの削除(特定のラベルが付けられた全リソースの一括削除)は、「アプリケーションの削除」から実施できます。

OpenShift ver.4.16系までは次のバグがありましたが、ver.4.17以降では修正されています。
ローカルユーザーの権限ではコンソールから削除できないというバグがあります。 そのため、作成したアプリケーションを削除したい場合、次のいずれかの方法を実行します。
-
OpenShiftクラスターの管理者アカウントで再ログインして、対象のアプリケーションを削除
-
Web Terminalの利用で扱うOpenShift Web Terminalの端末から、OpenShiftのCLIであるocコマンドを実行
$ oc delete all -l app=nodejs-ex-git
$ oc delete secrets -l app=nodejs-ex-git
OpenShiftは、 Source-to-Image (S2I) という機能を標準で備えています。これは、OpenShiftにある専用のコンテナビルダーイメージを利用して、アプリケーションのソースコードからのイメージビルドとコンテナ起動を実行する機能です。

ビルダーイメージには、最低限、バイナリファイル作成のスクリプト(assemble)と、コンテナ起動時に実行されるスクリプト(run)が含まれます。OpenShift標準のビルダーイメージの他に、ユーザーが作成したカスタムイメージも利用できます。
これらのS2I用スクリプトのイメージが下記となります。S2I用スクリプトは、ビルダーイメージ内で実行可能なスクリプトである必要があります。
