2.4. Topology ビューを使用したアプリケーション構成の表示
Web コンソールの Developer パースペクティブにある Topology ビューは、プロジェクト内のすべてのアプリケーション、それらのビルドステータスおよびアプリケーションに関連するコンポーネントとサービスを視覚的に表示します。
前提条件
Topology ビューでアプリケーションを表示し、それらと対話するには、以下を確認します。
- Web コンソールにログインしている。
- Developer パースペクティブにいる。
- OpenShift Container Platform でアプリケーションおよび他のワークロードを作成するための適切なプロジェクト内のロールおよびパーミッションがある。
- Developer パースペクティブを使用して OpenShift Container Platform でアプリケーションを作成し、デプロイしている。
2.4.1. アプリケーションのトポロジーの表示
Developer パースペクティブの左側のナビゲーションパネルを使用すると、Topology ビューに移動できます。アプリケーションを作成したら、Topology ビューに自動的に移動します。ここでは、アプリケーション Pod のステータスの確認、パブリック URL でのアプリケーションへの迅速なアクセス、ソースコードへのアクセスとその変更、最終ビルドのステータスの確認ができます。ズームインおよびズームアウトにより、特定のアプリケーションの詳細を表示することができます。
サーバーレスアプリケーションは、Knative シンボルで視覚的に表示されます ( )。
サーバーレスアプリケーションは、Topology ビューでの読み込みおよび表示にしばらく時間がかかります。サーバーレスアプリケーションを作成すると、これは最初にサービスリソースを作成し、次にリビジョンを作成します。続いてデプロイされて Topology ビューに表示されます。これが唯一のワークロードの場合には、Add ページにリダイレクトされる可能性があります。リビジョンがデプロイされると、サーバーレスアプリケーションは Topology ビューに表示されます。
Pod のステータスまたはフェーズは、色で区別され、ツールチップで次のように表示されます。Running ( )、Not Ready ( )、Warning ( )、Failed ( )、Pending ( )、Succeeded ( )、Terminating ( )、または Unknown ( )。Pod のステータスについての詳細は、Kubernetes ドキュメント を参照してください。
アプリケーションを作成し、イメージがデプロイされると、ステータスは Pending と表示されます。アプリケーションをビルドすると、Runningと表示されます。
以下のように、異なるタイプのリソースオブジェクトのインジケーターと共に、アプリケーションリソース名が追加されます。
- DC: DeploymentConfigs
- D: Deployment
- SS: StatefulSet
- DS: Daemonset
2.4.2. アプリケーションとの対話
Web コンソールの Developer パースペクティブの Topology ビューは、アプリケーションと対話するための以下のオプションを提供します。
- Open URL ( ) をクリックして、パブリック URL のルートで公開されるアプリケーションを表示します。
Edit Source code をクリックして、ソースコードにアクセスし、これを変更します。
注記この機能は、From Git、From Catalog、および From Dockerfile オプションを使用してアプリケーションを作成する場合にのみ利用できます。
Eclipse Che Operator がクラスターにインストールされている場合、Che ワークスペース が作成され、ソースコードを編集するためにワークスペースにダイレクトされます。インストールされていない場合には、ソースコードがホストされている Git リポジトリー にダイレクトされます。
- カーソルを Pod の左下のアイコンの上に置き、最新ビルドおよびそのステータスを確認します。アプリケーションビルドのステータスは次のように表示されます。 New ( )、Pending ( )、Running ( )、Completed ( )、Failed ( )、および Canceled ( )。
2.4.3. アプリケーション Pod のスケーリングおよびビルドとルートの確認
Topology ビューは、Overview パネルでデプロイ済みのコンポーネントの詳細を提供します。Overview および Resources タブを使用して、アプリケーション Pod をスケーリングし、ビルドのステータス、サービスおよびルートについて以下のように確認できます。
コンポーネントノードをクリックし、右側の Overview パネルを確認します。Overview タブを使用して、以下を実行します。
- 上下の矢印を使用して Pod をスケーリングし、アプリケーションのインスタンス数の増減を手動で調整します。サーバーレスアプリケーションの場合、Pod は、チャネルのトラフィックに基づいてアイドルおよびスケールアップ時に自動的にゼロにスケーリングされます。
- アプリケーションの ラベル、アノテーション および ステータス を確認します。
Resources タブをクリックして、以下を実行します。
- すべての Pod の一覧を確認し、それらのステータスを表示し、ログにアクセスし、Pod をクリックして Pod の詳細を表示します。
- ビルド、ステータスを確認し、ログにアクセスし、必要に応じて新規ビルドを開始します。
- コンポーネントによって使用されるサービスとルートを確認します。
サーバーレスアプリケーションの場合、Resources タブは、そのコンポーネントに使用されるリビジョン、ルート、および設定に関する情報を提供します。
2.4.4. アプリケーション内での複数コンポーネントのグループ化
Add ページを使用して、複数のコンポーネントまたはサービスをプロジェクトに追加し、Topology ページを使用してアプリケーショングループ内のアプリケーションとリソースをグループ化できます。以下の手順では、MongoDB データベースサービスを Node.js コンポーネントを使用して既存のアプリケーションに追加します。
前提条件
- Developer パースペクティブを使用して、OpenShift Container Platform に Node.js アプリケーションを作成し、デプロイしている。
手順
以下のように MongoDB サービスを作成し、これをプロジェクトにデプロイします。
- Developer パースペクティブで、Add ビューに移動して Database オプションを選択し、Developer Catalogを確認します。ここには、アプリケーションにコンポーネントまたはサービスとして追加できる複数のオプションがあります。
- MongoDB オプションをクリックし、サービスの詳細を確認します。
- Instantiate Template をクリックして、MongoDB サービスの詳細情報を含む自動的に設定されたテンプレートを表示し、Create をクリックしてサービスを作成します。
- 左側のナビゲーションパネルで Topology をクリックし、プロジェクトにデプロイされた MongoDB サービスを表示します。
- MongoDB サービスを既存のアプリケーショングループに追加するには、mongodb Pod を選択して、これをアプリケーションにドラッグします。MongoDB サービスは既存のアプリケーショングループに追加されます。
コンポーネントをドラッグし、これをアプリケーショングループに追加すると、必要なラベルがコンポーネントに自動的に追加されます。MongoDB サービスノードをクリックし、Overview パネルの Labels セクションに追加されたラベル
app.kubernetes.io/part-of=myapp
を確認します。
または、以下のようにコンポーネントをアプリケーションに追加することもできます。
- MongoDB サービスをアプリケーションに追加するには、mongodb Pod をクリックし、右側の Overview パネルを確認します。
- パネルの右上にある Actions ドロップダウンメニューをクリックし、Edit Application Grouping を選択します。
- Edit Application Grouping ダイアログボックスで、Select an Application ドロップダウンリストをクリックし、適切なアプリケーショングループを選択します。
- Save をクリックし、アプリケーショングループに追加された MongoDB サービスを表示します。
2.4.5. アプリケーション内および複数のアプリケーション間でのコンポーネントの接続
アプリケーション内で複数のコンポーネントをグループ化することに加え、Topology ビューを使用してコンポーネントを相互に接続することもできます。MongoDB サービスは、以下のように Node.js アプリケーションを使用して接続できます。
前提条件
- Developer パースペクティブを使用して、OpenShift Container Platform に Node.js アプリケーションを作成し、デプロイしている。
- Developer パースペクティブを使用して、OpenShift Container Platform に MongoDB サービスを作成し、デプロイしている。
手順
カーソルを MongoDB サービスの上に置き、ノードの矢印を確認します。
- 矢印をクリックして Node.js コンポーネントの方にドラッグし、 MongoDB サービスをこれに接続します。
MongoDB サービスをクリックし、Overview パネルを表示します。Annotations セクションで、編集 アイコンをクリックして Key =
app.openshift.io/connects-to
および Value =nodejs-ex
アノテーションがサービスに追加されていることを確認します。他のアプリケーションやコンポーネントを同様に作成し、それらの間の接続を確立することができます。
2.4.6. Topology ビューに使用するラベルとアノテーション
Topology ビューは、以下のラベルおよびアノテーションを使用します。
- ノードに表示されるアイコン
-
ノードのアイコンは、最初に
app.openshift.io/runtime
ラベルを使用してからapp.kubernetes.io/name
ラベルを使用して一致するアイコンを検索して定義されます。このマッチングは、事前定義されたアイコンセットを使用して行われます。 - ソースコードエディターまたはソースへのリンク
-
app.openshift.io/vcs-uri
アノテーションは、ソースコードエディターへのリンクを作成するために使用されます。 - ノードコネクター
-
app.openshift.io/connects-to
アノテーションは、ノードに接続するために使用されます。 - アプリケーションのグループ化
-
app.kubernetes.io/part-of=<appname>
ラベルは、アプリケーション、サービス、およびコンポーネントをグループ化するために使用されます。
OpenShift Container Platform アプリケーションで使用する必要のあるラベルとアノテーションの詳細については、「Guidelines for labels and annotations for OpenShift applications」を参照してください。