Menu Close
Settings Close

Language and Page Formatting Options

2.4. Topology ビューを使用したアプリケーション構成の表示

Web コンソールの Developer パースペクティブにある Topology ビューは、プロジェクト内のすべてのアプリケーション、それらのビルドステータスおよびアプリケーションに関連するコンポーネントとサービスを視覚的に表示します。

2.4.1. 前提条件

Topology ビューでアプリケーションを表示し、それらと対話するには、以下を確認します。

2.4.2. アプリケーションのトポロジーの表示

Developer パースペクティブの左側のナビゲーションパネルを使用すると、Topology ビューに移動できます。アプリケーションを作成したら、Topology ビューに自動的に移動します。ここでは、アプリケーション Pod のステータスの確認、パブリック URL でのアプリケーションへの迅速なアクセス、ソースコードへのアクセスとその変更、最終ビルドのステータスの確認ができます。ズームインおよびズームアウトにより、特定のアプリケーションの詳細を表示することができます。

サーバーレスアプリケーションは、Knative シンボルで視覚的に表示されます ( odc serverless app )。

注記

サーバーレスアプリケーションでは、Topology ビューでの読み込みおよび表示にしばらく時間がかかります。サーバーレスアプリケーションを作成すると、これは最初にサービスリソースを作成し、次にリビジョンを作成します。続いてデプロイされて Topology ビューに表示されます。これが唯一のワークロードの場合には、Add ページにリダイレクトされる可能性があります。リビジョンがデプロイされると、サーバーレスアプリケーションは Topology ビューに表示されます。

Pod のステータスまたはフェーズは、異なる色やツールヒントで表示されます。例: Running ( odc pod running )、Not Ready ( odc pod not ready )、Warning( odc pod warning )、Failed( odc pod failed )、Pending( odc pod pending )、Succeeded( odc pod succeeded )、Terminating( odc pod terminating )、または Unknown( odc pod unknown )。Pod のステータスについての詳細は、Kubernetes ドキュメント を参照してください。

アプリケーションを作成し、イメージがデプロイされると、ステータスは Pending と表示されます。アプリケーションをビルドすると、Runningと表示されます。

Application Topology

以下のように、異なるタイプのリソースオブジェクトのインジケーターと共に、アプリケーションリソース名が追加されます。

  • DC: DeploymentConfigs
  • D: Deployment
  • SS: StatefulSet
  • DS: Daemonset

2.4.3. アプリケーションおよびコンポーネントとの対話

Web コンソールの Developer パースペクティブの Topology ビューは、アプリケーションおよびコンポーネントと対話するための以下のオプションを提供します。

  • Open URL ( odc open url ) をクリックして、パブリック URL のルートで公開されるアプリケーションを表示します。
  • Edit Source code をクリックして、ソースコードにアクセスし、これを変更します。

    注記

    この機能は、From GitFrom Catalog、および From Dockerfile オプションを使用してアプリケーションを作成する場合にのみ利用できます。

    Eclipse Che Operator がクラスターにインストールされている場合、Che ワークスペース( odc che workspace )が作成され、ソースコードを編集するためにワークスペースが表示されます。インストールされていない場合は、ソースコードがホストされている Git リポジトリー( odc git repository ) が表示されます。

  • カーソルを Pod の左下のアイコンの上に置き、最新ビルドおよびそのステータスを確認します。アプリケーションビルドのステータスは、New ( odc build new )、Pending ()、Running ( odc build pending )、Completed ( odc build running )、Failed ( odc build completed )、および Canceled ( odc build failed odc build canceled )と表示されます。
  • 画面右上に一覧表示される Shortcuts メニューを使用して、Topology ビューのコンポーネントを参照します。
  • List View アイコンを使用してすべてのアプリケーションの一覧を表示し、Topology View アイコンを使用して Topology ビューに切り替えます。

2.4.4. アプリケーション Pod のスケーリングおよびビルドとルートの確認

Topology ビューは、Overview パネルでデプロイ済みのコンポーネントの詳細を提供します。Overview および Resources タブを使用して、アプリケーション Pod をスケーリングし、ビルドのステータス、サービスおよびルートについて以下のように確認できます。

  • コンポーネントノードをクリックし、右側の Overview パネルを確認します。Overview タブを使用して、以下を実行します。

    • 上下の矢印を使用して Pod をスケーリングし、アプリケーションのインスタンス数の増減を手動で調整します。サーバーレスアプリケーションの場合、Pod は、チャネルのトラフィックに基づいてアイドルおよびスケールアップ時に自動的にゼロにスケーリングされます。
    • アプリケーションの ラベルアノテーション および ステータス を確認します。
  • Resources タブをクリックして、以下を実行します。

    • すべての Pod の一覧を確認し、それらのステータスを表示し、ログにアクセスし、Pod をクリックして Pod の詳細を表示します。
    • ビルド、ステータスを確認し、ログにアクセスし、必要に応じて新規ビルドを開始します。
    • コンポーネントによって使用されるサービスとルートを確認します。

    サーバーレスアプリケーションの場合、Resources タブは、そのコンポーネントに使用されるリビジョン、ルート、および設定に関する情報を提供します。

2.4.5. アプリケーション内での複数コンポーネントのグループ化

Add ページを使用して、複数のコンポーネントまたはサービスをプロジェクトに追加し、Topology ページを使用してアプリケーショングループ内のアプリケーションとリソースをグループ化できます。以下の手順では、MongoDB データベースサービスを Node.js コンポーネントを使用して既存のアプリケーションに追加します。

前提条件

  • Developer パースペクティブを使用して、OpenShift Container Platform に Node.js アプリケーションを作成し、デプロイしている。

手順

  1. 以下のように MongoDB サービスを作成し、これをプロジェクトにデプロイします。

    1. Developer パースペクティブで、Add ビューに移動して Database オプションを選択し、Developer Catalogを確認します。ここには、アプリケーションにコンポーネントまたはサービスとして追加できる複数のオプションがあります。
    2. MongoDB オプションをクリックし、サービスの詳細を確認します。
    3. Instantiate Template をクリックして、MongoDB サービスの詳細情報を含む自動的に設定されたテンプレートを表示し、Create をクリックしてサービスを作成します。
  2. 左側のナビゲーションパネルで Topology をクリックし、プロジェクトにデプロイされた MongoDB サービスを表示します。
  3. MongoDB サービスを既存のアプリケーショングループに追加するには、mongodb Pod を選択して、これをアプリケーションにドラッグします。MongoDB サービスは既存のアプリケーショングループに追加されます。
  4. コンポーネントをドラッグし、これをアプリケーショングループに追加すると、必要なラベルがコンポーネントに自動的に追加されます。MongoDB サービスノードをクリックし、Overview パネルの Labels セクションに追加されたラベル app.kubernetes.io/part-of=myapp を確認します。

    Application Grouping

または、以下のようにコンポーネントをアプリケーションに追加することもできます。

  1. MongoDB サービスをアプリケーションに追加するには、mongodb Pod をクリックし、右側の Overview パネルを確認します。
  2. パネルの右上にある Actions ドロップダウンメニューをクリックし、Edit Application Grouping を選択します。
  3. Edit Application Grouping ダイアログボックスで、Select an Application ドロップダウンリストをクリックし、適切なアプリケーショングループを選択します。
  4. Save をクリックし、アプリケーショングループに追加された MongoDB サービスを表示します。

アプリケーショングループからコンポーネントを削除するには、コンポーネントを選択し、Shift+ ドラッグでこれをアプリケーショングループからドラッグします。

2.4.6. アプリケーション内および複数のアプリケーション間でのコンポーネントの接続

アプリケーション内で複数のコンポーネントをグループ化することに加え、Topology ビューを使用してコンポーネントを相互に接続することもできます。バインディングコネクターまたはビジュアルコネクターのいずれかを使用してコンポーネントを接続できます。

コンポーネント間のバインディング接続は、ターゲットノードが Operator がサポートするサービスである場合にのみ確立できます。これは、矢印をこのようなターゲットノードにドラッグする際に表示される Create a binding connector ツールチップによって示されます。アプリケーションがバインディングコネクターを使用してサービスに接続されると、ServiceBindingRequest が作成されます。その後、サービスバインディング Operator コントローラーは中間の Secret を使用して、必要なバインディングデータを環境変数としてアプリケーション Deployment に挿入します。要求が正常に行われると、アプリケーションが再デプロイされ、接続されたコンポーネント間の対話が確立されます。

ビジュアルコネクターは、接続先となるコンポーネント間の視覚的な接続のみを表示します。コンポーネント間の対話は確立されません。ターゲットノードが Operator がサポートするサービスではない場合、Create a visual connector ツールチップは矢印をターゲットノードにドラッグすると表示されます。

2.4.6.1. コンポーネント間のビジュアル接続の作成

ビジュアルコネクターを使用してアプリケーションコンポーネントに接続する意図を示すことができます。

この手順では、MongoDB サービスと Node.js アプリケーション間のビジュアル接続の作成例を説明します。

前提条件

  • Developer パースペクティブを使用して Node.js アプリケーションを作成し、デプロイしている。
  • Developer パースペクティブを使用して MongoDB サービスを作成し、デプロイしている。

手順

  1. カーソルを MongoDB サービスの上に置き、ノードの矢印を確認します。

    Connector
  2. 矢印をクリックして Node.js コンポーネントの方にドラッグし、 MongoDB サービスをこれに接続します。
  3. MongoDB サービスをクリックし、Overview パネルを表示します。Annotations セクションで、編集 アイコンをクリックして Key = app.openshift.io/connects-to および Value = nodejs-ex アノテーションがサービスに追加されていることを確認します。

    Annotation

    他のアプリケーションやコンポーネントを同様に作成し、それらの間の接続を確立することができます。

    Connecting Multiple Applications

2.4.6.2. コンポーネント間のバインディング接続の作成

重要

サービスバインディングはテクノロジープレビュー機能としてのみご利用いただけます。テクノロジープレビュー機能は Red Hat の実稼働環境でのサービスレベルアグリーメント (SLA) ではサポートされていないため、Red Hat では実稼働環境での使用を推奨していません。Red Hat は実稼働環境でこれらを使用することを推奨していません。これらの機能は、近々発表予定の製品機能をリリースに先駆けてご提供することにより、お客様は機能性をテストし、開発プロセス中にフィードバックをお寄せいただくことができます。

Red Hat のテクノロジープレビュー機能のサポート範囲についての詳細は、https://access.redhat.com/ja/support/offerings/techpreview/ を参照してください。

注記

現時点で、etcd などのいくつかの特定の Operator や PostgresSQL Database Operator のサービスインスタンスのみがバインド可能です。

Operator がサポートするコンポーネントとのバインディング接続を確立できます。

この手順では、PostgreSQL データベースサービスと Node.js アプリケーション間のバインディング接続の作成例を説明します。PostgreSQL Database Operator がサポートするサービスでバインディング接続を作成するには、まずサポートする OperatorSource を使用して Red Hat が提供する PostgreSQL データベース Operator を OperatorHub に追加し、Operator をインストールする必要があります。

前提条件

  • Developer パースペクティブを使用して Node.js アプリケーションを作成し、デプロイしている。
  • OperatorHub から Service Binding Operator をインストールしている。

手順

  1. Red Hat が提供する PostgresSQL Operator を OperatorHub に追加するサポートする OperatorSource を作成します。サポートする OperatorSource は、シークレット、ConfigMap、ステータス、および仕様属性のバインディング情報を公開します。

    1. Add ビューで、YAML オプションをクリックし、 Import YAML 画面を表示します。
    2. 以下の YAML ファイルを追加して OperatorSource を適用します。

      apiVersion: operators.coreos.com/v1
      kind: OperatorSource
      metadata:
       name: db-operators
       namespace: openshift-marketplace
      spec:
       type: appregistry
       endpoint: https://quay.io/cnr
       registryNamespace: pmacik
    3. Create をクリックして、OperatorSource をクラスターに作成します。
  2. Red Hat が提供する PostgreSQL データベース Operator をインストールします。

    1. コンソールの Administrator パースペクティブで、Operators → OperatorHub に移動します。
    2. Database カテゴリーで、PostgreSQL Database Operator を選択して、これをインストールします。
  3. アプリケーションのデータベース (DB) インスタンスを作成します。

    1. Developer パースペクティブに切り替え、適切なプロジェクトにいることを確認します。
    2. Add ビューで、YAML オプションをクリックし、 Import YAML 画面を表示します。
    3. エディターでサービスインスタンスの YAML を追加し、Create をクリックしてサービスをデプロイします。以下は、サービス YAML のサンプルです。

      apiVersion: postgresql.baiju.dev/v1alpha1
      kind: Database
      metadata:
       name: db-demo
       namespace: test-project
      spec:
       image: docker.io/postgres
       imageName: postgres
       dbName: db-demo

      DB インスタンスが Topology ビューにデプロイされます。

  4. Topology ビューで Node.js コンポーネントにマウスを合わせて、ノードの矢印を確認します。
  5. 矢印をクリックし、db-demo-postgresql サービスにドラッグし、Node.js アプリケーションとのバインディング接続を確立します。ServiceBindingRequest が作成され、Service Binding Operator コントローラーは DB 接続情報を環境変数としてアプリケーション Deployment に挿入します。要求が正常に行われると、アプリケーションが再デプロイされ、接続が確立されます。

    バインディングコネクター

2.4.7. 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」を参照してください。